Back to Overview

Outlook Calendar Integration

Sync Tymeslot with Outlook Calendar. Works with personal Outlook.com accounts and Microsoft 365 work accounts.

Luka Breitig โ€” Technical Product Builder & AI Developer
Luka Breitig

Technical Product Builder & AI Developer

๐Ÿ“‹ Before you begin

Complete these steps first. The connection will fail without them.

A Microsoft Azure app is registered with MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET set in your environment โ€” see the Microsoft Azure App Setup guide if you haven't done this yet
The Calendars.ReadWrite delegated permission is added to your Azure app registration under API permissions
Tymeslot is accessible via HTTPS โ€” Microsoft's OAuth callback requires a secure URL

Outcome

By the end of this guide, Tymeslot will check your Outlook Calendar for conflicts before accepting bookings, and create a new calendar event for every confirmed meeting.

How Outlook Calendar sync works

Tymeslot connects through the Microsoft Graph API using the Calendars.ReadWrite permission. The same integration works identically for personal Outlook.com accounts and Microsoft 365 work accounts.

Checking availability (Free/Busy)

When someone views your booking page, Tymeslot queries the Graph API for your free/busy information. It reads only whether each slot is occupied โ€” not event titles, attendees, or any other content. Your calendar details remain private.

Creating booking events

When a booking is confirmed, Tymeslot writes a new calendar event into your chosen Outlook calendar. The event includes the attendee's name and the meeting link. Tymeslot does not read or modify your existing events โ€” it only writes new ones.

1 Connect Outlook Calendar

  1. 1 Navigate to [Dashboard] โ†’ [Settings] โ†’ [Integrations].
  2. 2 Find the [Outlook Calendar] card and click [Connect]. You are redirected to Microsoft's permission screen.
  3. 3 Sign in with your Microsoft account (personal Outlook.com or a Microsoft 365 work account). Microsoft shows the permissions Tymeslot is requesting.
  4. 4 Click [Accept]. Microsoft redirects you back to Tymeslot, where your calendars are immediately listed.

2 Select your calendars

Tymeslot lists every calendar in your Outlook account. Configure two independent settings for each:

Check for conflicts

Toggle ON every calendar Tymeslot should treat as authoritative for your availability. When an event in these calendars is marked Show As: Busy, that time slot becomes unavailable on your booking page.

Write bookings to

Choose the single calendar where Tymeslot creates new meeting events when a booking is confirmed. This is usually your primary calendar.

๐Ÿ” How conflict detection works

Outlook's Show As field determines whether an event blocks your Tymeslot availability.

Show As value Blocks availability?
Busy Yes โ€” slot is unavailable
Free No โ€” slot remains open
Tentative Yes โ€” slot is unavailable
Out of Office Yes โ€” slot is unavailable
Working Elsewhere Yes โ€” slot is unavailable

Calendar connects but shows no availability conflicts? Check that your Outlook events are set to Show As: Busy. Events set to Free are deliberately ignored so that placeholders and informational events don't block your bookings.

๐Ÿข Microsoft 365 and work accounts

Both personal Outlook.com and Microsoft 365 work accounts are supported. Work accounts have one additional consideration: admin consent.

Admin consent: Microsoft 365 organisations can require that an IT administrator approves third-party app access before individual users can connect. If your organisation has this policy, the connection will fail with a "Need admin approval" screen.
Exchange on-premises: NOT supported. Only Microsoft 365 (Exchange Online) and Outlook.com accounts work. The Graph API does not reach Exchange on-premises deployments.
Shared and delegated calendars: Only your own calendars are supported. Shared or delegated calendars require additional Microsoft Graph permissions beyond what Tymeslot currently requests and are not listed after connecting.

'Need admin approval' during connection

Your Microsoft 365 organisation requires admin consent for third-party calendar access. Ask your IT admin to navigate to the Azure portal โ†’ your app registration โ†’ API permissions โ†’ Grant admin consent for [organisation]. Once granted organisation-wide, all users can connect without individual approval. If you cannot wait, use a personal Outlook.com account instead.

๐Ÿ”ง Troubleshooting

"Access denied" or "AADSTS" error during connection

Ensure the Calendars.ReadWrite delegated permission is added to your Azure app under API permissions, and that admin consent has been granted for organisational accounts.

"Invalid redirect URI"

The redirect URI in your Azure app registration must exactly match the one Tymeslot uses โ€” including the https:// prefix and the full path. Check the URI in your Azure app's Authentication settings.

Calendar connects but bookings still go through when busy

Check two things: (1) the correct calendar is toggled on under [Check for conflicts], and (2) the Outlook events in question are set to Show As: Busy rather than Free.

Can't create Teams meetings with a personal account

Personal Outlook.com accounts support calendar sync but cannot create Microsoft Teams meeting links. Teams requires a Microsoft 365 subscription.

โ“ Frequently Asked Questions

Outlook Calendar sync works for my personal account but not my work Microsoft 365 account โ€” why?

Work Microsoft 365 accounts may require admin consent before individual users can connect third-party applications. If your organisation has this policy, the OAuth flow fails with a "Need admin approval" screen. Your IT administrator must navigate to portal.azure.com โ†’ your app registration โ†’ API permissions and click Grant admin consent for [organisation]. Once granted tenant-wide, all users in the organisation can connect without individual approval.

My calendar events appear in Outlook but my availability is not being checked โ€” what's wrong?

Verify that the correct calendar is toggled on under Check for conflicts in your Tymeslot calendar settings. Outlook accounts can have multiple calendars (Personal, Work, shared calendars from others), and Tymeslot only checks the ones you explicitly enable. Also confirm that the events in question are set to Show As: Busy rather than Free โ€” events marked Free are intentionally ignored so that placeholder and informational entries do not block your availability.

Can I sync with a shared or delegated Outlook calendar?

No โ€” Tymeslot only supports your own calendars. Shared and delegated calendars require additional Microsoft Graph permissions (such as Calendars.Read.Shared) beyond what Tymeslot currently requests. They will not appear in your calendar list after connecting.

Events I create manually in Outlook are not blocking my availability in Tymeslot โ€” why?

Two things to check: first, confirm the calendar containing those events is toggled on under Check for conflicts in your Tymeslot calendar settings โ€” if you have multiple calendars, only the enabled ones are used for availability. Second, confirm the events have Show As set to Busy. Events set to Free are deliberately ignored by Tymeslot so that informational calendar entries do not block bookings.

Does Outlook Calendar sync work with on-premises Exchange?

No. Tymeslot connects via the Microsoft Graph API, which only covers Exchange Online (Microsoft 365) and personal Outlook.com accounts. On-premises Exchange Server does not expose the Microsoft Graph API endpoints that Tymeslot depends on, so it cannot be integrated.

โœ… Verify the integration is working

  1. 1 Open Outlook and create a test event covering a time slot that would otherwise be bookable. Confirm its Show As is set to Busy.
  2. 2 Open your Tymeslot booking page in a separate browser window. Navigate to the date of the test event.
  3. 3 Confirm the time slot appears as unavailable. If it is still shown as open, verify the correct calendar is toggled on under [Check for conflicts].
  4. 4 Book a different, open slot as a test. Confirm a new event appears in your Outlook calendar with the attendee name and meeting link.
  5. 5 Delete your test events when done.

๐Ÿ”— Related Articles

Read Google Calendar Integration

Google Calendar Integration

Sync Tymeslot with Google Calendar. Availability checks, booking creation, and conflict detection โ€” all automatic.

Read CalDAV Integration

CalDAV Integration

Connect any CalDAV-compatible calendar server โ€” Nextcloud, Radicale, Zimbra, and more.

Read Microsoft Azure App Setup

Microsoft Azure App Setup

Register a Microsoft Azure app to enable Microsoft Login, Outlook Calendar sync, and Teams room creation.