Google Calendar
Connect Google Calendar to the rest of your business: accounts, files, mail and calendars kept in step.
16 ways to read, 12 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Google Calendar, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Add calendar to listApproval by rule
- Create calendarApproval by rule
- List sharing rulesRead
Example flow
- Google Calendar · List sharing rulesDone
- Google Calendar · Add calendar to listNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Google Calendar.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Google Calendar
- Google Calendar's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a Google test account before you go live.
For developers
Technical detail
Read calendars, events, free/busy, settings and Google Tasks with incremental sync; create and update calendars, events and tasks without emailing guests.
Google API docs- Source actions
- 16
- Destination actions
- 12
- Data types
- 12
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Acl rules2
- Get sharing ruleSource
One sharing rule on a calendar.
- List sharing rulesSource
Who a calendar is shared with and their role. Read-only.
Calendar list4
- Add calendar to listDestinationProvider duplicate protectionApproval before production
Adds an existing calendar the user can access (for example a shared team calendar) to their calendar list, with display options.
- Get calendar list entrySource
One calendar list entry with the user's colour, visibility and reminders.
- List calendarsSourceIncremental
Calendars on the authorised user's calendar list, with access role and colours.
- Update calendar list entryDestinationProvider duplicate protectionApproval before production
Changes how a calendar appears for the user: display name, colour, hidden or selected state and default reminders.
Calendars3
- Create calendarDestinationNot retried automaticallyApproval before production
Creates a secondary calendar owned by the authorised user.
- Get calendarSource
Calendar metadata: title, description, location and time zone.
- Update calendarDestinationProvider duplicate protectionApproval before production
Changes a calendar's title, description, location or time zone.
Colors1
- List coloursSource
Colour IDs usable for calendars and events, with their hex values.
Event imports1
- Import eventDestinationNot retried automaticallyApproval before production
Adds a private copy of an event from another system, identified by its iCalendar UID. Guests are never emailed by an import.
Event instances1
- List recurring event instancesSource
Occurrences of a recurring event, optionally within a time window.
Events4
- Create eventDestinationProvider duplicate protectionApproval before production
Creates an event. Guests are not emailed unless Notify guests is set; a Google Meet link can be added.
- Get eventSource
One event with attendees, recurrence and conference link.
- List eventsSourceIncremental
Events on a calendar by time window or modification time, or only changes since a sync token.
- Update eventDestinationProvider duplicate protectionApproval before production
Changes the supplied fields of an event (patch). Guests are not emailed unless Notify guests is set.
Freebusy1
- Query free/busySource
Busy intervals for up to 50 calendars between two times.
Settings2
- Get user settingSource
One Calendar setting, for example timezone or weekStart.
- List user settingsSource
The authorised user's Calendar settings, such as time zone and week start.
Task lists4
- Create task listDestinationNot retried automaticallyApproval before production
Creates a Google Tasks list (up to 2,000 per user).
- Get task listSource
One Google Tasks list.
- List task listsSource
The authorised user's Google Tasks lists.
- Rename task listDestinationProvider duplicate protectionApproval before production
Changes a Google Tasks list's title.
Task moves1
- Move taskDestinationProvider duplicate protectionApproval before production
Re-parents or reorders a task, or moves it to another task list. Nothing is deleted.
Tasks4
- Create taskDestinationNot retried automaticallyApproval before production
Creates a task, optionally as a subtask or after a given sibling.
- Get taskSource
One task with notes, due date, parent and links.
- List tasksSourceIncremental
Tasks in a list, filtered by modification, due or completion time. Includes subtasks with their parent.
- Update taskDestinationProvider duplicate protectionApproval before production
Changes the supplied fields of a task (patch), including marking it completed.
Access and limits
- Authentication
- Google OAuth client and refresh token
- Plans and access
- Personal Google accounts and all Google Workspace editions. Requires a customer-owned Google Cloud OAuth client. Sensitive and restricted scopes need Google verification before external users can authorise them.
- Test environment
- Use a test Google account and an OAuth client in testing mode.
- Rate limits
- Per-project and per-user per-minute query quotas set in Google Cloud; HTTP 403 usageLimits/rateLimitExceeded or 429 with exponential backoff.
- Pagination
- nextPageToken cursors; the last page of calendar list, events and ACL reads carries nextSyncToken for incremental sync.
- Provider events
- Calendar push notifications (events.watch, calendarList.watch channels). Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Writes default to sendUpdates=none, so Google emails no invitations, updates or cancellations unless the flow explicitly sets Notify guests.
- Deleting or cancelling events and calendars, clearing calendars, moving events between calendars, and changing sharing (ACL) rules are intentionally not implemented; ACL rules are read-only.
- Moving an event to another calendar (events.move) is intentionally not implemented because Google can notify guests of the change.
- Google Tasks is called on its own documented origin, https://tasks.googleapis.com (reference: https://developers.google.com/workspace/tasks/reference/rest). Deleting task lists or tasks and clearing completed tasks are intentionally not implemented.
- Task list and task creation have no idempotency key; uncertain creates are not repeated automatically.
- Google Tasks stores only the date part of a due date; the time is discarded.
- Quick-add (natural-language event creation) is not implemented because Google takes the text in the URL query string.
- Free-text event search (q) is not exposed because the text would travel in the URL query string; filter by time, update time or private extended property instead.
- An expired syncToken returns HTTP 410; Nexra reports it as not found and the flow must run a full read without syncToken.
- Non-primary calendar IDs are often email addresses and are sent in the request path as the API requires.
- Calendar creation has no idempotency key; uncertain creates are not repeated automatically.
- Event creation uses a deterministic event ID derived from the flow record, so a repeat is rejected by Google with HTTP 409 rather than creating a second event.
- Google Meet links are only added when the flow asks for one; other conference providers are not supported.
Developer reference
- Create the Google credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Google Calendar, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/google-calendar and the Connections API.