# \[How\] can one add external CalDAV sources to the Tasks application?

**URL:** <https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881>\
**Category:** ℹ️ Support\
**Tags:** tasks, tasks-app, cloudflare, nc31\
**Created:** [October 28, 2025, 6:31pm UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881 "2025-10-28T18:31:18Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![rokejulianlockhart](https://help.nextcloud.com/user_avatar/help.nextcloud.com/rokejulianlockhart/32/77112_2.png) [@rokejulianlockhart](https://help.nextcloud.com/u/rokejulianlockhart)\
**Post date:** [October 28, 2025, 6:31pm UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/1 "2025-10-28T18:31:18Z")

</div>

#### The basics

1. 

> Nextcloud Server version?

`31.0.10.2` \[1\]

2. 

> Operating system and version?

Better yet, `rpm -qi firefox` returns:

> ```YAML
> Version : 144.0
> Release : 3.fc42
> 
> ```

3. 

> Reverse proxy and version?

⪆ `nginx/1.18.0`

4. 

> Installation method?

I utilise a provider: `wim.nl.tab.digital`.

5. 

> Are you using CloudFlare, `mod_security`, or similar?

Not that I see, but I do not know.

#### Summary of the issue you are facing

I don’t see any way to add an external CalDAV source to enumerate tasks from, like one can in the #calendar-app. I want to in order to diagnose:

> <https://github.com/tasks/tasks/issues/3952#issue-3562709063>
>
> \#### How To Reproduce
> 
> 1. Create credentials at \[\`app.vikunja.cloud/user/setting…s/caldav\`\](https://app.vikunja.cloud/user/settings/caldav#app:~:text=API%20Tokens-,CalDAV,-You%20can%20connect).
> 
> 1. Add a CalDAV account in \`org.tasks\`: \[^5\]
> 
> \[^5\]: \[\`community.vikunja.io/t/4139\`\](https://community.vikunja.io/t/expected-207-multi-status-got-200-appears-when-one-attempts-to-create-a-list-in-a-vikunja-caldav-account-via-an-external-client/4139?u=rokejulianlockhart)
> 
> 1. Enter the generated token as the password.
> 
> 1. Enter the username as the username.
> 
> 1.	Enter the URI, including the appended username, as the URI.
> 
> 1.	Save.
> 
> 1.	Attempt to create a new list in \`org.tasks\`' GUI.
> 
> \#### The problem
> 
> A toast renders, \[^1\] which states: \[^4\]
> 
> \[^4\]: \[\`linux.codidact.com/posts/294865/history#3\`\](https://linux.codidact.com/posts/294865/history#3:~:text=Similarly%2C%20acquiring%20diagnostic%20data%20for%20situations%20like%20%5B%60github.com/tasks/tasks/issues/3952%60%5D(https://github.com/tasks/tasks/issues/3952%23issue%2D3562709063)'s%20would%20be%20easier%2C%20because%20%60dumpsys%60%20doesn't%20include%20toast%20information%2C%20due%20to%20its%20ephemerality)
> 
> \<p\>\</p\>
> 
> \<img width="1067" height="727" alt="Image" src="https://github.com/user-attachments/assets/03818e5b-4e00-4819-8d88-32b68cfa7a48" /\>
> 
> \<p\>\</p\>
> 
> \[^1\]: \[\`stackoverflow.com/review/suggested-edits/37030014\`\](https://stackoverflow.com/review/suggested-edits/37030014#:~:text=It's%20called-,%5Ba%20'Toast'%5D(https://developer.android.com/guide/topics/ui/notifiers/toasts),-%2C%20and%20you)
> 
> \#### Conducted Diagnosis
> 
> \[\`user-attachments/files/23195944/logs.zip\`\](https://github.com/user-attachments/files/23195944/logs.zip) contains the logs: \[^6\]
> 
> \<blockquote\>
> 
> ~~~YAML
> \----------
> Tasks: 14.8.3 (generic build 140818)
> Android: 15 (FP5.VT2E.C.059.20250908)
> Locale: en\_GB\_#u-fw-mon-mu-celsius
> Model: Fairphone FP5
> Product: FP5 (FP5)
> Kernel: 5.4.274-qgki-g67a8c76d3b27 (VT2E)
> \----------
> notifications: true
> reminders: true
> background location: false
> foreground location: true
> calendar: true
> \----------
> dont keep activities: null
> \----------
> ~~~
> 
> \</blockquote\>
> 
> \[^6\]: \[\`element-hq/element-x-android/issues/5623#issue-3562986558\`\](https://github.com/element-hq/element-x-android/issues/5623#issue-3562986558)
> 
> I have uploaded a \`.PCAP\`of it reproducing, filtered to \`org.tasks\`, \[^3\] at \[\`drive.google.com/drive/folders/1w0SNJsyi3q\_\_h1-5U5SLmmGT\_Tq40E3d\`\](https://drive.google.com/drive/folders/1w0SNJsyi3q\_\_h1-5U5SLmmGT\_Tq40E3d?usp=drive\_link). You shall need to notify me if you desire access to it. \[^2\]
> 
> \[^2\]: \[\`bitfireAT/davx5-ose/discussions/1771\`\](https://github.com/bitfireAT/davx5-ose/discussions/1771#discussion-9055619)
> 
> \[^3\]: \[\`android.stackexchange.com/posts/247052/timeline#comment\_356763\`\](https://android.stackexchange.com/posts/247052/timeline#comment\_356763:~:text=in%20the%20PCAPdroid%20main%20screen%2C%20tap%20on%20the%20%22Target%20apps%22%20toggle%2C%20then%20you%20can%20select%20the%20specific%20apps%20to%20monitor)
> 
> \#### My Environment
> 
> 1.	#### Involved Applications
> 
> -	\`go-vikunja/vikunja\` \`v1.0.0-rc2\` \[^7\]
> 
> \[^7\]: \[\`community.vikunja.io/t/4148/2\`\](https://community.vikunja.io/t/how-can-a-user-ascertain-what-version-is-in-use/4148/2?u=rokejulianlockhart)
> 
> -	\<blockquote\>
> 
> ~~~ini
> sourcePackage=org.tasks
> versionName=14.8.3
> versionCode=140818
> ~~~
> 
> \</blockquote\>
> 	
> -	\<blockquote\>
> 	
> ~~~ini
> sourcePackage=at.bitfire.davdroid
> versionName=4.5.4-ose
> versionCode=405040005
> ~~~
> 
> \</blockquote\>
> 
> However, the account was added via \`org.tasks\`' GUI.
> 
> 1.	#### The OS
> 
> \<blockquote\>
> 
> ~~~YAML
> \[ro.build.version.release\]: \[15\]
> \[ro.build.display.id\]: \[FP5.VT2E.C.059.20250908\]
> ~~~
> 
> \</blockquote\>
> 
> 1. #### The Device
> 
> \<blockquote\>
> 
> ~~~YAML
> \[ro.product.brand\]: \[Fairphone\]
> \[ro.build.product\]: \[FP5\]
> ~~~
> 
> \</blockquote\>

…and integrate:

> **[Problems with synchronization. (CalDAV)](https://community.vikunja.io/t/problems-with-synchronization-caldav/2325/19?u=rokejulianlockhart)**
>
> @kolaente, I’m not much one for reinventing the wheel. If you can do it better than NC, yes. Otherwise, I’d say re-prioritise your resources: I can always find a good, dedicated calendar (like NC’s).

#### Steps to replicate it

Visit [`wim.nl.tab.digital/apps/tasks`](https://wim.nl.tab.digital/apps/tasks).

* * *

1. [`wim.nl.tab.digital/status.php`](https://wim.nl.tab.digital/status.php#:~:text=31.0.10.2), per:

---

<div class="post-metadata">

**Author:** ![bb77](https://help.nextcloud.com/letter_avatar/bb77/32/5_5575768a8748004e209b776fc1b2916d.png) [@bb77](https://help.nextcloud.com/u/bb77)\
**Post date:** [October 29, 2025, 7:30am UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/2 "2025-10-29T07:30:33Z")

</div>

Sorry, I’m not sure what you mean by ‘external’ CalDAV sources.

As far as I know, adding external CalDAV sources was never supported in Nextcloud. In Nextcloud, it’s only possible to subscribe to external iCal feeds, which are read-only, and to be honest, I’m not sure if an iCal feed is even capable of serving tasks.

If you are trying to connect [Tasks.org](http://Tasks.org) to the calendars/task lists provided directly by Nextcloud, I can only tell you that I use DAVx5 on my phone and [Tasks.org](http://Tasks.org) can use the task lists provided by DAVx5 without any further configuration. I have never tried to connect it directly via CalDAV without DAVx5.

---

<div class="post-metadata">

**Author:** ![rokejulianlockhart](https://help.nextcloud.com/user_avatar/help.nextcloud.com/rokejulianlockhart/32/77112_2.png) [@rokejulianlockhart](https://help.nextcloud.com/u/rokejulianlockhart)\
**Post date:** [October 29, 2025, 10:37am UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/3 "2025-10-29T10:37:51Z")

</div>

> [@bb77](#):
>
> Sorry, I’m not sure what you mean by ‘external’ CalDAV sources.

[`github.com/bitfireAT/davx5-manual`’s `accounts_collections.rst#what-is-the-base-url`](https://github.com/bitfireAT/davx5-manual/blob/dd4cfd14343b25571078900b7408ccc6f979a377/accounts_collections.rst#what-is-the-base-url) may sufficiently elaborate:

> <https://github.com/bitfireAT/davx5-manual/blob/dd4cfd14343b25571078900b7408ccc6f979a377/accounts_collections.rst#what-is-the-base-url:~:text=What%20is-,the%20Base%20URL?,-When%20logging%20in>

* * *

> [@bb77](#):
>
> As far as I know, adding external CalDAV sources was never supported in Nextcloud. In Nextcloud, it’s only possible to subscribe to external iCal feeds, which are read-only, and to be honest, I’m not sure if an iCal feed is even capable of serving tasks.

@bb77, I have been able to add CalDAV URIs to the NextCloud calendar. However, in retrospect, it might not consume them. I’m surprised that allows me to add them if they’re, from its perspective, invalid.

* * *

> [@bb77](#):
>
> I’m not sure if an iCal feed is even capable of serving tasks.

I’m uncertain, but possess reason to believe that what you describe, or similar, exists:

 ![](https://help.nextcloud.com/uploads/default/original/3X/1/8/18299196682943f6d1c4ce2d5588c25c9f7b7455.png)

* * *

> [@bb77](#):
>
> If you are trying to connect [Tasks.org](http://Tasks.org) to the calendars/task lists provided directly by Nextcloud, I can only tell you that I use DAVx5 on my phone and [Tasks.org](http://Tasks.org) can use the task lists provided by DAVx5 without any further configuration.

I am not. I am attempting to add alternative CalDAV sources to the NC server, similiarly to what DAVx⁵ permits, so that I:

1. …need not configure DAVx⁵ each time I reinstall AOSP (although configuration exportation and importation exists).

2. …am able to utilise all of my task lists with less competent synchronisers, on i(Pad)OS.

---

<div class="post-metadata">

**Author:** ![bb77](https://help.nextcloud.com/letter_avatar/bb77/32/5_5575768a8748004e209b776fc1b2916d.png) [@bb77](https://help.nextcloud.com/u/bb77)\
**Post date:** [October 29, 2025, 11:02am UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/4 "2025-10-29T11:02:49Z")

</div>

In this case, we’re really talking about two separate things:

1. Adding external calendars to the Nextcloud server.
2. Adding task lists from those calendars to the [Tasks.org](http://Tasks.org) app.

Regarding the first point, If tasks from those calendars are being displayed, then I suppose that answers my earlier question 🙂. But creating new tasks or events in those subscribed calendars isn’t possible, neither in Nextcloud itself nor in any connected apps, because of their read-only nature. Also, I’m not even sure if subscribed calendars are exposed through CalDAV to client apps. As I said, I don’t personally use any.

As for the second point — there are two ways to add CalDAV accounts to [Tasks.org](http://Tasks.org): either directly through the CalDAV option in the app (which I haven’t tested), or via DAVx5. I use the latter, and it works perfectly, though I only sync my native Nextcloud calendars and task lists with it.

> [@rokejulianlockhart](#):
>
> I am not. I am attempting to add alternative CalDAV sources to the NC server, similiarly to what DAVx⁵ permits, so that I:

For the simple reason that calendar subscriptions are _read-only_, Nextcloud is of limited use for this purpose. The iCal subscription feature is really meant for things like public holiday calendars, organizational event schedules, and similar use cases.

Or in other words, Nextcloud is not suitable as an actual hub for external calendars due to the lack of a true CalDAV client mode. So if you really want/need to work with these external calendars, I wouldn’t do it this way and would add them all to DAVx5 on your phone. And yes, you’ll then have to set it up again on a new phone as well as on your desktop and all other devices you might want to use them.

> [@rokejulianlockhart](#):
>
> …am able to utilise all of my task lists with less competent synchronisers, on i(Pad)OS.

That’s because iOS already has DAVx5 built in, so to speak. Or, to put it more accurately, iOS includes a CalDAV/CardDAV client at the system level, whereas Android does not. DAVx5 essentially fills that gap by providing the missing functionality on Android.

---

<div class="post-metadata">

**Author:** ![rokejulianlockhart](https://help.nextcloud.com/user_avatar/help.nextcloud.com/rokejulianlockhart/32/77112_2.png) [@rokejulianlockhart](https://help.nextcloud.com/u/rokejulianlockhart)\
**Post date:** [October 30, 2025, 3:29pm UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/5 "2025-10-30T15:29:26Z")

</div>

> [@bb77](#):
>
> In this case, we’re really talking about two separate things:
> 
> 1. Adding external calendars to the Nextcloud server.
> 
> 2. Adding task lists from those calendars to the [Tasks.org](http://Tasks.org) app.

@bb77, _I’m_ not discussing the second point; I’m very familiar with `davx5-ose` \[1\] and `tasks`, \[2\] and that would be off-topic here for a Vikunja CalDAV source.

* * *

> [@bb77](#):
>
> If tasks from those calendars are being displayed, then I suppose that answers my earlier question

Although I should have confirmed this first, I’ve recently created [`app.vikunja.cloud/tasks/213783`](https://app.vikunja.cloud/tasks/213783#:~:text=Vikunja%20Evaluation%201):

 ![](https://help.nextcloud.com/uploads/default/original/3X/0/6/068e4929fb16f06dcd89da9ff40d9111a228b490.png)

…which I don’t observe in [`wim.nl.tab.digital/apps/tasks`](https://wim.nl.tab.digital/apps/tasks/collections/starred):

 ![](https://help.nextcloud.com/uploads/default/original/3X/4/b/4b8c92b519ec2a461774e555d3166d8a9341c659.png)

However, I don’t know how to force [`apps/calendar/listMonth/now`](https://wim.nl.tab.digital/apps/calendar/listMonth/now) to reload on-demand.

* * *

> [@bb77](#):
>
> For the simple reason that calendar subscriptions are _read-only_, Nextcloud is of limited use for this purpose. The iCal subscription feature is really meant for things like public holiday calendars, organizational event schedules, and similar use cases.

iCal isn’t applicable to this, however. They’re incompatible standards.

* * *

> [@bb77](#):
>
> iOS already has DAVx5 built in, so to speak. Or, to put it more accurately, iOS includes a CalDAV/CardDAV client at the system level, whereas Android does not. DAVx5 essentially fills that gap by providing the missing functionality on Android.

Darwin’s is a more basic implementation. I significantly prefer being able to choose my CalDAV manager on AOSP.

* * *

1. [`github.com/bitfireAT/davx5-ose/discussions?discussions_q=author%3ARokeJulianLockhart+`](https://github.com/bitfireAT/davx5-ose/discussions?discussions_q=author%3ARokeJulianLockhart+) 

2. [`github.com/tasks/tasks/issues?q=is%3Aissue%20author%3ARokeJulianLockhart`](https://github.com/tasks/tasks/issues?q=is%3Aissue%20author%3ARokeJulianLockhart)

---

<div class="post-metadata">

**Author:** ![rokejulianlockhart](https://help.nextcloud.com/user_avatar/help.nextcloud.com/rokejulianlockhart/32/77112_2.png) [@rokejulianlockhart](https://help.nextcloud.com/u/rokejulianlockhart)\
**Post date:** [October 30, 2025, 3:30pm UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/6 "2025-10-30T15:30:49Z")

</div>

> [@bb77](#):
>
> Nextcloud is not suitable as an actual hub for external calendars due to the lack of a true CalDAV client mode.

@bb77, in which case, I’ve filed a feature request:

> <https://github.com/nextcloud/tasks/issues/2972#issue-3571307885>
>
> \### Is your feature request related to a problem? Please describe.
> 
> I've two rel…evant desires:
> 
> 1. When I add NextCloud as a source in an external synchronisation service — utilise \`davx5-ose\` as an applicable example — I want external CalDAV sources, added via Tasks' GUI, to be available.
> 
> 1. I want to be able to access external CalDAV sources in Tasks' GUI.
> 
> One might consider \`davx5-ose\` to solve this. However:
> 
> 1. It requires an external synchronisation service (of which NC and SyncThing are examples) to synchronise its preferences. However, even that basic form of synchronisation requires periodic manual exportation and importation, which is brittle. NextCloud does not suffer from this.
> 
> 1. It's not available outside of AOSP.
> 
> 1. Utilising an external client renders NextCloud a purely backend service, which likely isn't what NC desires for its Tasks application.
> 
> Despite this, I don’t see any way to add an external CalDAV source to enumerate tasks from, like one can for iCal sources in Calendar. (Although Calendar accepts URIs to CalDAV sources, that appears to be erroneous.)
> 
> \### Describe the solution you'd like
> 
> Implement a two-way equivalent to Calendar's one-way iCal subscription GUI, but for CalDAv sources.
> 
> \### Describe alternatives you've considered
> 
> Utilise an external client, of which \`tasks/tasks\` is an example, with an external synchronisation service, of which \`davx5-ose\` is the best example. However, consider its (aforestated) comparative disadvantage.
> 
> \### Additional context
> 
> Originally discussed at \[\`help.nextcloud.com/t/234881/3\`\](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/3?u=rokejulianlockhart).

---

<div class="post-metadata">

**Author:** ![system](https://help.nextcloud.com/user_avatar/help.nextcloud.com/system/32/29333_2.png) [@system](https://help.nextcloud.com/u/system)\
**Post date:** [November 7, 2025, 3:31pm UTC](https://help.nextcloud.com/t/how-can-one-add-external-caldav-sources-to-the-tasks-application/234881/7 "2025-11-07T15:31:29Z")

</div>

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.
