CalDAVconnect
Home Blog Pricing Docs
Log in Join the beta

Wie CalDAVconnect in Sekunden synchronisiert

· 4 min read
CalDAV Technik Sync Webhooks Deutsch

Die meisten Kalender-Sync-Tools arbeiten nach einem einfachen Prinzip: Alle paar Minuten auf Änderungen prüfen und sie dann übertragen. Das funktioniert — ist aber langsam. Ein 5-Minuten-Polling-Intervall bedeutet, dass ein gerade gebuchter Termin erst nach mehreren Minuten im anderen Kalender auftaucht. Für Tools wie Calendly, die deine Verfügbarkeit in Echtzeit lesen, ist das ein Problem.

CalDAVconnect geht einen anderen Weg — und dieser Beitrag erklärt, wie es unter der Haube funktioniert.

Zwei Richtungen, zwei Mechanismen

Bidirektionaler Sync bedeutet, dass Änderungen in beide Richtungen fließen müssen: von deinem CalDAV-Server (Nextcloud, SOGo, Radicale, Baïkal, Posteo) zu Google Kalender oder Microsoft 365 — und umgekehrt. Diese zwei Richtungen haben grundlegend unterschiedliche technische Eigenschaften, und CalDAVconnect behandelt sie entsprechend unterschiedlich.

Cloud → CalDAV: Webhooks

Wenn du ein Event in Google Kalender oder Microsoft 365 erstellst oder änderst, sendet der Cloud-Anbieter fast sofort eine Webhook-Benachrichtigung an CalDAVconnect. Kein Warten, kein Polling — der Anbieter schickt die Änderung in dem Moment, in dem sie passiert.

CalDAVconnect empfängt den Webhook, startet einen Sync-Job, und die Änderung erscheint in deinem CalDAV-Server innerhalb von 1–2 Sekunden.

Das ist der schnellstmögliche Ansatz. Webhooks sind derselbe Mechanismus, den Zahlungsanbieter nutzen (Stripe benachrichtigt deinen Server über eine Zahlung) oder CI/CD-Pipelines (GitHub löst ein Deployment bei einem Push aus). Das Event wird an dich geschickt — du musst nicht danach fragen.

CalDAV → Cloud: CTag-Polling

Die umgekehrte Richtung ist technisch interessanter. CalDAV ist ein offenes Protokoll — Server wie Nextcloud und SOGo senden keine Änderungsbenachrichtigungen an externe Dienste. Es gibt kein Webhook-Äquivalent auf der CalDAV-Seite.

Die naive Lösung wäre, wiederholt alle Events vom CalDAV-Server abzurufen und zu vergleichen. Das funktioniert, ist aber aufwändig: Potenziell tausende Events alle paar Sekunden herunterzuladen ist verschwenderisch und langsam.

CalDAVconnect nutzt einen intelligenteren Ansatz: CTag-Polling.

Das CalDAV-Protokoll definiert eine Eigenschaft namens CTag (Collection Tag) — ein Hash-Wert, der sich ändert, wenn irgendetwas im Kalender modifiziert wird. Um zu prüfen, ob sich ein Kalender geändert hat, sendet CalDAVconnect eine einzige leichtgewichtige PROPFIND-Anfrage und liest nur den CTag-Wert. Die Antwort ist wenige Dutzend Bytes groß. Keine Events werden heruntergeladen, keine iCal-Daten geparst.

PROPFIND /remote.php/dav/calendars/user/personal/ HTTP/1.1
Depth: 0

→ Antwort: CTag = "abc123..."

Ein Daemon-Prozess läuft permanent auf dem Server und prüft jede aktive CalDAV-Verbindung alle 15 Sekunden:

  • Wenn der CTag mit dem gespeicherten Wert übereinstimmt → nichts hat sich geändert, nichts zu tun
  • Wenn der CTag abweicht → eine Änderung wurde erkannt, Sync-Job auslösen

Die CTag-Prüfung dauert ca. 120ms pro Kalender. Änderungen werden im Schnitt innerhalb von 7–8 Sekunden erkannt — ungefähr die Hälfte des 15-Sekunden-Polling-Intervalls.

Warum das wichtig ist

Die Kombination bedeutet, dass CalDAVconnect auf Änderungen von beiden Seiten in Sekunden reagiert:

| Richtung | Mechanismus | Typische Latenz | |---|---|---| | Google Kalender → CalDAV | Webhook | 1–2 Sekunden | | Microsoft 365 → CalDAV | Webhook | 1–2 Sekunden | | CalDAV → Google Kalender | CTag-Polling | Ø 7–8 Sekunden | | CalDAV → Microsoft 365 | CTag-Polling | Ø 7–8 Sekunden |

Zum Vergleich: ICS-Feed-Abonnements — der häufigste Workaround für Nextcloud/Google-Calendar-Sync — aktualisieren sich alle 24–48 Stunden und sind nur lesbar. CalDAVconnect ist etwa 10.000× schneller, in beide Richtungen.

Praktische Auswirkungen

Calendly funktioniert korrekt. Calendly liest deine Verfügbarkeit aus Google Kalender. Wenn du einen Termin in Nextcloud buchst, synchronisiert CalDAVconnect ihn innerhalb von Sekunden zu Google — so sieht Calendly den blockierten Zeitraum, bevor jemand anderes ihn buchen kann.

Keine Doppelbuchungen. Das kurze Sync-Fenster bedeutet, dass Konflikte erkannt und abgebildet werden, bevor sie in der Praxis zu Terminproblemen führen.

Serverschonend. Die CTag-Prüfung ist bewusst leichtgewichtig. Eine einzige HTTP-Anfrage pro Kalender alle 15 Sekunden ist vernachlässigbare Last — sowohl für deinen CalDAV-Server als auch für die Infrastruktur von CalDAVconnect.

Was ist mit Skalierung?

Die CTag-Prüfungen laufen parallel über alle aktiven Verbindungen. Bei 120ms pro Prüfung mit paralleler Ausführung kann CalDAVconnect hunderte aktive Kalender innerhalb des 15-Sekunden-Polling-Fensters verarbeiten — ohne Leistungseinbußen.


CalDAVconnect ist aktuell in der öffentlichen Beta und kostenlos nutzbar. Wenn du Nextcloud, SOGo, Radicale, Baïkal oder Posteo betreibst und mit Google Kalender oder Microsoft 365 synchronisieren willst, tritt der Beta bei.

Ready to sync your calendars?

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