Skip to content
Talk to an Engineer Dashboard

Google Calendar

Google Calendar is Google's cloud-based calendar service that allows you to manage your events, appointments, and schedules from any computer or device with just a web browser.

Google Calendar is Google’s cloud-based calendar service that allows you to manage your events, appointments, and schedules from any computer or device with just a web browser.

Google Calendar logo

Supports authentication: OAuth 2.0

  1. In Scalekit dashboard, go to Agent Auth → Create Connection.

  2. Find Google Calendar from the list of providers and click Create.

  3. Click Use your own credentials and copy the redirect URI — it will look like https://{your-env-url}/sso/v1/oauth/{connection_id}/callback.

    Configure Google Calendar Connection with redirect URI
  4. Navigate to Google Cloud Console’s APIs & Services > Credentials

  5. Select + Create Credentials, then OAuth client ID

  6. Choose Web application from the Application type menu

    Selecting Web Application in Google OAuth
  7. Under Authorized redirect URIs, click + Add URI, paste the redirect URI, and select Create.

    Adding Google redirect URI for OAuth

Google provides your Client ID and Client Secret credentials.

  1. In Google Cloud Console, go to APIs & Services > Library

  2. Search for “Google Calendar” in the API Library

  3. Select Google Calendar API

  4. Press the blue Enable button

  1. In Scalekit dashboard, go to Agent Auth → Connections and open the connection you created.

  2. Enter your credentials:

    Add credentials
  3. Click Save

Connect a user’s Google Calendar account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.

import scalekit.client, os
from dotenv import load_dotenv
load_dotenv()
connection_name = "googlecalendar" # get your connection name from connection configurations
identifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
scalekit_client = scalekit.client.ScalekitClient(
client_id=os.getenv("SCALEKIT_CLIENT_ID"),
client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
env_url=os.getenv("SCALEKIT_ENV_URL"),
)
actions = scalekit_client.actions
# Authenticate the user
link_response = actions.get_authorization_link(
connection_name=connection_name,
identifier=identifier
)
# present this link to your user for authorization, or click it yourself for testing
print("đź”— Authorize Google Calendar:", link_response.link)
input("Press Enter after authorizing...")
# Make a request via Scalekit proxy
result = actions.request(
connection_name=connection_name,
identifier=identifier,
path="/calendar/v3/users/me/calendarList",
method="GET"
)
print(result)

Create a new event in a connected Google Calendar account. Supports meeting links, recurrence, attendees, and more.

NameTypeRequiredDescription
attendees_emailsarray<string>NoAttendee email addresses
calendar_idstringNoCalendar ID to create the event in
create_meeting_roombooleanNoGenerate a Google Meet link for this event
descriptionstringNoOptional event description
event_duration_hourintegerNoDuration of event in hours
event_duration_minutesintegerNoDuration of event in minutes
event_typestringNoEvent type for display purposes
guests_can_invite_othersbooleanNoAllow guests to invite others
guests_can_modifybooleanNoAllow guests to modify the event
guests_can_see_other_guestsbooleanNoAllow guests to see each other
locationstringNoLocation of the event
recurrencearray<string>NoRecurrence rules (iCalendar RRULE format)
schema_versionstringNoOptional schema version to use for tool execution
send_updatesbooleanNoSend update notifications to attendees
start_datetimestringYesEvent start time in RFC3339 format
summarystringYesEvent title/summary
timezonestringNoTimezone for the event (IANA time zone identifier)
tool_versionstringNoOptional tool version to use for execution
transparencystringNoCalendar transparency (free/busy)
visibilitystringNoVisibility of the event

Delete an event from a connected Google Calendar account. Requires the calendar ID and event ID.

NameTypeRequiredDescription
calendar_idstringNoThe ID of the calendar from which the event should be deleted
event_idstringYesThe ID of the calendar event to delete
schema_versionstringNoOptional schema version to use for tool execution
tool_versionstringNoOptional tool version to use for execution

Retrieve a specific calendar event by its ID using optional filtering and list parameters.

NameTypeRequiredDescription
calendar_idstringNoThe calendar ID to search in
event_idstringYesThe unique identifier of the calendar event to fetch
event_typesarray<string>NoFilter by Google event types
querystringNoFree text search query
schema_versionstringNoOptional schema version to use for tool execution
show_deletedbooleanNoInclude deleted events in results
single_eventsbooleanNoExpand recurring events into instances
time_maxstringNoUpper bound for event start time (RFC3339)
time_minstringNoLower bound for event start time (RFC3339)
tool_versionstringNoOptional tool version to use for execution
updated_minstringNoFilter events updated after this time (RFC3339)

List all accessible Google Calendar calendars for the authenticated user. Supports filters and pagination.

NameTypeRequiredDescription
max_resultsintegerNoMaximum number of calendars to fetch
min_access_rolestringNoMinimum access role to include in results
page_tokenstringNoToken to retrieve the next page of results
schema_versionstringNoOptional schema version to use for tool execution
show_deletedbooleanNoInclude deleted calendars in the list
show_hiddenbooleanNoInclude calendars that are hidden from the calendar list
sync_tokenstringNoToken to get updates since the last sync
tool_versionstringNoOptional tool version to use for execution

List events from a connected Google Calendar account with filtering options. Requires a valid Google Calendar OAuth2 connection.

NameTypeRequiredDescription
calendar_idstringNoCalendar ID to list events from
max_resultsintegerNoMaximum number of events to fetch
order_bystringNoOrder of events in the result
page_tokenstringNoPage token for pagination
querystringNoFree text search query
schema_versionstringNoOptional schema version to use for tool execution
single_eventsbooleanNoExpand recurring events into single events
time_maxstringNoUpper bound for event start time (RFC3339 timestamp)
time_minstringNoLower bound for event start time (RFC3339 timestamp)
tool_versionstringNoOptional tool version to use for execution

Update an existing event in a connected Google Calendar account. Only provided fields will be updated. Supports updating time, attendees, location, meeting links, and more.

NameTypeRequiredDescription
attendees_emailsarray<string>NoAttendee email addresses
calendar_idstringYesCalendar ID containing the event
create_meeting_roombooleanNoGenerate a Google Meet link for this event
descriptionstringNoOptional event description
end_datetimestringNoEvent end time in RFC3339 format
event_duration_hourintegerNoDuration of event in hours
event_duration_minutesintegerNoDuration of event in minutes
event_idstringYesThe ID of the calendar event to update
event_typestringNoEvent type for display purposes
guests_can_invite_othersbooleanNoAllow guests to invite others
guests_can_modifybooleanNoAllow guests to modify the event
guests_can_see_other_guestsbooleanNoAllow guests to see each other
locationstringNoLocation of the event
recurrencearray<string>NoRecurrence rules (iCalendar RRULE format)
schema_versionstringNoOptional schema version to use for tool execution
send_updatesbooleanNoSend update notifications to attendees
start_datetimestringNoEvent start time in RFC3339 format
summarystringNoEvent title/summary
timezonestringNoTimezone for the event (IANA time zone identifier)
tool_versionstringNoOptional tool version to use for execution
transparencystringNoCalendar transparency (free/busy)
visibilitystringNoVisibility of the event