Google Calendar
Type ID: googleCalendar · Kind: Action · Trace: TOOL
Fetch and create events using the Google Calendar API.
Credentials
Google Calendar
Resources & operations
- Event (
event)- Create (
create) — Create an event - Read All (
readAll) — Fetch events from a calendar
- Create (
Properties
Common
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Resource | resource | options | No | event | Event (event) | — |
| Operation | operation | options | No | readAll | Create (create), Read All (readAll) | resource = event |
Event → Create
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Calendar ID | calendarId | string | Yes | primary | Calendar ID; use primary for the connected account primary calendar | resource = event, operation = create |
| Summary | summary | string | No | '' | Event summary/title | resource = event, operation = create |
| Start | start | dateTime | Yes | '' | Event start in RFC3339 format | resource = event, operation = create |
| End | end | dateTime | Yes | '' | Event end in RFC3339 format | resource = event, operation = create |
| Additional Fields | additionalFields | object | No | {} | Collection (see below) | resource = event, operation = create |
additionalFields collection options:
| Property | Key | Type | Required | Default | Possible values |
|---|---|---|---|---|---|
| Description | description | string | No | '' | Free text |
| Location | location | string | No | '' | Free text |
| Time Zone | timeZone | string | No | '' | Optional IANA time zone applied to both start and end |
Event → Read All
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Calendar ID | calendarId | string | Yes | primary | Calendar ID; use primary for the connected account primary calendar | resource = event, operation = readAll |
| Output | output | options | No | simple | Simplified (simple), Raw (raw), Select Included Fields (fields) | resource = event, operation = readAll |
| Limit | limit | number | Yes | 100 | Maximum number of events to return across paginated results | resource = event, operation = readAll |
| Fields | fields | checkbox | Yes | [] | id, status, summary, description, location, htmlLink, updated, start, end | resource = event, operation = readAll, output = fields |
| Filters | userFilters | object | No | {} | Collection (see below) | resource = event, operation = readAll |
userFilters collection options:
| Property | Key | Type | Required | Default | Possible values |
|---|---|---|---|---|---|
| Search | query | string | No | '' | Free-text search query for matching event fields |
| Start After | timeMin | dateTime | No | '' | Return events ending after this RFC3339 date-time |
| Start Before | timeMax | dateTime | No | '' | Return events starting before this RFC3339 date-time |
| Expand Recurring Events | singleEvents | boolean | No | true | true / false (return recurring events as separate instances) |
| Include Deleted | showDeleted | boolean | No | false | true / false |
| Time Zone | timeZone | string | No | '' | Optional IANA time zone used by the API response |
Notes
- Requires a Google Calendar credential; the credential ID is read from
credentials.idand resolved to an OAuth bearer token. A missing token raisesWorkflow error, credentials missing. - All requests go to
https://www.googleapis.com/calendar/v3withAuthorization: Bearer <token>. - Create posts to
/calendars/{calendarId}/eventswith{ summary, start: { dateTime }, end: { dateTime } }.descriptionandlocationare added only when present;timeZone(from additional fields) is applied to bothstart.timeZoneandend.timeZone. Output:{ success: true, eventId, htmlLink, status, createdEvent }. - Read All calls
GET /calendars/{calendarId}/eventsand paginates vianextPageTokenuntillimitevents are collected. Per-pagemaxResultsis capped at 250 (and overall request capped at 2500); whensingleEventsis true,orderByis set tostartTime. Optional query params (q,timeMin,timeMax,timeZone) are added only when set. Results are sliced tolimit, then shaped peroutput(rawfull event,simplereduced shape,fieldsselected keys). Output:{ success: true, count, data }.