Calendar
Research
Calendar engineering guide

Using the Outlook calendar API through Microsoft Graph

A production Outlook calendar connector needs the right Microsoft access mode, explicit calendar ownership, time-zone-safe event writes, calendar-view delta, schedule queries, and renewable subscriptions.

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

Choose delegated or app-only access deliberately

Delegated permissions act within the signed-in user's calendar rights. App-only permissions act as the application and usually require administrator consent, so tenant-wide scheduling must be a separately governed enterprise feature.

02
Events

Retain Graph event identity and time context

Store event and calendar IDs, organizer and attendee states, start and end with time zones, recurrence and series identity, transaction ID for idempotent creation, change key, location, and online-meeting details.

  • Calendar and event IDs
  • IANA/Windows time-zone handling
  • Recurring series and exceptions
  • Change key for conflict awareness
03
Availability

Use getSchedule when busy intervals are enough

Microsoft Graph getSchedule returns free/busy information for users and resources over a bounded interval. Apply your own booking policy afterward and respect the target user's sharing controls rather than fetching event details unnecessarily.

04
Synchronization

Combine calendar-view delta and change subscriptions

Track the chosen date range through opaque delta links, renew Graph subscriptions before expiration, and use lifecycle notifications and periodic delta reads to recover. Treat removed events and recurring instance changes as explicit records.

  • Date-range delta boundary
  • Opaque next and delta links
  • Subscription validation and renewal
  • Cancellation and removal handling
Questions

Before you build.

Is the Outlook Calendar API separate from Microsoft Graph?+

For new applications, Outlook calendar capabilities are accessed through Microsoft Graph rather than the retired standalone Outlook REST endpoint.

Can getSchedule read every event detail?+

Its main purpose is free/busy availability. Returned detail depends on permissions and the target user's sharing controls, which is useful for data minimization.

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