Integrations / Forms & scheduling

Google Calendar

List calendars, search events in a time window, check free/busy times, create, update and delete events in Google Calendar, and trigger workflows when a calendar changes.

9 tools 1 trigger event Connect with OAuth

Tools

google_calendar.list_calendars

List the calendars on the account's calendar list with their IDs; the account's own calendar has primary true and can be addressed as primary.

min_access_rolemax_results

google_calendar.list_events

List or search events in a time window, expanding recurring events into single instances ordered by start time.

calendar_id*time_mintime_maxqmax_resultspage_tokentime_zone

google_calendar.get_event

Get an event by ID, e.g. 7kq2c9m1l0s8b3u4v5n6p7r8t9.

calendar_id*event_id*time_zone

google_calendar.create_event writes

Create an event; give start and end as date-times for a timed event, or start_date and end_date for an all-day one.

calendar_id*summary*descriptionlocationstartendstart_dateend_dateattendeessend_updates

google_calendar.update_event writes

Change an event's fields; fields you leave out stay as they are, and attendees replaces the whole list.

calendar_id*event_id*summarydescriptionlocationstartendstart_dateend_datestatusattendeessend_updates

google_calendar.delete_event writes

Delete an event.

calendar_id*event_id*send_updates

google_calendar.query_free_busy

Get the busy periods of one or more calendars in a time window, e.g. to find a free slot.

time_min*time_max*items*time_zone

google_calendar.api_get

Send a GET request to any Google Calendar API path under https://www.googleapis.com/calendar/v3 and return the response. For endpoints the named tools don't cover.

path*params

google_calendar.api_request writes

Send a POST, PUT, PATCH or DELETE request to any Google Calendar API path under https://www.googleapis.com/calendar/v3.

method*path*paramsbody

Tick Allow raw writes on the connection to add api_request, which can send POST, PUT, PATCH and DELETE requests to any Google Calendar API path.

Connect

  1. In the Google Cloud console, create or pick a project and enable the Google Calendar API under APIs & Services → Library.
  2. Under Google Auth Platform, fill in Branding, choose the Audience (Internal for a Google Workspace organization, or External with yourself as a test user), and under Data Access add these scopes: calendar.calendarlist.readonly (list calendars), calendar.events (read and write events on every calendar the account can access) and calendar.freebusy (free/busy lookups).
  3. Under Google Auth Platform → Clients, create a Web application client and add the redirect URL shown on the connection page (https://<this app>/oauth/callback) as an authorized redirect URI.
  4. Paste the client ID and client secret on the connection, save, and use Connect to sign in with Google.
  5. While an External app's publishing status is Testing, only its test users can connect and Google expires their refresh tokens after 7 days, so publish the app for a lasting connection.

Press Connect on the connection to approve access at Google Calendar. Tokens renew automatically. How OAuth connections work

Credentials

OAuth client secret

Google Calendar API docs

Triggers

Tick Watch calendar changes and save. Murmurator opens a push channel with this URL and replaces it before it expires. Google's notification only says the calendar changed, with no event in it: follow it with list_events using an updated-since time to see what changed.

Events

exists
trigger
kind: google_calendar connection: google_calendar events: [exists] watch: [...]

Your next automation is one sentence away.

14-day free trial with $5 of built-in AI included. Cancel anytime.