Skip to main content
Google Calendar logo

Overview

Add Google Calendar to any ModuleX agent or workflow. Manage Google Calendar events, calendars, attendees, recurring series, and free/busy availability via the Google Calendar v3 REST API (https://www.googleapis.com/calendar/v3).
Categories: Scheduling & Events · Productivity & Collaboration · Scheduling · Auth: OAuth2 · Actions: 16

Authentication

OAuth2 Authentication

Connect using Google OAuth (recommended). Grants access to read and manage the user’s calendars and events.

Required Credentials

OAuth Configuration

  • Authorization URL: https://accounts.google.com/o/oauth2/v2/auth
  • Token URL: https://oauth2.googleapis.com/token
  • Scopes: https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/calendar.events

Available Actions

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar, or a calendar email/ID). (Default: primary)
string
required
ID of the event to update.
array
required
List of attendee email addresses to add (existing attendees are preserved).
string
Whether to send notifications about the update. One of: all, externalOnly, none.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar, or a calendar email/ID). (Default: primary)
string
required
Event title.
string
required
Event start. For all-day events: yyyy-mm-dd. For timed events: RFC3339, e.g. 2025-01-15T10:00:00-05:00.
string
required
Event end. Same formats as event_start_date.
string
Event location.
string
Event description.
array
List of attendee email addresses.
string
Color ID for the event. See list_color_id_options for valid values.
string
IANA time zone name for the event (e.g. ‘America/New_York’). Defaults to the calendar’s time zone.
string
Whether to send invitations. One of: all, externalOnly, none.
boolean
Whether to attach a Google Meet conference link to this event. (Default: false)
string
Event visibility. One of: default, public, private, confidential.
string
Recurrence frequency. One of: DAILY, WEEKLY, MONTHLY, YEARLY.
integer
Recurrence interval (1 = every period, 2 = every other, …). Defaults to 1.
array
Two-letter day codes for WEEKLY recurrence (SU,MO,TU,WE,TH,FR,SA).
string
End date for recurrence (yyyy-mm-dd). Mutually exclusive with repeat_times.
integer
Number of occurrences. Mutually exclusive with repeat_until.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
required
ID of the event to delete.
string
Whether to send cancellation notifications. One of: all, externalOnly, none.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)

Response

Response

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
required
ID of the event to retrieve.

Response

Response

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
required
ID of the recurring event.
integer
Maximum attendees per instance to include.
integer
Maximum number of instances to return across paged calls.
boolean
Include cancelled instances.
string
Lower bound (RFC3339) for instance start times.
string
Upper bound (RFC3339) for instance start times.
string
IANA time zone used in the response.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
Specifies an iCalendar UID to filter by.
integer
Maximum attendees per event to include.
integer
Maximum number of events to return across paged calls.
string
Sort order. One of: startTime, updated. startTime requires single_events=true.
string
propertyName=value constraint on private extended properties.
string
Free-text search across event fields.
string
propertyName=value constraint on shared extended properties.
boolean
Include cancelled events.
boolean
Include hidden invitations.
boolean
Expand recurring events into individual instances.
string
Upper bound (RFC3339) for event start times.
string
Lower bound (RFC3339) for event start times.
string
IANA time zone used in the response.
string
Lower bound (RFC3339) for event last-modified time.
array
Filter by event type. Values: default, focusTime, outOfOffice, workingLocation.

Response

Parameters

array
required
List of calendar IDs to query (use ‘primary’ for the user’s primary calendar). (Default: ["primary"])
string
required
Start of the query window (RFC3339).
string
required
End of the query window (RFC3339).
string
IANA time zone for the response.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
required
Natural-language event description, e.g. ‘Meet with Sarah at 3pm Friday’.
array
Optional list of attendee email addresses to add after parsing.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
required
ID of the event to update.
string
New event title.
string
New start (yyyy-mm-dd for all-day, or RFC3339 for timed).
string
New end (yyyy-mm-dd for all-day, or RFC3339 for timed).
string
New event location.
string
New event description.
array
Replacement list of attendee email addresses.
string
New color ID for the event.
string
IANA time zone (defaults to the event’s existing time zone).
string
Whether to send notifications. One of: all, externalOnly, none.
string
Updated recurrence frequency. One of: DAILY, WEEKLY, MONTHLY, YEARLY.
integer
Updated recurrence interval.
array
Two-letter day codes for WEEKLY recurrence.
string
New end date for recurrence (yyyy-mm-dd).
integer
New number of occurrences.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
required
ID of the specific recurring-event instance to update.
string
New event title.
string
New start (yyyy-mm-dd for all-day, or RFC3339 for timed).
string
New end (yyyy-mm-dd for all-day, or RFC3339 for timed).
string
New event location.
string
New event description.
array
Replacement list of attendee email addresses.
string
New color ID for the event instance.
string
IANA time zone (defaults to the instance’s existing time zone).
string
Whether to send notifications. One of: all, externalOnly, none.

Response

Parameters

string
Calendar identifier (use ‘primary’ for the user’s primary calendar). (Default: primary)
string
required
ID of the parent recurring event.
string
required
ID of the instance from which the split begins (this and all following instances are updated).
string
New event title for the split series.
string
New start (yyyy-mm-dd or RFC3339) for the split series.
string
New end (yyyy-mm-dd or RFC3339) for the split series.
string
New location for the split series.
string
New description for the split series.
array
Replacement list of attendee email addresses.
string
New color ID for the split series.
string
IANA time zone for the split series.
string
Whether to send notifications. One of: all, externalOnly, none.
string
Optional new recurrence frequency for the split series.
integer
Optional new recurrence interval for the split series.
string
Optional new recurrence end date (yyyy-mm-dd).
integer
Optional new occurrence count.

Response

Limits & Quotas

  • Per-user default quota: ~1,000,000 queries/day; per-user per-100-seconds quota also applies (see Google Calendar API quotas).
  • Quotas are shared across all Google Calendar API methods for the authenticated user.
  • list_events and list_event_instances page through results internally and honor max_results as a soft cap across pages.
  • update_following_instances performs four sequential API calls (get original, get instance, delete instance, trim recurrence, create new event); on partial failure the deleted instance is restored automatically when possible. Network or quota errors mid-flow can leave the series in a manually-recoverable state.
  • Error model: non-2xx responses raise (Pattern A). The runtime surfaces them as failed tool calls; the agent decides whether to retry.

Microsoft Bookings

Cal.com

Luma