Skip to content

feat: sync Google Calendar events - #51

Merged
massimoalbarello merged 1 commit into
mainfrom
codex/google-calendar-source
Oct 1, 2026
Merged

massimoalbarello merged 1 commit into
mainfrom
codex/google-calendar-source

Conversation

@massimoalbarello

@massimoalbarello massimoalbarello commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Why

Following the YouTube source (#48), Google Calendar events should be available as a testable source in Open Sync before Context Use adopts it.

How

Register googlecalendar.events through the existing connector. Event records include titles, time ranges, participants, organizers, locations, descriptions, links and recurrence details.

Backfill readable calendars once, then follow a completed sync token per calendar. The checkpoint retains account identity, the active calendar, and native event and directory page tokens. Keep the old sync token until the final page commits atomically with its records.

Cancelled events remain marked records; recurring series are not expanded. Expired or rejected cursors pause for explicit resync, which cannot reconcile events missing from a replacement full scan.

@massimoalbarello
massimoalbarello merged commit a857c85 into main Oct 1, 2026
8 checks passed
massimoalbarello added a commit to massimoalbarello/context-use that referenced this pull request Oct 1, 2026
## Why

After YouTube support (#209), Google Calendar events should also become
searchable records. This adopts the source implemented first in [Open
Sync #51](massimoalbarello/open-sync#51).

## How

Add Google Calendar to the OAuth setup and managed sync catalog. Every
15 minutes, sync readable calendars into event records with titles, time
ranges, participants, organizers, locations, descriptions, links and
recurrence details.

Use the same durable checkpoint contract as Open Sync: completed
per-calendar change tokens, native page cursors, and account identity.
Unchanged polls do not refetch event history or create record revisions.
Cancelled events remain marked records; recurring series are not
expanded. Expired cursors pause for explicit resync rather than silently
replaying history.

---------

Co-authored-by: max-agent <max-agent@Massimos-MacBook-Air-2.local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant