Skip to content

Google Calendar ​

Interact with Google Calendar events

This node signs in with a credential: Google Oauth2. See Connect a credential.

Triggers ​

Events from this node that can start a flow. Add one from Choose a trigger.

Calendar Event Trigger ​

The calendar event trigger

Settings

FieldTypeRequiredDescription
Webhook Configuration › Hook URLTextYesThe URL for the hook
Webhook Configuration › Hook API KeySecret textYesThe API key for the hook
CalendarChoice (loaded from your account)YesSelect the calendar to watch for events
Event TypesMultiple choiceFilter by event change type (leave empty to trigger on all changes)
Options: New Events, Updated Events, Deleted Events
Filter by AttendeesTextComma-separated email addresses (triggers only if event includes these attendees)
Keyword FilterTextComma-separated keywords to match in event title or description

Output

Later steps use this data through Current Trigger in the $ picker. For example, calendarId is $trigger.output.calendarId.

json
{
  "calendarId": "string",
  "error": "string",
  "eventCount": 0,
  "events": [
    {
      "id": "string",
      "summary": "string",
      "description": "string",
      "start": {
        "date": "string",
        "dateTime": "2026-01-01T09:00:00Z"
      },
      "end": {
        "date": "string",
        "dateTime": "2026-01-01T09:00:00Z"
      },
      "location": "string",
      "status": "confirmed",
      "creator": {
        "displayName": "string",
        "email": "string"
      },
      "attendees": [
        {}
      ],
      "reminders": {
        "overrides": [],
        "useDefault": false
      }
    }
  ],
  "message": "string",
  "newSyncToken": "string",
  "nextPageToken": "string",
  "nextSyncToken": "string",
  "resourceState": "string",
  "timestamp": 0,
  "triggerType": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
calendarIdTextID of the watched calendar
errorTextSet instead of the other fields when the trigger could not read the calendar
eventCountNumberNumber of events in events
events[]ListChanged events that passed the trigger filters. With calendar_event, the events Google listed, unfiltered
events[].idTextThe unique identifier for the event
events[].summaryTextThe event title
events[].descriptionTextThe event description
events[].startObjectThe start time of the event
events[].start.dateText
events[].start.dateTimeText
events[].endObjectThe end time of the event
events[].end.dateText
events[].end.dateTimeText
events[].locationTextThe event location
events[].statusTextThe event status
events[].creatorObjectThe event creator
events[].creator.displayNameText
events[].creator.emailText
events[].attendees[]ListThe event attendees
events[].attendees[].displayNameText
events[].attendees[].emailText
events[].attendees[].responseStatusText
events[].remindersObjectEvent reminders
events[].reminders.overrides[]List
events[].reminders.overrides[].methodText
events[].reminders.overrides[].minutesNumber
events[].reminders.useDefaultYes / No
messageTextSet on the initial sync confirmation
newSyncTokenTextSync token for the next change notification
nextPageTokenTextcalendar_event only: set when Google has more events than events holds
nextSyncTokenTextcalendar_event only: Google's sync token for the listed events
resourceStateTextSet on the initial sync confirmation
timestampNumberWhen the trigger ran, in Unix milliseconds
triggerTypeTextgcal_push for event changes, gcal_sync for the initial sync confirmation, calendar_event on the older path that lists the calendar's events

Actions ​

Steps this node can perform. Add one from Add a step, then pick the action.

Create Event ​

Create a new calendar event

Settings

FieldTypeRequiredDescription
CalendarChoice (loaded from your account)YesSelect the calendar
SummaryTextYesThe event title
DescriptionTextYesThe event description
Start TimeDate and timeYesThe event start time. Format: YYYY-MM-DDTHH:MM:SS±HH:MM
End TimeDate and timeYesThe event end time. Format: YYYY-MM-DDTHH:MM:SS±HH:MM
LocationTextThe event location
AttendeesListYesThe event attendees

Output

Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.

json
{
  "id": "string",
  "summary": "string",
  "description": "string",
  "start": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "end": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "location": "string",
  "status": "confirmed",
  "creator": {
    "displayName": "string",
    "email": "string"
  },
  "attendees": [
    {
      "displayName": "string",
      "email": "string",
      "responseStatus": "needsAction"
    }
  ],
  "reminders": {
    "overrides": [
      {
        "method": "email",
        "minutes": 0
      }
    ],
    "useDefault": false
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextThe unique identifier for the event
summaryTextThe event title
descriptionTextThe event description
startObjectThe start time of the event
start.dateText
start.dateTimeText
endObjectThe end time of the event
end.dateText
end.dateTimeText
locationTextThe event location
statusTextThe event status
creatorObjectThe event creator
creator.displayNameText
creator.emailText
attendees[]ListThe event attendees
attendees[].displayNameText
attendees[].emailText
attendees[].responseStatusText
remindersObjectEvent reminders
reminders.overrides[]List
reminders.overrides[].methodText
reminders.overrides[].minutesNumber
reminders.useDefaultYes / No

Update Event ​

Update an existing calendar event

Settings

FieldTypeRequiredDescription
CalendarChoice (loaded from your account)YesSelect the calendar
Event IDTextYesThe event identifier
SummaryTextThe event title
DescriptionTextThe event description
Start TimeDate and timeThe event start time. Format: YYYY-MM-DDTHH:MM:SS±HH:MM
End TimeDate and timeThe event end time. Format: YYYY-MM-DDTHH:MM:SS±HH:MM
LocationTextThe event location
Send UpdatesChoiceGuests who should receive notifications about the event update (for example, title changes, etc.)
Options: All, External Only, None

Output

Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.

json
{
  "id": "string",
  "summary": "string",
  "description": "string",
  "start": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "end": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "location": "string",
  "status": "confirmed",
  "creator": {
    "displayName": "string",
    "email": "string"
  },
  "attendees": [
    {
      "displayName": "string",
      "email": "string",
      "responseStatus": "needsAction"
    }
  ],
  "reminders": {
    "overrides": [
      {
        "method": "email",
        "minutes": 0
      }
    ],
    "useDefault": false
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextThe unique identifier for the event
summaryTextThe event title
descriptionTextThe event description
startObjectThe start time of the event
start.dateText
start.dateTimeText
endObjectThe end time of the event
end.dateText
end.dateTimeText
locationTextThe event location
statusTextThe event status
creatorObjectThe event creator
creator.displayNameText
creator.emailText
attendees[]ListThe event attendees
attendees[].displayNameText
attendees[].emailText
attendees[].responseStatusText
remindersObjectEvent reminders
reminders.overrides[]List
reminders.overrides[].methodText
reminders.overrides[].minutesNumber
reminders.useDefaultYes / No

Delete Event ​

Delete a calendar event

Settings

FieldTypeRequiredDescription
CalendarChoice (loaded from your account)YesSelect the calendar
Event IDTextYesThe event identifier
Send UpdatesChoiceGuests who should receive notifications about the deletion
Options: All, External Only, None

Output

Later steps use this data by picking this step in the $ picker. For example, success is $.<step ID>.output.success.

json
{
  "success": false,
  "message": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
successYes / NoWhether the event was deleted successfully
messageTextStatus message for the delete operation

List Events ​

List calendar events

Settings

FieldTypeRequiredDescription
CalendarChoice (loaded from your account)YesSelect the calendar
Event TypesListThe event types to list. If not specified, all event types will be listed.
Page TokenTextThe token for the next page of results

Output

Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.

json
{
  "id": "string",
  "summary": "string",
  "description": "string",
  "start": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "end": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "location": "string",
  "status": "confirmed",
  "creator": {
    "displayName": "string",
    "email": "string"
  },
  "attendees": [
    {
      "displayName": "string",
      "email": "string",
      "responseStatus": "needsAction"
    }
  ],
  "reminders": {
    "overrides": [
      {
        "method": "email",
        "minutes": 0
      }
    ],
    "useDefault": false
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextThe unique identifier for the event
summaryTextThe event title
descriptionTextThe event description
startObjectThe start time of the event
start.dateText
start.dateTimeText
endObjectThe end time of the event
end.dateText
end.dateTimeText
locationTextThe event location
statusTextThe event status
creatorObjectThe event creator
creator.displayNameText
creator.emailText
attendees[]ListThe event attendees
attendees[].displayNameText
attendees[].emailText
attendees[].responseStatusText
remindersObjectEvent reminders
reminders.overrides[]List
reminders.overrides[].methodText
reminders.overrides[].minutesNumber
reminders.useDefaultYes / No

Move Event ​

Move a calendar event to a different calendar

Settings

FieldTypeRequiredDescription
CalendarChoice (loaded from your account)YesSelect the source calendar
Event IDTextYesThe event identifier
Destination CalendarChoice (loaded from your account)YesSelect the destination calendar
Send UpdatesChoiceGuests who should receive notifications about the move
Options: All, External Only, None
Default: all

Output

Later steps use this data by picking this step in the $ picker. For example, id is $.<step ID>.output.id.

json
{
  "id": "string",
  "summary": "string",
  "description": "string",
  "start": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "end": {
    "date": "string",
    "dateTime": "2026-01-01T09:00:00Z"
  },
  "location": "string",
  "status": "confirmed",
  "creator": {
    "displayName": "string",
    "email": "string"
  },
  "attendees": [
    {
      "displayName": "string",
      "email": "string",
      "responseStatus": "needsAction"
    }
  ],
  "reminders": {
    "overrides": [
      {
        "method": "email",
        "minutes": 0
      }
    ],
    "useDefault": false
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
idTextThe unique identifier for the event
summaryTextThe event title
descriptionTextThe event description
startObjectThe start time of the event
start.dateText
start.dateTimeText
endObjectThe end time of the event
end.dateText
end.dateTimeText
locationTextThe event location
statusTextThe event status
creatorObjectThe event creator
creator.displayNameText
creator.emailText
attendees[]ListThe event attendees
attendees[].displayNameText
attendees[].emailText
attendees[].responseStatusText
remindersObjectEvent reminders
reminders.overrides[]List
reminders.overrides[].methodText
reminders.overrides[].minutesNumber
reminders.useDefaultYes / No