Skip to main content

Google Calendar

Solves https://github.com/airbytehq/airbyte/issues/45995

Configuration​

InputTypeDescriptionDefault Value
client_idstringClient ID of the Google Cloud OAuth 2.0 application.
client_secretstringClient secret of the OAuth 2.0 application.
client_refresh_token_2stringRefresh token for the OAuth application with the Calendar API scope.
calendaridstringCalendar Id. For the primary calendar this is the account's email address; the alias primary also works but is stored verbatim in events.calendar_id.
start_datestringOnly sync events last modified on or after this date. Applies to every Full Refresh sync, to the first Incremental sync, and to any full re-read; when unset, all events are read. See Events sync behavior.
num_workersintegerNumber of concurrent workers.3

Streams​

Stream NamePrimary KeyPaginationSupports Full SyncSupports Incremental
colorscalendar.eventNo pagination✅❌
settingsidDefaultPaginator✅❌
calendarlistidDefaultPaginator✅❌
calendarsidDefaultPaginator✅❌
eventsidDefaultPaginator✅✅

Events sync behavior​

The events stream is incremental on the event's last modification time (updated), using the Google Calendar updatedMin filter.

  • Cancelled events are included (showDeleted=true) with status: cancelled, so deletions reach the destination. Google returns them as stubs without a modification time, so the connector sets their updated itself (the saved cursor, or one hour before the sync, whichever is later) so that the cancelled row replaces the live one under Append + Deduped. Filter status != 'cancelled' downstream if you only want live events.
  • calendar_id holds the configured Calendar Id exactly as entered. With the alias primary it is a label, not the calendar's ID, and will not join to calendarlist.id / calendars.id; enter the real ID (the account's email address for the primary calendar) if you need that join.
  • Recurring series are returned as a single record (singleEvents=false); individual occurrences are not expanded. The record's updated is the last time the series was edited.
  • start_date limits every Full Refresh sync, the first Incremental sync, and any full re-read (after a reset, or when the saved cursor is older than 21 days) to events last modified on or after that date. Google applies the filter server-side only within the last 29 days; for an older date the connector downloads the calendar and drops older records itself. Because a recurring series counts as one event, a start date also drops series that have not been edited since that date, even if they still have upcoming occurrences. Leave it unset to read everything.
  • 29-day window. Google rejects updatedMin older than 29 days (measured; the limit is undocumented and has been tighter in the past). The connector keeps the newest updated it has seen as its cursor; if that cursor is older than 21 days when a sync starts (for example, a calendar with no edits for three weeks, or a connection paused for three weeks) the connector clears the cursor and re-reads the whole calendar (or everything since start_date), then continues incrementally. A calendar whose only changes are deletions still advances its cursor (see cancelled events above); one with no changes at all re-reads on every sync until something changes.
  • Recommended sync mode: Incremental | Append + Deduped with id as the primary key. With plain Append, each re-read described above adds another copy of every event.

IP allow list​

If you use Airbyte Cloud and your organization restricts access to specific IPs, add the Airbyte Cloud IP addresses to your allow list.

Reference​

Config fields reference

Field
Type
Property name
string
calendarid
string
client_id
string
client_refresh_token_2
string
client_secret
integer
num_workers
string
start_date

Changelog​

Expand to review
VersionDatePull RequestSubject
0.1.12026-10-1388641Update dependencies
0.1.02026-10-0686468Add error handling, API budget, concurrency, incremental events (now includes cancelled events via showDeleted=true) with a calendar_id column and an optional start_date, and enable acceptance tests
0.0.552026-10-0687901Update dependencies
0.0.542026-09-2987194Update dependencies
0.0.532026-09-2286679Update dependencies
0.0.522026-09-1586070Update dependencies
0.0.512026-09-0885541Update dependencies
0.0.502026-08-1884636Update dependencies
0.0.492026-08-1183962Update dependencies
0.0.482026-08-0483499Update dependencies
0.0.472026-07-2882972Update dependencies
0.0.462026-07-2182435Update dependencies
0.0.452026-07-1481849Update dependencies
0.0.442026-06-3081038Update dependencies
0.0.432026-06-2380483Update dependencies
0.0.422026-06-1679880Update dependencies
0.0.412026-06-0979339Update dependencies
0.0.402026-06-0278738Update dependencies
0.0.392026-04-2877268Update dependencies
0.0.382026-04-2176584Update dependencies
0.0.372026-03-3175671Update dependencies
0.0.362026-03-1774985Update dependencies
0.0.352026-02-2473746Update dependencies
0.0.342026-02-1773085Update dependencies
0.0.332026-01-2071931Update dependencies
0.0.322026-01-1471428Update dependencies
0.0.312025-12-1870696Update dependencies
0.0.302025-11-2569889Update dependencies
0.0.292025-11-1869373Update dependencies
0.0.282025-10-2969049Update dependencies
0.0.272025-10-2168310Update dependencies
0.0.262025-10-1468007Update dependencies
0.0.252025-10-0767257Update dependencies
0.0.242025-09-3066309Update dependencies
0.0.232025-09-0966046Update dependencies
0.0.222025-08-2365366Update dependencies
0.0.212025-08-0964614Update dependencies
0.0.202025-08-0264218Update dependencies
0.0.192025-07-2663813Update dependencies
0.0.182025-07-1963491Update dependencies
0.0.172025-07-1263149Update dependencies
0.0.162025-07-0562653Update dependencies
0.0.152025-06-2862156Update dependencies
0.0.142025-06-2161833Update dependencies
0.0.132025-06-1461121Update dependencies
0.0.122025-05-2460587Update dependencies
0.0.112025-05-1059250Update dependencies
0.0.102025-04-2658812Update dependencies
0.0.92025-04-1958175Update dependencies
0.0.82025-04-1257066Update dependencies
0.0.72025-03-2956487Update dependencies
0.0.62025-03-2255939Update dependencies
0.0.52025-03-0855325Update dependencies
0.0.42025-03-0154992Update dependencies
0.0.32025-02-2254395Update dependencies
0.0.22025-02-1547915Update dependencies
0.0.12024-10-06Initial release by @bala-ceg via Connector Builder
Was this page helpful?