Calendar
Research
Calendar engineering guide

Real-time calendar sync for Google and Outlook SaaS accounts

Near-real-time calendar sync comes from a durable baseline, provider-native delta state, expiring notification subscriptions, idempotent application, and periodic reconciliation.

Research surface only. This guide documents architecture and evaluation criteria; it does not describe a released DewEngine connector.
01
Bootstrap

Build one coherent baseline per calendar collection

Discover the calendars the user authorizes, choose the date horizon, page all events in that scope, and record the provider's final sync token or delta link only after the local view is committed.

  • Connected account and calendar ownership
  • Past and future synchronization horizon
  • Provider event and recurrence IDs
  • Final cursor after all pages
02
Google path

Pair watch channels with incremental sync tokens

Google watch notifications indicate a collection changed but contain no event body. Run incremental events.list with the stored sync token, replace it with nextSyncToken, and perform a new full sync when Google returns 410 Gone.

03
Microsoft path

Pair Graph subscriptions with calendar-view delta

Maintain delta state for the selected calendar view and follow opaque next and delta links. Validate and renew change-notification subscriptions, then reconcile from delta rather than treating each notification as the complete change.

04
Convergence

Design for overlap, duplicates, and missed signals

Notification channels expire and renewal can overlap. Deduplicate changes by provider identity and version, serialize cursor advancement per collection, measure lag, and schedule a lower-frequency reconciliation pass.

  • Per-calendar sync lease
  • Idempotent upsert and tombstone
  • Subscription expiry alert
  • Full-resync progress and budget
Questions

Before you build.

Is calendar synchronization truly instantaneous?+

No. Providers normally notify quickly, but delivery and processing can lag. Publish and monitor a realistic sync-lag objective with reconciliation for missed signals.

Can Google and Microsoft share the same raw cursor?+

No. Their cursor formats and scopes differ. DewEngine can expose one normalized sync state while each connector owns its provider-specific token or link.

Can I use DewEngine's calendar connectors today?+

Not as released connectors. Google Calendar has one feature-flagged development method, calendar.event.create, plus list/get for DewEngine-confirmed creates and the resulting canonical creation event. Provider calendar reads and sync, update/delete, availability, recurrence, watches, and Microsoft Graph Calendar remain planned. The implemented slice has only local fake-provider evidence, not real-account or production conformance.

Build with us

Does this match the workflow your users need?

DewEngine is in development. Real use cases decide what ships first.

Share your use case