CalDAVconnect
Home Blog Pricing Docs
Log in Join beta

How to Sync Nextcloud Calendar with Google Calendar (Bidirectional)

· 3 min read
Nextcloud Google Calendar CalDAV Sync

Nextcloud is a fantastic platform for self-hosted productivity. But when it comes to syncing your Nextcloud calendar with Google Calendar, you'll quickly run into frustrating limitations. Here's why the common workarounds fail — and how to get true bidirectional sync.

The problem: Nextcloud and Google Calendar don't speak the same language

Nextcloud uses CalDAV for calendar synchronization — an open internet standard (RFC 4791). Google Calendar, however, uses its own proprietary API. There is no native CalDAV support in Google Calendar, and Google removed CalDAV compatibility years ago.

This means you can't simply point Google Calendar at your Nextcloud CalDAV URL and expect it to work.

Why ICS subscriptions don't solve the problem

The most common workaround people try is ICS feed subscriptions. You can export your Nextcloud calendar as an ICS URL and subscribe to it from Google Calendar. Sounds easy, right? Here's why it doesn't work in practice:

1. ICS feeds are read-only

When you subscribe to an ICS feed in Google Calendar, you can only view events — you can't edit, delete, or create new events. It's a one-way mirror, not a sync.

2. Google Calendar updates ICS feeds every 24–48 hours

Even for viewing purposes, ICS subscriptions are unreliable. Google Calendar only refreshes ICS feed subscriptions approximately every 12 to 48 hours. There's no way to force a refresh. This means:

  • An event you create in Nextcloud might not show up in Google Calendar until the next day
  • A cancelled meeting might still appear on your Google Calendar for hours
  • Free/busy information is always outdated

For anyone who relies on real-time scheduling, this is a dealbreaker.

3. No conflict resolution

Since ICS feeds are one-way, there's no concept of conflict resolution. If you need to make changes to events from both sides, ICS feeds simply can't handle it.

The real solution: CalDAVconnect

CalDAVconnect is a cloud service that bridges the gap between CalDAV and Google Calendar's API. Here's how it works:

  1. CalDAVconnect connects to your Nextcloud instance via CalDAV
  2. It connects to your Google Calendar via Google's Calendar API (OAuth)
  3. When you create, edit, or delete an event on either side, CalDAVconnect syncs the change to the other side in real-time

Real-time via webhooks

CalDAVconnect doesn't poll your calendars on a timer. Instead, it uses:

  • Google Calendar push notifications (webhooks) to detect changes in Google Calendar instantly
  • CalDAV sync reports to efficiently detect changes on your Nextcloud server

This means changes typically sync within seconds, not hours or days.

Bidirectional by design

Unlike ICS feeds, CalDAVconnect provides true bidirectional sync:

  • Create an event in Nextcloud → it appears in Google Calendar
  • Edit an event in Google Calendar → the change is reflected in Nextcloud
  • Delete an event on either side → it's removed on the other side

Setting it up

Getting started takes about 5 minutes:

  1. Create a CalDAVconnect account (free during the public beta)
  2. Enter your Nextcloud CalDAV server URL and credentials
  3. Authorize CalDAVconnect to access your Google Calendar via OAuth
  4. Select which Nextcloud calendar to sync with which Google Calendar
  5. Hit "Sync" — your initial sync runs automatically

After the initial sync, all changes are synced in real-time. No software to install, no cron jobs to configure.

What about data privacy?

CalDAVconnect is hosted on Hetzner in Nuremberg, Germany. Your calendar data is processed exclusively within the EU. All event data is encrypted at rest. CalDAVconnect is fully GDPR compliant .

Conclusion

If you've been struggling with ICS feed delays or one-way sync between Nextcloud and Google Calendar, CalDAVconnect provides the solution: real-time, bidirectional sync that just works.