Synology DiskStation Manager (DSM) is a Linux based software package that is the operating system for Synology's DiskStation and RackStation products. A CalDAV server is available in the base system. CardDAV can be installed as an extra package. It's also possible to run other CalDAV/CardDAV software like Baïkal and ownCloud on Synology systems (for instance, using Docker or virtual machines). In this case, see the respective configuration pages for details.
There are various Synology packages you can install and use with DAVx⁵ (and other CalDAV/CardDAV clients).
It's important to know which packages you are using to determine the correct base URL.
|CalDAV||Synology Calendar||recommended for CalDAV|
|CalDAV||WebDAV Server||not recommended for CalDAV anymore (not maintained)|
|CardDAV||Synology Contacts||recommended for CardDAV|
|CardDAV||CardDAV Server||also possible for CardDAV (not recommended for new setups)|
For every package, there is a separate base URL; see specific instructions for each package below.
The Synology Calendar provides a calendar with Web and CalDAV interface.
You can view the CalDAV URL in the Calendar Web interface (Calendar > CalDAV Account). Use the macOS / iOS URL.
So, the CalDAV Base URL could look like this:
https://diskstation.lan:5001/caldav/YOUR_USERNAME with HTTPS;
or if you're using LDAP try:
- In previous Synology DSM versions, CalDAV was served using the WebDAV Server (default ports 5005/5006). See below for more information.
- The Calendar package seems to provide a CardDAV service, too. This is why "CardDAV" appears in DAVx⁵ accounts created for Synology Calendar. You can even create an address book using DAVx⁵. However, this feature is not officially supported and there's no user interface in the Calendar package. So, use the CardDAV server or Synology Contacts instead (see below).
Synology Contacts provides a CardDAV server and a Web interface for address books. It supports shared address books.
Take the CardDAV base URL from the Web interface: Address book / CardDAV / MacOS/iOS URL. It should look like this:
http://diskstation.example:5000/carddav/Username/ (see screenshots), or
https://diskstation.example:5001/carddav/Username/ with HTTPS
The CardDAV Server provides a CardDAV server with a Web interface for the address book.
CardDAV Base URL:
https://diskstation.example.com:8443/addressbooks/users/sample if your user name is
or if you're using LDAP try:
For older versions of CardDAV server, you need to append
addressbook like that:
User name and password: same as for Synology DSM
Contact group method: groups are separate VCards
Do not import .vcf files generated by Android directly into the Synology CardDAV server! It often breaks synchronization (500 Internal server error), because Android exports vCard 2 files, and Synology will import these files without error message but they can't be processed later (because CardDAV requires vCard 3). Import them on Android instead.
If possible, use the newer Calendar package instead of the outdated CalDAV function of the WebDAV Server (which doesn't seem to be maintained anymore) package to avoid problems.
If you're still using the WebDAV Server package for CalDAV (which is not recommended):
- Open Synology DSM: Control Panel / WebDAV.
- Enable WebDAV or WebDAV HTTPS and remember the port (5005 in the screenshot).
- Enable CalDAV in the WebDAV server package.
- Go to "View calendar list" and add a calendar. Make sure that you have read/write permissions on the destination folder.
- In the calendar list, each calendar has a location (e.g. SomeFolder in the screenshot). This location is required to add the calendar with DAVx⁵. You can omit the last directory level (TestCalendar in the screenshot), because DAVx⁵ will enumerate all calendars in the given folder.
Now you can add an account in DAVx⁵:
CalDAV base URL:
Known issues (can both be worked around by using the Calendar package instead of the WebDAV Server package for CalDAV):
- If you're accessing an empty calendar (for instance, because it has just been created), Synology returns 404 Not Found when this collection is queried. To work around this, add an event and a task to the calendar. Then synchronize and the 404 error should be gone. (Synology support ticket 2530270)
- When there are timezone definitions that contain
TZOFFSETFROM:+005730(0 h, 57 min, 30 s), the server will return invalid time zones with
TZOFFSETFROM:+5730(57 h) on
REPORT multi-getrequests (but not GET requests). This can prevent events from being parsed and cause an "invalid iCalendar exception" with "Zone offset hours not in valid range". (Synology support ticket 2532591)