CalDAVconnect
Home Blog Pricing Docs
Log in Join the beta

Sync Baïkal Calendar with Google Calendar & Microsoft 365

· 3 min read
Baïkal Google Calendar Microsoft 365 CalDAV Sync

Baïkal is a popular, lightweight CalDAV and CardDAV server written in PHP. It runs on almost any web hosting — shared hosting, a VPS, or a home server — making it one of the easiest self-hosted calendar solutions to set up. But once your calendars live in Baïkal, syncing them with Google Calendar or Microsoft 365 becomes a challenge.

The gap between Baïkal and cloud calendars

Baïkal speaks CalDAV. Google Calendar and Microsoft 365 use proprietary APIs. There's no native way to connect the two. Baïkal serves your calendars to CalDAV-compatible apps (Thunderbird, DAVx⁵, Apple Calendar), but it can't push events to Google or Microsoft directly.

Why ICS subscriptions aren't the answer

The most common workaround is subscribing to an ICS feed URL in Google Calendar or Outlook. In practice, this approach breaks down:

  • Read-only. You can view Baïkal events in Google Calendar, but can't edit them or create new events from the cloud side.
  • Delayed updates. Google Calendar refreshes ICS feeds every 12–48 hours. A new appointment in Baïkal might not appear until the next day.
  • One-way only. Events created in Google Calendar or Outlook never reach your Baïkal server.

The solution: CalDAVconnect

CalDAVconnect provides bidirectional sync between your Baïkal server and Google Calendar, Microsoft 365, or both:

  • Create an event in Baïkal → it appears in Google Calendar or Outlook within seconds
  • Edit an event in Google Calendar → the change syncs back to Baïkal
  • Delete an event on either side → it's removed on the other

How it works

  1. CalDAVconnect connects to your Baïkal server via CalDAV
  2. It connects to Google Calendar (via Google's Calendar API) or Microsoft 365 (via Microsoft Graph API) using OAuth
  3. Changes are detected and synced bidirectionally — typically within seconds

Google Calendar changes are detected instantly via webhooks. Baïkal changes are picked up through fast CTag polling.

Setting it up

The setup takes about 5 minutes:

  1. Create a CalDAVconnect account (free during the public beta)
  2. Enter your Baïkal server URL and credentials (typically https://your-server/baikal/dav.php/calendars/username/default/)
  3. Authorize Google Calendar or Microsoft 365 via OAuth
  4. Select which calendars to sync
  5. The initial sync runs automatically

No changes needed on your Baïkal server. CalDAVconnect connects as a regular CalDAV client — just like Thunderbird or DAVx⁵ would.

Works on any hosting

One of Baïkal's strengths is that it runs anywhere PHP does — shared hosting, Docker, a Raspberry Pi, or a full VPS. CalDAVconnect works with all of these setups. As long as your Baïkal server is reachable via HTTPS, you're good to go.

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.

If you chose Baïkal to keep your calendar data under your control, CalDAVconnect extends that philosophy: your data stays in Germany, synced securely with your cloud calendar.

Conclusion

Baïkal gives you a simple, self-hosted calendar server that runs anywhere. CalDAVconnect adds what's missing: bidirectional sync with Google Calendar and Microsoft 365 — in seconds, without touching your Baïkal configuration.

Ready to sync your calendars?

CalDAVconnect is currently in Public Beta — free to use during the beta period.