Tymeslot’s Google integration covers two things with a single OAuth 2.0 app: Google Calendar keeps your availability accurate by syncing events in both directions, and Google Meet auto-generates a video room the moment a booking is confirmed. You create one OAuth credential set in Google Cloud Console, paste three environment variables, and both features light up together.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Tymeslot/tymeslot/llms.txt
Use this file to discover all available pages before exploring further.
What this integration provides
- Google Calendar two-way sync — Tymeslot reads your Google Calendar to block off busy times, and writes confirmed bookings back as calendar events (with an
.icsattachment sent to the attendee). - Google Meet room auto-creation — When a booking is confirmed on an event type configured for Google Meet, Tymeslot calls the Meet API and embeds the join link in the calendar event and confirmation email.
- Optional Google login/signup — set
ENABLE_GOOGLE_AUTH=trueto let users sign in to Tymeslot with their Google account.
Prerequisites
- A Google Cloud project (new or existing)
- Google Calendar API enabled on that project
- Google Meet API enabled on that project
- A domain with HTTPS (required for the OAuth redirect URI and for webhook push notifications)
Create the Google OAuth app
Create or select a Google Cloud project
Go to console.cloud.google.com and either create a new project or select an existing one from the project dropdown at the top of the page.
Enable the required APIs
Navigate to APIs & Services → Library.Search for and enable both of these APIs:
- Google Calendar API — required for calendar sync
- Google Meet API — required for Meet room creation
Configure the OAuth consent screen
Go to APIs & Services → OAuth consent screen.
- Choose External (or Internal if this is a Google Workspace organization deployment).
- Fill in the required fields: app name, support email, and developer contact.
- Under Scopes, add the following:
https://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/calendar.events
- If using External, add any Google accounts that should be able to connect the integration to the list of Test users while the app is unpublished.
- Save and continue through all sections.
Create OAuth 2.0 credentials
Go to APIs & Services → Credentials, then click Create Credentials → OAuth 2.0 Client IDs.
- Application type: Web application
- Name:
Tymeslot(or any label you prefer) - Under Authorized redirect URIs, add the following. The first two are always required; add the third only if you are enabling Google login (
ENABLE_GOOGLE_AUTH=true):Replaceyour-domain.comwith your actual Tymeslot hostname. The URIs must be exact matches — no trailing slashes. - Click Create.
Environment variable reference
| Variable | Required | Description |
|---|---|---|
GOOGLE_CLIENT_ID | Yes | OAuth 2.0 Client ID from Google Cloud Console |
GOOGLE_CLIENT_SECRET | Yes | OAuth 2.0 Client Secret from Google Cloud Console |
GOOGLE_STATE_SECRET | Yes | Self-generated random string for CSRF protection |
ENABLE_GOOGLE_AUTH | No | Set true to allow Google login/signup (default: false) |
WEBHOOK_BASE_URL | No | Public HTTPS base URL for real-time push notifications |
ALLOW_PRIVATE_IPS_FOR_CALENDAR | No | Set true if your CalDAV or video server is on a private network |
Real-time calendar push notifications
By default, Tymeslot polls Google Calendar every 15 minutes to detect new and changed events. For real-time sync, setWEBHOOK_BASE_URL to your Tymeslot instance’s public HTTPS base URL:
WEBHOOK_BASE_URL unset on localhost or private network deployments — polling will work perfectly.
Private network CalDAV or video servers
If you run a CalDAV server or a self-hosted video provider (such as MiroTalk) on a private or loopback address, outbound requests to those hosts are blocked by default as SSRF protection. Set this flag to permit them:ALLOW_PRIVATE_IPS_FOR_WEBHOOKS in the environment variable reference).