Outlook Calendar Integration
Sync Tymeslot with Outlook Calendar. Works with personal Outlook.com accounts and Microsoft 365 work accounts.
Sync Tymeslot with Google Calendar. Availability checks, booking creation, and conflict detection — all automatic.
Technical Product Builder & AI Developer
Complete these steps first. The connection will fail without them.
GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET set in your environment — see the Google OAuth App Setup guide if you haven't done this yet
Outcome
By the end of this guide, Tymeslot will check your Google Calendar for conflicts before accepting bookings, and create a new calendar event for every confirmed meeting.
Tymeslot requests the https://www.googleapis.com/auth/calendar scope. This single scope covers both reading calendar data and writing new events. Here is what Tymeslot does with that access.
Checking availability
When someone views your booking page, Tymeslot reads your calendar events to determine which time slots are free or busy. Only events marked Busy (or Tentative / Out of office) block availability — events marked Free are ignored.
Creating booking events
When a booking is confirmed, Tymeslot creates a calendar event in your chosen calendar. The event includes the attendee's name, the meeting link, and the event type title.
Tymeslot lists every calendar on your Google account. Configure two independent settings for each calendar:
Check for conflicts
Toggle ON every calendar Tymeslot should treat as authoritative for your availability. When an event in these calendars is marked Busy, that time slot becomes unavailable on your booking page. Toggle your primary work calendar on here.
Write bookings to
Choose the single calendar where Tymeslot creates new meeting events. This is usually your primary calendar. You can only write to one calendar at a time.
If a calendar doesn't appear after connecting: click [Refresh calendars]. If it still doesn't appear, the Google Calendar API may not be enabled in your Google Cloud project — check under APIs & Services → Library.
Not every Google Calendar event blocks your availability. Whether a slot is blocked depends on the event's Show as setting in Google Calendar.
| 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 |
Bookings still going through when you're busy? Check that the correct calendar is toggled on under [Check for conflicts] in Integrations. The calendar must be enabled there, and the events within it must be marked Busy, for conflicts to be detected.
Google OAuth tokens expire periodically. Tymeslot refreshes them automatically in the background. However, tokens can also be revoked — for example, if you change your Google account password, remove Tymeslot from your connected apps, or your Google Cloud app's status changes.
If calendar sync stops working, navigate to [Dashboard] → [Settings] → [Integrations] and click [Reconnect] next to Google Calendar. This starts a fresh OAuth flow and replaces the expired token.
A 403 usually means the Google Calendar API is not enabled for your Google Cloud project. Go to APIs & Services → Library in Google Cloud Console, search for "Google Calendar API", and click Enable. If the API is already enabled, check that the OAuth credentials belong to the same project as the enabled API.
Open [Dashboard] → [Settings] → [Integrations] and confirm the correct calendar has Check for conflicts toggled on. Tymeslot only checks calendars you have explicitly enabled for conflict detection — enabling the integration alone is not sufficient. Also ensure the events in that calendar are marked Busy (not Free).
Yes. Connect your Google Workspace account the same way you would a personal Google account. If your Workspace administrator has restricted third-party app access, they may need to authorise Tymeslot in the Google Workspace Admin console under Security → API controls → Manage third-party app access.
No. Both Google Calendar sync and Google Meet link generation use the same GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET. You only need one Google OAuth app configured. When a user connects Google Calendar with Google Meet enabled, Tymeslot requests the additional Meet scope during the same OAuth flow.
Duplication typically happens when a user has connected the same Google account twice — for example, once for Google Calendar and once through a reconnect that created a second integration. Go to [Dashboard] → [Settings] → [Integrations], disconnect all Google Calendar connections, then reconnect once. If duplication persists, check whether another scheduling tool is also writing to the same calendar.
Yes, this warning appears when your Google Cloud OAuth consent screen is in Testing mode and has not been through Google's verification process. It is expected for self-hosted instances. Click Advanced → Go to [your app name] (unsafe) to proceed. To remove the warning permanently, publish the OAuth consent screen in your Google Cloud project — this requires submitting the app for Google review.
Run through this checklist to confirm everything is set up correctly:
Sync Tymeslot with Outlook Calendar. Works with personal Outlook.com accounts and Microsoft 365 work accounts.
Connect any CalDAV-compatible calendar server — Nextcloud, Radicale, Zimbra, and more.
Create a Google OAuth app to enable Google Login, Google Calendar sync, and Google Meet room creation.