Documentation
Google Calendar
Connect Google Calendar and use its tools through the Authlane control plane.
Prerequisites
Create a Google OAuth client for a project with Calendar access. The connected Google account must be able to see each calendar that your SaaS will read or change. Use the Calendar API guide, OAuth consent guide, and Google Cloud credentials console.
Self-hosted setup
- Create or select a Google Cloud project and enable Calendar API. For MCP-first execution, also join the Workspace Developer Preview and enable Calendar MCP API.
- Configure the OAuth consent screen, audience, test users, and the scopes below.
- Create a Web application OAuth client and add
https://<your-authlane-host>/api/v1/oauth/google-calendar/callbackas an authorized redirect. - Copy the Client ID and Client Secret.
Configure authentication
Open Dashboard → Services → Google Calendar → OAuth Configuration, enter the Client ID and Client Secret, save, and enable the service. The registered callback must match the public Authlane URL exactly.
Scopes
Read-only tools requests calendar.readonly and calendar.events.readonly. Full tool set
uses the write-capable event scope below. Authlane filters the corresponding definitions in
addition to requesting least-privilege OAuth scopes.
https://www.googleapis.com/auth/calendar.eventspermits event creation, updates, and deletion.https://www.googleapis.com/auth/calendar.readonlypermits calendar and event reads.
Execution path
Prefer Google's official Calendar MCP server at https://calendarmcp.googleapis.com/mcp/v1; follow
the official Calendar MCP guide.
Because it is a Developer Preview, use the direct Calendar API adapter as the explicit fallback for
missing tools or deployments that cannot enable the preview.
Available tools
Calendars and events
gcal_list_calendarsgcal_list_eventsgcal_get_event
Create and change events
gcal_create_eventgcal_quick_addgcal_update_eventgcal_delete_event
Install @authlane/integration-google-calendar in the SaaS runtime. A local callback requests a
fresh credential lease and calls Google Calendar directly; Authlane does not proxy event inputs or
provider responses.
Connection lifecycle
After consent, Authlane stores the Google OAuth credential encrypted and reports connected.
Authlane refreshes it before expiry when Google returned refresh material. If refresh fails
permanently, show reconnect for the resulting expired or error state. Hosted disconnect uses a
fresh session with recent reauthentication and removes the connection.
Troubleshooting
- Use
primaryor a calendar ID returned bygcal_list_calendars; a display name is not a stable calendar ID. - Event start and end values must use the date or RFC 3339 formats described by the tool schema.
- A calendar can be visible but not writable; event mutations still require calendar permission
plus
https://www.googleapis.com/auth/calendar.events.