Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 125 additions & 7 deletions apps/docs/content/docs/en/integrations/google_calendar.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,12 @@ Create a new event in Google Calendar. Returns API-aligned fields only.
| `summary` | string | Yes | Event title/summary |
| `description` | string | No | Event description |
| `location` | string | No | Event location |
| `startDateTime` | string | Yes | Start date and time. MUST include timezone offset \(e.g., 2025-06-03T10:00:00-08:00\) OR provide timeZone parameter |
| `endDateTime` | string | Yes | End date and time. MUST include timezone offset \(e.g., 2025-06-03T11:00:00-08:00\) OR provide timeZone parameter |
| `startDateTime` | string | Yes | Start time. Use a datetime with timezone offset \(2025-06-03T10:00:00-08:00\) or a date \(2025-06-03\) for an all-day event |
| `endDateTime` | string | Yes | End time. Use a datetime with timezone offset \(2025-06-03T11:00:00-08:00\) or a date \(2025-06-04\) for an all-day event |
| `timeZone` | string | No | Time zone \(e.g., America/Los_Angeles\). Required if datetime does not include offset. Defaults to America/Los_Angeles if not provided. |
| `attendees` | array | No | Array of attendee email addresses |
| `recurrence` | string | No | Recurrence rule\(s\) in RFC 5545 format \(e.g., RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\). Separate multiple rules with newlines. |
| `addGoogleMeet` | boolean | No | Attach a Google Meet video conference link to the event |
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none |

#### Output
Expand All @@ -60,10 +62,12 @@ Create a new event in Google Calendar. Returns API-aligned fields only.
| --------- | ---- | ----------- |
| `id` | string | Event ID |
| `htmlLink` | string | Event link |
| `hangoutLink` | string | Google Meet link |
| `status` | string | Event status |
| `summary` | string | Event title |
| `description` | string | Event description |
| `location` | string | Event location |
| `recurrence` | json | Recurrence rules |
| `start` | json | Event start |
| `end` | json | Event end |
| `attendees` | json | Event attendees |
Expand All @@ -81,7 +85,10 @@ List events from Google Calendar. Returns API-aligned fields only.
| `calendarId` | string | No | Google Calendar ID \(e.g., primary or calendar@group.calendar.google.com\) |
| `timeMin` | string | No | Lower bound for events \(RFC3339 timestamp, e.g., 2025-06-03T00:00:00Z\) |
| `timeMax` | string | No | Upper bound for events \(RFC3339 timestamp, e.g., 2025-06-04T00:00:00Z\) |
| `orderBy` | string | No | Order of events returned \(startTime or updated\) |
| `q` | string | No | Free-text search across event summary, description, location, attendees, and organizer |
| `maxResults` | number | No | Maximum number of events to return \(max 2500\) |
| `pageToken` | string | No | Token for retrieving the next page of results |
| `orderBy` | string | No | Order of events returned \(startTime or updated\). Defaults to startTime. |
| `showDeleted` | boolean | No | Include deleted events |

#### Output
Expand Down Expand Up @@ -132,10 +139,12 @@ Update an existing event in Google Calendar. Returns API-aligned fields only.
| `summary` | string | No | New event title/summary |
| `description` | string | No | New event description |
| `location` | string | No | New event location |
| `startDateTime` | string | No | New start date and time. MUST include timezone offset \(e.g., 2025-06-03T10:00:00-08:00\) OR provide timeZone parameter |
| `endDateTime` | string | No | New end date and time. MUST include timezone offset \(e.g., 2025-06-03T11:00:00-08:00\) OR provide timeZone parameter |
| `startDateTime` | string | No | New start time. Use a datetime with timezone offset \(2025-06-03T10:00:00-08:00\) or a date \(2025-06-03\) for an all-day event |
| `endDateTime` | string | No | New end time. Use a datetime with timezone offset \(2025-06-03T11:00:00-08:00\) or a date \(2025-06-04\) for an all-day event |
| `timeZone` | string | No | Time zone \(e.g., America/Los_Angeles\). Required if datetime does not include offset. |
| `attendees` | array | No | Array of attendee email addresses \(replaces existing attendees\) |
| `attendees` | array | No | Array of attendee email addresses \(replaces the existing attendee list\) |
| `recurrence` | string | No | Recurrence rule\(s\) in RFC 5545 format \(e.g., RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR\). Separate multiple rules with newlines. |
| `addGoogleMeet` | boolean | No | Attach a Google Meet video conference link to the event |
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none |

#### Output
Expand All @@ -144,10 +153,12 @@ Update an existing event in Google Calendar. Returns API-aligned fields only.
| --------- | ---- | ----------- |
| `id` | string | Event ID |
| `htmlLink` | string | Event link |
| `hangoutLink` | string | Google Meet link |
| `status` | string | Event status |
| `summary` | string | Event title |
| `description` | string | Event description |
| `location` | string | Event location |
| `recurrence` | json | Recurrence rules |
| `start` | json | Event start |
| `end` | json | Event end |
| `attendees` | json | Event attendees |
Expand Down Expand Up @@ -298,7 +309,7 @@ Invite attendees to an existing Google Calendar event. Returns API-aligned field
| `calendarId` | string | No | Google Calendar ID \(e.g., primary or calendar@group.calendar.google.com\) |
| `eventId` | string | Yes | Google Calendar event ID to invite attendees to |
| `attendees` | array | Yes | Array of attendee email addresses to invite |
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none |
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none \(defaults to all\) |
| `replaceExisting` | boolean | No | Whether to replace existing attendees or add to them \(defaults to false\) |

#### Output
Expand All @@ -317,6 +328,113 @@ Invite attendees to an existing Google Calendar event. Returns API-aligned field
| `creator` | json | Event creator |
| `organizer` | json | Event organizer |

### `google_calendar_freebusy`

Query free/busy information for one or more Google Calendars. Returns API-aligned fields only.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `calendarIds` | string | Yes | Comma-separated calendar IDs to query \(e.g., "primary,other@example.com"\) |
| `timeMin` | string | Yes | Start of the time range \(RFC3339 timestamp, e.g., 2025-06-03T00:00:00Z\) |
| `timeMax` | string | Yes | End of the time range \(RFC3339 timestamp, e.g., 2025-06-04T00:00:00Z\) |
| `timeZone` | string | No | IANA time zone \(e.g., "UTC", "America/New_York"\). Defaults to UTC. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `timeMin` | string | Start of the queried time range |
| `timeMax` | string | End of the queried time range |
| `calendars` | json | Per-calendar free/busy data with busy periods and any errors |

### `google_calendar_create_calendar`

Create a new secondary calendar. Returns API-aligned fields only.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `summary` | string | Yes | Title of the new calendar |
| `description` | string | No | Description of the new calendar |
| `location` | string | No | Geographic location of the calendar as free-form text |
| `timeZone` | string | No | Time zone of the calendar as an IANA name \(e.g., America/Los_Angeles\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Calendar ID |
| `summary` | string | Calendar title |
| `description` | string | Calendar description |
| `location` | string | Calendar location |
| `timeZone` | string | Calendar time zone |

### `google_calendar_share_calendar`

Grant a user, group, or domain access to a calendar. Returns API-aligned fields only.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `calendarId` | string | No | Calendar ID to share \(e.g., primary or calendar@group.calendar.google.com\) |
| `role` | string | Yes | Access role to grant: freeBusyReader, reader, writer, or owner |
| `scopeType` | string | Yes | Type of grantee: user, group, domain, or default \(public\) |
| `scopeValue` | string | No | Email \(user/group\), domain name \(domain\), or empty for default. Required unless scope type is default. |
| `sendNotifications` | boolean | No | Whether to send a notification email about the change. Defaults to true. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | ACL rule ID |
| `role` | string | Granted access role |
| `scope` | json | Grantee scope \(type and value\) |

### `google_calendar_list_acl`

List the access control rules (sharing) for a calendar. Returns API-aligned fields only.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `calendarId` | string | No | Calendar ID to inspect \(e.g., primary or calendar@group.calendar.google.com\) |
| `maxResults` | number | No | Maximum number of ACL rules to return |
| `pageToken` | string | No | Token for retrieving subsequent pages of results |
| `showDeleted` | boolean | No | Include deleted ACL rules \(with role "none"\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `nextPageToken` | string | Next page token |
| `rules` | array | List of ACL rules |
| ↳ `id` | string | ACL rule ID |
| ↳ `role` | string | Access role |
| ↳ `scope` | json | Grantee scope \(type and value\) |

### `google_calendar_unshare_calendar`

Revoke an access control rule (sharing) from a calendar. Returns API-aligned fields only.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `calendarId` | string | No | Calendar ID to modify \(e.g., primary or calendar@group.calendar.google.com\) |
| `ruleId` | string | Yes | ACL rule ID to remove \(e.g., user:person@example.com\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ruleId` | string | Removed ACL rule ID |
| `deleted` | boolean | Whether removal was successful |



## Triggers
Expand Down
Loading
Loading