GudCalGudCal
Docs
Outlook / Microsoft 365

Outlook / Microsoft 365

Connect Outlook or Microsoft 365 for conflict detection and automatic booking sync via Microsoft Graph.

Connect Outlook or Microsoft 365 so GudCal checks for conflicts before offering slots and writes confirmed bookings to your calendar automatically. Works with both work/school (Microsoft 365) and personal (outlook.com) accounts.

Setup

  1. In the Azure portal, register a new application under Microsoft Entra ID → App registrations.

  2. Set the redirect URI (platform type Web) to {NEXT_PUBLIC_APP_URL}/api/calendar/outlook/callback.

  3. Under API permissions, add the delegated Microsoft Graph permissions Calendars.ReadWrite and offline_access.

  4. Under Certificates & secrets, create a client secret.

  5. Add the values to your environment:

    MICROSOFT_CLIENT_ID="<application (client) ID>"
    MICROSOFT_CLIENT_SECRET="<client secret value>"
    # Leave as "common" for multi-tenant + personal accounts, or set a specific
    # tenant ID to restrict who can sign in.
    MICROSOFT_TENANT_ID="common"
  6. Restart the app and connect from Dashboard → Integrations.

How it works

  • Conflict detection queries your calendar view over the requested window and treats any non-free, non-cancelled event as busy. These are merged with any Google Calendar busy times.
  • Booking sync creates the event on your Outlook calendar when a booking is confirmed. If Google Calendar is also connected, the guest invitation is sent from Google and the Outlook copy simply blocks your calendar (no duplicate invite).
  • OAuth tokens are encrypted at rest (AES-256-GCM) and refreshed automatically.

Scopes

The integration requests Calendars.ReadWrite and offline_access (plus openid/profile).