Google Calendar Integration
Sync Tymeslot with Google Calendar. Availability checks, booking creation, and conflict detection โ all automatic.
Sync Tymeslot with Outlook Calendar. Works with personal Outlook.com accounts and Microsoft 365 work accounts.
Technical Product Builder & AI Developer
Complete these steps first. The connection will fail without them.
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
Calendars.ReadWrite delegated permission is added to your Azure app registration under API permissions
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.
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.
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.
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.
Both personal Outlook.com and Microsoft 365 work accounts are supported. Work accounts have one additional consideration: admin consent.
"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.
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.
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.
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.
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.
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.
Sync Tymeslot with Google Calendar. Availability checks, booking creation, and conflict detection โ all automatic.
Connect any CalDAV-compatible calendar server โ Nextcloud, Radicale, Zimbra, and more.
Register a Microsoft Azure app to enable Microsoft Login, Outlook Calendar sync, and Teams room creation.