Skip to content
Agentic Workflowdocs
v0.8.2Install free

nodes / builtin / integration

Google Calendar

Integrate with Google Calendar to create, list and update events.

Integration ExtensionWeb app

Create, read, update and delete Google Calendar events, list your calendars, and check when you are free or busy.

The Google Calendar node works on three kinds of things (Resource):

  • Event: Create, Update, Delete, Get one event, or List events in a time range.
  • Calendar: List the calendars in your account, with their ids.
  • Free/busy: Query the busy times of one or more calendars between two moments.

Without a Calendar ID, the node uses your main calendar (primary). Update only changes the fields you fill; the rest of the event stays as it is. List expands recurring events into single occurrences and sorts them by start time, up to Max results (50 by default).

When you fill Source URL, it is added at the end of the description as Source: …, so an event created from a booking page or a webinar sign-up keeps the link.

  • Turn a booking confirmation, event page or deadline you are reading into a calendar event.
  • Send yourself a morning summary of today’s events.
  • Check free/busy before proposing a meeting slot.
  • Use Microsoft 365 instead for an Outlook calendar.
For every choice
SettingTypeWhat it does
Credential (required)CredentialThe Credential to use to make request.

7 choices · pick resource and operation to see its settings

Event
Calendar
Free/busy

Settings for Event · Create

SettingTypeWhat it does
Calendar ID TextThe calendar to use — "primary" (default) or an ID from Calendar → List.
Title (required)TextThe event title (summary).
Description TextThe event description.
Source URL TextThe page URL to attach — appended to the event description when present.
Location TextThe event location.
Start (date-time) TextTimed-event start as an RFC3339 date-time, e.g. 2026-09-10T09:00:00.
End (date-time) TextTimed-event end as an RFC3339 date-time.
Start (all-day date) TextAll-day start as YYYY-MM-DD (use instead of the date-time fields).
End (all-day date) TextAll-day end as YYYY-MM-DD (exclusive).
Time Zone TextIANA time zone for the start/end, e.g. America/New_York (timed events).
Attendees ListEmail addresses to invite.
Recurrence ListRRULE strings, e.g. RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=8.

Showing settings for Event · Create

  • For a timed event, fill Start (date-time) and End (date-time), for example 2026-09-10T09:00:00, and set Time Zone (for example Europe/Paris) so the time is not misread.
  • For an all-day event, fill Start (all-day date) and End (all-day date) instead, as YYYY-MM-DD. The end day is not included: a one-day event on 10 September ends on 2026-09-11.
  • Time min and Time max need a full date-time with a time zone offset, for example 2026-09-10T00:00:00Z or 2026-09-10T00:00:00+02:00.
  • Recurrence takes one rule per entry, for example RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=8 for eight Mondays.
  • Output
  • Create, Update and Get return the event, including its id (reuse it in Event ID) and htmlLink (a link that opens it in Google Calendar).
  • Event → List returns the events in items. Use Split Out on items to get one item per event.
  • Calendar → List returns your calendars in items, each with its id.
  • Free/busy → Query returns, for each calendar, its busy periods with start and end.
  • Delete returns success: true.

Google Calendar connects by signing in to your Google account (OAuth). You first create your own Google OAuth client once, with the Google Calendar API enabled: follow Create your OAuth client. Then create a Google Calendar credential, paste the Client ID and Client Secret, click Check connection and approve the Google window. AWFlow asks to read and edit your events and to read your calendars. The sign-in is kept and refreshed for you. See also Create a credential.

  1. A Context Menu trigger runs when you right-click a webinar page.
  2. Get All Text reads the page.
  3. Information Extractor pulls out title, start and end as date-times.
  4. Google Calendar, Event → Create, Title {{ $input.title }}, Start (date-time) {{ $input.start }}, End (date-time) {{ $input.end }}, Time Zone Europe/Paris, Source URL {{ $('Context Menu').pageUrl }}.
  • The event is at the wrong time. The start and end have no time zone. Set Time Zone, or write the offset in the date-time, such as 2026-09-10T09:00:00+02:00.
  • “Google Calendar Error: … Not Found”. The Event ID does not exist in this Calendar ID. Check both; an event from another calendar needs that calendar’s id.
  • “… Bad Request” on Event → List or Free/busy. Time min or Time max lacks a time zone offset. Add Z or +02:00 at the end.
  • “… insufficient authentication scopes” or a 403 error. The Google Calendar API is not enabled for your OAuth client, or the sign-in predates a permission change. Enable the API, then click Check connection again on the credential.
Edit page

Last updated:

Was this page useful?
Ask Aria about Google Calendar