Sync Radicale Calendar with Google Calendar & Microsoft 365
Radicale is one of the most lightweight CalDAV/CardDAV servers available. Written in Python, it's a popular choice for self-hosting on a Raspberry Pi, NAS, or small server — precisely because it does one thing well and requires minimal resources. But syncing a Radicale calendar with Google Calendar or Microsoft 365 isn't built in.
Why Radicale doesn't sync with cloud calendars natively
Radicale is a CalDAV server. Google Calendar and Microsoft 365 use their own proprietary APIs. There's no direct protocol bridge between them. Radicale serves calendars to CalDAV clients (like Thunderbird, DAVx⁵, or GNOME Calendar), but it can't push events to Google or Microsoft on its own.
The ICS export workaround — and why it fails
Some users try exporting their Radicale calendar as an ICS file and subscribing to it from Google Calendar or Outlook. This approach has critical limitations:
- ICS subscriptions are read-only. You can view events, but can't edit or create new ones from the cloud side.
- Refresh intervals are unpredictable. Google Calendar updates ICS feeds every 12–48 hours. Microsoft 365 is similarly slow.
- No bidirectional sync. Changes made in Google Calendar or Outlook never flow back to Radicale.
For anyone relying on up-to-date scheduling across devices, ICS subscriptions aren't a viable solution.
The solution: CalDAVconnect
CalDAVconnect is a cloud service that connects your Radicale server with Google Calendar, Microsoft 365, or both. It provides true bidirectional sync:
- Create an event in Radicale → it appears in Google Calendar or Outlook within seconds
- Edit an event in Google Calendar → the change syncs back to Radicale
- Delete an event on either side → it's removed on the other
How it works
- CalDAVconnect connects to your Radicale server via CalDAV
- It connects to Google Calendar (via Google's Calendar API) or Microsoft 365 (via Microsoft Graph API) using OAuth
- Changes are detected and synced bidirectionally — typically within seconds
Google Calendar changes are detected instantly via webhooks. Radicale changes are picked up through fast CTag polling.
Setting it up
The setup takes about 5 minutes:
- Create a CalDAVconnect account (free during the public beta)
- Enter your Radicale server URL and credentials (typically
https://your-server/radicale/user/calendar.ics/) - Authorize Google Calendar or Microsoft 365 via OAuth
- Select which calendars to sync
- The initial sync runs automatically
No software to install on your Radicale server, no cron jobs, no configuration changes. CalDAVconnect connects as a regular CalDAV client.
Works with any Radicale setup
Whether you run Radicale on a Raspberry Pi at home, in a Docker container, on a VPS, or behind a reverse proxy — CalDAVconnect works with any standard Radicale installation. All it needs is CalDAV access to your server.
Privacy and compliance
CalDAVconnect is hosted on Hetzner in Nuremberg, Germany. Your calendar data is processed exclusively within the EU and encrypted at rest. CalDAVconnect is fully GDPR compliant — which matters if data sovereignty is the reason you chose Radicale in the first place.
Conclusion
Radicale is a great choice for a minimal, self-hosted calendar server. With CalDAVconnect, you can keep that simplicity while syncing your events with Google Calendar or Microsoft 365 — bidirectionally and in seconds.