Sync with Custom CalDAV (Fruux, Yahoo!, ownCloud, etc.)
2Do for iOS supports any CalDAV-compatible server. You can sync with a hosted service, your own server, or your company's CalDAV server.
Supported Servers
iCal Server, ownCloud, Fruux, Oracle, Kerio, SabreDAV, and so on. In practice, 2Do works with any server that speaks CalDAV correctly, including:
- Fruux (built-in)
- Yahoo! Calendar (built-in)
- ownCloud / Nextcloud
- Synology Calendar (CalDAV)
- Kerio Connect
- Oracle Calendar
- SabreDAV-based servers
- Apple Calendar Server (iCal Server)
- Fastmail and other CalDAV providers The iCloud option in 2Do's CalDAV picker is documented separately on Sync with iCloud.
What CalDAV Sync Carries
- All core task fields — title, notes, dates, Alerts, recurrence, priority, action, location.
- Tasks added to 2Do can appear in other CalDAV apps using the same account.
Limitations
CalDAV does not have a place for every 2Do feature. The following do not sync via CalDAV:
- List Groups
- Tag Groups
- Smart Lists
- Search Presets
- List color syncing may not be supported by some CalDAV servers.
- Only one picture and one audio recording per task
- Paused state of a tag — pause has to be re-applied per device.
- Some unusual repeating alert setups may not look exactly the same on the server.
Setup
- Open Settings > Sync in 2Do.
- Select CalDAV as the sync method.
- Pick the server type:
- Fruux or Yahoo! — built-in entries with auto-discovery.
- CalDAV (the generic 3rd-party option, sometimes labelled Most 3rd party CalDAV Servers supported) — for ownCloud, Nextcloud, Synology, Kerio, etc.
- Enter your server URL (only required for the generic 3rd-party option), username, and password.
- Tap Save / Connect. 2Do auto-discovers task collections on the server.
- Repeat on each device with the same credentials.
Fruux Setup
- Settings > Sync → select Fruux.
- Generate an app-specific password at www.fruux.com.
- Enter your username and the app-specific password.
2Do auto-discovers the server and account paths — no manual URL entry required.
Generic 3rd-Party CalDAV Server
For ownCloud, Nextcloud, Synology, Kerio, and similar:
- Settings > Sync → CalDAV → Custom CalDAV Server.
- Enter the server URL as your provider documents it (often the principal URL of your CalDAV account, e.g.
https://your-server.example/remote.php/dav/principals/users/<user>/). - Enter your username and password.
- Save. 2Do discovers your task collections.
Close Settings and return to the main task list. Pull down on the task list to force the first sync. 2Do will then ask whether to Replace server data or Replace local data — choose carefully based on which side has the data you want to keep.
After the first sync, you can manually override the next sync any time under Settings > Sync > Next Sync Action — pick Sync normally, Replace local data, or Replace server data before triggering the next sync. The setting auto-resets to Sync normally afterwards.
Daily Sync
Custom CalDAV syncs in the background as iOS allows, and on every foreground refresh.
Common Issues
Synology server compatibility
Synology Calendar can work with 2Do through CalDAV. Use the principal URL from your Synology Calendar's CalDAV documentation.
301 Moved Permanently
Some servers redirect the discovery URL. Update to the latest 2Do, which follows redirects automatically. If issues persist, enter the post-redirect URL directly.
Alerts shared with users via CalDAV shared lists don't sync
Alerts attached to tasks on shared CalDAV lists don't always copy across, depending on the server's sharing rules. Re-add Alerts locally if needed.
Multiple alerts on recurring tasks get removed
Some CalDAV servers accept only a single Alert on repeating tasks. Use Dropbox sync if you rely heavily on multiple Alerts per repeating task.
Setting Up Another Device & Troubleshooting
- Adding another device — install 2Do, point CalDAV at the exact same server URL and account credentials as your other devices, and let the first sync pull your data down. See Setting up a new device.
- One device showing different tasks? — see One of my devices isn't syncing correctly. Standard recovery: run a clean sync on the most up-to-date device, then Replace local data on the lagging ones.
- Replace server data vs Replace local data — picking the wrong side can overwrite good data. Pause and read Replace server data vs Replace local data before confirming. You can re-trigger the choice any time under Settings > Sync > Next Sync Action.
Tips
For self-hosters, Nextcloud + 2Do is a popular combination — your tasks live entirely on your own server.
If your server requires app-specific passwords (Fruux, Yahoo!, anything with 2FA), generate one for 2Do specifically so you can revoke it later without changing your main account password.