Sync with Custom CalDAV (Fruux, Yahoo!, ownCloud, etc.)
2Do for Mac supports any CalDAV-compatible server. You can sync with a hosted service, your own server, or your company's CalDAV server.
Supported Servers
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
Two providers have their own dedicated pages: iCloud is covered on Sync with iCloud CalDAV, and Fastmail on Sync with Fastmail.
What CalDAV Sync Carries
- All core task fields — title, notes, dates, recurrence, priority, action, location.
- Multiple alarms per task can sync between 2Do devices through CalDAV.
- Task attachments — a 2Do task can carry one picture and one audio note, and both sync over CalDAV (embedded in the task). The Sync pictures and Sync audio notes switches in Setup control these (both on by default), alongside Sync list ordering, Sync due times, and Sync app preferences.
- Tasks added to 2Do can appear in other CalDAV apps using the same account.
What Stays on This Mac
Some 2Do-only features stay on this Mac and are not carried by CalDAV sync:
- Smart Lists
- Tag groups
- List groups
- Unused tags
Other apps and devices signed in to this account see your projects and checklists as a flat list of tasks.
RELATED-TO-aware clients such as Nextcloud Tasks are the exception; see Projects and Sub-Tasks.
A few things also behave differently on the server side:
- List colors may not sync on some CalDAV servers.
- Repeating tasks sync as plain tasks to the server, but still repeat correctly between your 2Do devices.
- Some unusual repeating alert setups may not look exactly the same on the server.
Projects and Sub-Tasks (Nextcloud and other CalDAV servers)
2Do syncs your project and sub-task hierarchy two-way over CalDAV automatically; there's no setting to turn on. The parent/child relationship travels using the standard iCalendar RELATED-TO link, so a parent task and its sub-tasks stay connected on the server.
- Create a project (or checklist) with sub-tasks in 2Do, and the structure syncs up to the server.
- A parent-with-children created directly in Nextcloud (or another CalDAV app) arrives in 2Do as a project with sub-tasks.
- Between your own 2Do devices, a project stays a project and a checklist stays a checklist.
How the hierarchy appears in other apps depends on the client:
- RELATED-TO-aware clients, such as Nextcloud Tasks, reconstruct the hierarchy and show your sub-tasks nested under their parent.
- Clients that ignore RELATED-TO show your projects, checklists, and their sub-tasks as a flat list of tasks.
Read-Only Lists
Some CalDAV servers share a calendar with you but don't grant permission to change it. 2Do detects this from the server and marks the list read-only, so you don't make edits the server would reject.
A read-only list looks and behaves like this:
- A crossed-out pencil icon (pencil.slash) appears on the list in the sidebar.
- A non-interactive Read Only indicator shows on the sort bar.
- The task editor's controls are disabled: you can't change the title, notes, tags, dates, duration, repeat, or action, and you can't complete, move, or delete its tasks.
- Existing photo and audio attachments remain viewable, but you can't record or replace them.
- You can't add new tasks to a read-only list: a task captured while it's selected (Quick Entry, for example) lands in your default list (Inbox) instead, somewhere you can actually edit it.
You can still change how a read-only list is presented on this Mac without touching the server: rename it locally, change its color, lock it with a password, hide it, change its sort, or move it into a list group. Those choices are local only and are preserved across syncs.
Shared CalDAV calendars carry a separate Shared Calendar badge, which is distinct from the read-only pencil.slash icon.
Setup
- Open 2Do > Settings > Sync and select the Setup tab.
- From the Account Type pop-up menu, choose your CalDAV server:
- Fruux or Yahoo — built-in entries with auto-discovery; you only enter a username and password.
- Custom CalDAV — for Nextcloud, Synology, ownCloud, Kerio, and any other self-hosted or third-party CalDAV server. There is no named Nextcloud or Synology option; they all connect through Custom CalDAV.
- Enter your credentials. Custom CalDAV adds fields for Server Address, Path, Port, and Use SSL alongside your Username and Password.
- Click Connect. 2Do auto-discovers your task collections on the server. (Once connected, the button reads Change Account.)
- Repeat on each device, using the same Account Type and credentials.
Fruux Setup
- Settings > Sync > Setup → Account Type → 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, so no manual URL entry is required.
Custom CalDAV Server (Nextcloud, Synology, ownCloud, Kerio)
For self-hosted and third-party CalDAV servers:
- Settings > Sync > Setup → Account Type → Custom CalDAV.
- Fill in the connection fields as your provider documents them:
- Server Address — your server's host (for Nextcloud, often something like
your-server.example). - Path — the CalDAV path your provider specifies (Nextcloud commonly uses
/remote.php/dav). - Port and Use SSL — match your server's configuration (SSL is on by default).
- Enter your Username and Password.
- Click Connect. 2Do discovers your task collections.
The first time you connect to a self-hosted server with a private or self-signed certificate, 2Do shows a "Can't Verify This Server" prompt with the server's fingerprint. This is normal for private servers; confirm to trust and remember it.
Close Settings and press ⌘S (or click the Sync toolbar button) to run the first sync. When both sides already hold data, 2Do asks how to combine them; see Merge vs Replace before choosing. You can re-run any of these later from Settings > Sync > Next sync action; it applies once, then returns to Sync Normally.
Daily Sync
Custom CalDAV syncs continuously while 2Do is running. Press ⌘S to force an immediate sync.
Troubleshooting
Synology server compatibility
Synology Calendar works with 2Do when you use the principal CalDAV URL provided by Synology Calendar.
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.
Alarms shared via CalDAV shared lists don't sync
Alarms attached to tasks on shared CalDAV lists don't always copy across, depending on the server's sharing rules. Re-add alarms locally if needed.
Multiple alerts on recurring tasks get removed
Some CalDAV servers accept only a single alarm on repeating tasks. Use Dropbox sync if you rely heavily on multiple alarms per repeating task.
Adding another device
Install 2Do, point CalDAV at the exact same server URL and 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
Run a clean sync on the most up-to-date device, then choose Replace Local Data on the lagging ones. See One of my devices isn't syncing correctly.
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.