Google Calendar
Create, update and find events in Google Calendar.
Connect Google Calendar
- In the sidebar, open Connections and press Add connection.
- Type
calendarand choose Google Calendar. - Press Sign in with Google.
- Choose your account in Google’s window and allow access.
You should see Signed in as and the account’s address. GoRunner can then see and edit its calendars.
You can also connect from a step: under Connection, press New.
What if it says “Google sign-in isn’t set up here”?
This installation has no Google app yet. An admin of the installation sees Set up Google sign-in instead, and sets it up once for everyone:
- In Google Cloud, create an OAuth client of type Web application, and turn on the API for Google Calendar.
- In GoRunner, copy the Redirect address to add in Google Cloud, and add it to the client.
- Paste the Client ID and Client secret, then press Save and sign in.
Publish the app in Google Cloud. An app left in Testing signs everyone out after 7 days.
Everyone else sees who to ask. Until it is set up, Paste an access token instead lets you try a step. A pasted token lasts about an hour and can’t renew itself.
Can I use my own Google app?
Yes. In the sheet, open Use your own Google app and paste its Client ID and Client secret. Add the Redirect address to add in Google Cloud to your app first. The connection then signs in through your app instead of the installation’s.
Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.
Start a workflow
Add a trigger and choose Google Calendar. The trigger uses the same connection as the steps.
On Event Change
Polls a calendar (about once a minute) and fires for each newly created, updated, or cancelled event.
- Calendar · Optional
Calendar id (an email address) to watch, or 'primary'.
Default: primary.
- Trigger On · Optional
Fire when an event is created, updated, or cancelled.
Options: Event Created, Event Updated, Event Cancelled.
Default: Event Created.
- Search Term (optional) · Optional
Only fire for events matching this free-text search.
A later step can use its data, such as {{trigger.change_type}}, {{trigger.end}}, {{trigger.htmlLink}} and 5 more. See Use data from earlier steps.
Do things in Google Calendar
Add a Google Calendar step, choose a Resource, then an Operation. Choose a row to see its fields.
- EventCreate · Get · Get Many · Update · Delete · Add Attendees
- CalendarGet Availability · Create Quick Event · Add Calendar to Calendar List
Later steps read a step’s output by its name: see Use data from earlier steps.
Not in your list? See When an app isn’t here.
For developers
In the API, which calls apps pieces, Google Calendar is pieceId: "googlecalendar" with actionId: "googlecalendar", set by resource and an operation_… field, such as operation_calendar. Its trigger is googlecalendartrigger / googlecalendar_poll. Get an app returns every field.
It can change something outside the run (writes_external). See How versions and side effects work.
Google Calendar › Event
Create
- Calendar · Optional
Calendar id (an email address), or 'primary' for your main calendar.
Default: primary.
- Start · Required
Start time, ISO-8601 (such as 2026-02-01T09:00:00). For an all-day event use the date only.
- End · Required
End time, ISO-8601 (such as 2026-02-01T10:00:00).
- Title · Optional
The event title/summary.
- Description · Optional
Event description.
- Location · Optional
Where the event is.
- Attendees · Optional
Comma-separated attendee email addresses.
- Time Zone · Optional
IANA time zone for the start/end (such as Europe/London). Needed when they are written without an offset (2026-02-01T09:00:00); a time with one (…Z, …+01:00) is that instant.
- Recurrence (RRULE) · Optional
An iCal RRULE, such as FREQ=WEEKLY;INTERVAL=1;COUNT=10. Blank = a single event.
- Color ID · Optional
Event color id (1–11).
- All Day · Optional
Treat start/end as whole-day dates.
Off by default.
- Use Default Reminders · Optional
On: the calendar's default reminders. Off: the Reminders below. Left unset, a new event gets the calendar's default reminders and an updated one keeps its own.
- Reminders · Optional
Reminder overrides, such as [{"method":"popup","minutes":10},{"method":"email","minutes":60}].
Shows when Use Default Reminders is off.
- Add Google Meet · Optional
Attach a Google Meet video conference to the event.
Off by default.
- Visibility · Optional
Event visibility.
Options: Default, Public, Private, Confidential.
- Show Me As · Optional
Whether the event blocks time on your calendar.
Options: Busy, Available.
- Guests Can Modify · Optional
Guests Can Modify. Left unset, a new event gets Google's default (off) and an updated one keeps its setting.
- Guests Can Invite Others · Optional
Guests Can Invite Others. Left unset, a new event gets Google's default (on) and an updated one keeps its setting.
- Guests Can See Other Guests · Optional
Guests Can See Other Guests. Left unset, a new event gets Google's default (on) and an updated one keeps its setting.
- Send Updates · Optional
Who to notify about the change.
Options: Default, All guests, External only, Nobody.
Get
- Calendar · Optional
Calendar id (an email address), or 'primary' for your main calendar.
Default: primary.
- Event ID · Required
The event id.
Get Many
- Calendar · Optional
Calendar id (an email address), or 'primary' for your main calendar.
Default: primary.
- Return All · Optional
Fetch every page of events.
Off by default.
- Limit · Optional
Max events when not returning all.
Default: 50.
Shows when Return All is off.
- After (Time Min) · Optional
Only events that end after this ISO-8601 time (UTC when written without an offset).
- Before (Time Max) · Optional
Only events that start before this ISO-8601 time (UTC when written without an offset).
- Search Text · Optional
Free-text search across event fields.
- Updated After · Optional
Only events modified after this ISO-8601 time (UTC when written without an offset).
- Order By · Optional
Sort order.
Options: Default, Start Time, Updated.
- Expand Recurring Events · Optional
Expand recurring events into individual instances (required for Order By Start Time).
On by default.
- Show Deleted · Optional
Include cancelled events.
Off by default.
Update
- Calendar · Optional
Calendar id (an email address), or 'primary' for your main calendar.
Default: primary.
- Event ID · Required
The event id.
- Start · Optional
New start time, ISO-8601 (leave blank to keep).
- End · Optional
New end time, ISO-8601 (leave blank to keep).
- Title · Optional
The event title/summary.
- Description · Optional
Event description.
- Location · Optional
Where the event is.
- Attendees · Optional
Comma-separated attendee email addresses.
- Time Zone · Optional
IANA time zone for the start/end (such as Europe/London). Needed when they are written without an offset (2026-02-01T09:00:00); a time with one (…Z, …+01:00) is that instant.
- Recurrence (RRULE) · Optional
An iCal RRULE, such as FREQ=WEEKLY;INTERVAL=1;COUNT=10. Blank = a single event.
- Color ID · Optional
Event color id (1–11).
- All Day · Optional
Treat start/end as whole-day dates.
Off by default.
- Use Default Reminders · Optional
On: the calendar's default reminders. Off: the Reminders below. Left unset, a new event gets the calendar's default reminders and an updated one keeps its own.
- Reminders · Optional
Reminder overrides, such as [{"method":"popup","minutes":10},{"method":"email","minutes":60}].
Shows when Use Default Reminders is off.
- Visibility · Optional
Event visibility.
Options: Default, Public, Private, Confidential.
- Show Me As · Optional
Whether the event blocks time on your calendar.
Options: Busy, Available.
- Guests Can Modify · Optional
Guests Can Modify. Left unset, a new event gets Google's default (off) and an updated one keeps its setting.
- Guests Can Invite Others · Optional
Guests Can Invite Others. Left unset, a new event gets Google's default (on) and an updated one keeps its setting.
- Guests Can See Other Guests · Optional
Guests Can See Other Guests. Left unset, a new event gets Google's default (on) and an updated one keeps its setting.
- Send Updates · Optional
Who to notify about the change.
Options: Default, All guests, External only, Nobody.
Delete
- Calendar · Optional
Calendar id (an email address), or 'primary' for your main calendar.
Default: primary.
- Event ID · Required
The event id.
- Send Updates · Optional
Who to notify about the change.
Options: Default, All guests, External only, Nobody.
Add Attendees
- Calendar · Optional
Calendar id (an email address), or 'primary' for your main calendar.
Default: primary.
- Event ID · Required
The event id.
- Attendees to Add · Required
New attendee email addresses to add to the event, comma-separated, or a JSON array (such as ["a@x.io","b@x.io"]). Existing attendees are kept.
- Send Updates · Optional
Who to notify about the change.
Options: Default, All guests, External only, Nobody.
Google Calendar › Calendar
Get Availability
- Calendar · Optional
Calendar id (an email address), or 'primary'.
Default: primary.
- Start · Required
Start of the interval to check, ISO-8601.
- End · Required
End of the interval to check, ISO-8601.
- Output Format · Optional
What to return.
Options: Available (true/false), Booked slots, Raw response.
Default: Available (true/false).
- Time Zone · Optional
IANA time zone for the query (optional): start and end times written without an offset are read in it (in UTC when it is blank).
Create Quick Event
- Calendar · Optional
Calendar id (an email address), or 'primary'.
Default: primary.
- Summary · Required
Natural-language text describing the event (such as 'Lunch with Jane next Tuesday at 1pm').
- Send Updates · Optional
Guests who should be notified about the new event.
Options: Nobody, All guests, External only.
Default: Nobody.
Add Calendar to Calendar List
- Calendar ID · Required
The id of the calendar to add to your calendar list (find it in that calendar's settings).