“Add email and app account” dialog in Windows 10

How-to add CalDAV and CardDAV accounts and sync with Windows 10

Windows 10 fully supports syncing contacts and calendar data to the built-in Calendar, People, and Mail apps with a CalDAV and CardDAV server. However, this functionality is normally limited to select Microsoft partners only. However, you can use a work-around to add any CalDAV and CardDAV service provider.

You can’t add a generic CalDAV/CardDAV server account in Windows 10 as it imposes limits to syncing only with Google, iCloud, and Yahoo! accounts. The WebDAV Sync Engine in Windows has implemented support for generic accounts, but adding such n account isn’t an option available to users.

However, you can still get syncing up and running by adding an iCloud account and modifying its server addresses. Before I explain how to go about this, I have to put up a warning with a shrieking yellow background.

If your DAV account doesn’t contain personal information (its your calendar and address book – of course its personal information) or you’re okay with Apple potentially getting a copy of you password, you can proceed with following this tutorial.


There is one last caveat: Your DAV username has to be an email address for this to work. Most are, but this will depend on your server or service provider.

To configure a custom CalDAV and CardDAV account, first add a placeholder iCloud account in Windows.

  1. Open the Windows Settings app, and go to Accounts: Email and app accounts.
  2. Click Add new account and choose iCloud.
  3. Enter your DAV account username as the email address.
  4. Enter NOTPASSWORD as your password. Make sure not to enter your real password. The password you enter here is sent to Apple.
  5. Click Sign in.

At this point, you have a non-functioning iCloud account which we’ll use as a template for configuring your generic CalDAV and CardDAV account.

Advanced settings of Add iCloud account dialog in Windows 10
  1. Select your account from the Email and app accounts list and click Modify account.
  2. Click Advanced mailbox settings.
  3. Enter “localhost” in the IMAP and SMTP server fields. This will prevent your account password from being sent to Apple’s email servers.
  4. Enter your CalDAV and CardDAV server addresses in the appropriate fields. More details below.
  5. Click Done.
  6. Now enter your real account password in the Password field.
  7. Click Save.

The initial sync can take several minutes depending on how much data needs to be synced. Your calendar and contacts data should eventually being popping up in the Calendar and People apps, as well as on the lock screen and in the Action Center.

As you can probably tell from the big yellow warning above, this method isn’t really recommended. It’s the best that Windows 10 offer for the time being.

Details for WebDAV server administrators

The username has to be an email address, because the user interface doesn’t allow users to input anything else. There is probably no harm in supporting email addresses in addition to non-domained logins if this is your current setup.

Windows will auto-discover your CalDAV endpoint by going to https://dav.example.com/.well-known/caldav and your CardDAV endpoint by going to https://dav.example.com/.well-known/carddav. These URIs should simply redirect to the actual endpoint addresses. Windows will also guess some common endpoint targets if the .well-known auto-discovery method fails. You shouldn’t rely on this, but rather actually implement the .well-known URIs.

The User-Agent string for Windows’ WebDAV Sync Engine is “MSFT-WIN-3/<windows-version>.<windows-build> (gzip)” (Yes, it does oddly enough include “(gzip)”.)

Sources

  • RFC 5785 Defining Well-Known Uniform Resource Identifiers (URIs)
  • Windows 10 libraries and executables, Windows 10.1607 build 15031

4 comments

  1. What you’re saying makes sense and I never thought much about it when I added Owncloud to Windows. I’ll remove my account and change the password!

  2. Thank you so much for finding a workaround for this. I noticed that iCloud was supported from day 1, so came to the same conclusion that it’s about making it more difficult to use Unix Servers to replace Exchange Servers for Windows 10 clients…

    Fingers crossed to open this up properly in the “Creators Update” coming in a few weeks…

Leave a Reply

Your email address will not be published. Be courteous and on-topic. Comments are moderated prior to publication.