Skip to content

Google Calendar

Calendar adds meeting context to your work timeline: what you discussed, who you met with, and how much time went to meetings vs. focused work.

Terminal window
devrecall auth google

Opens a browser for Google OAuth via relay.devrecall.dev. Read-only scope — DevRecall literally cannot create, modify, or delete events.

Tokens (access + refresh) are stored in ~/.devrecall/tokens/google.json (0600). The agent refreshes the access token automatically using the refresh token.

FieldSource
Meeting titleEvent summary
Start / end / durationEvent start.dateTime / end
Attendees + statusattendees[].email + responseStatus
Organizerorganizer.email
Location / video linklocation, conferenceData
RecurrencerecurringEventId, RRULE
Your responseresponseStatus (accepted/declined/tentative)

Declined meetings are tracked separately — useful for showing how you prioritized your time.

DevRecall labels meetings to make standups read better:

PatternLabel
1–2 attendees1:1
”standup”, “daily”, “sync” in titlestandup
”sprint”, “retro”, “planning” in titleceremony
”interview” in titleinterview
”focus”, “no meetings”focus_block
3+ attendees, no clear patterngroup_meeting

focus_blocks are skipped in standups.

ScopePurpose
https://www.googleapis.com/auth/calendar.readonlyRead calendars + events
https://www.googleapis.com/auth/userinfo.emailIdentity linking

Google Calendar’s syncToken API gives true incremental sync. After the initial fetch, daily syncs are typically 1–2 API calls. Calendar’s quota is 1,000,000 queries/day per project — you’re nowhere near it.

Not yet — planned for a later release. Same shape as Google Calendar via the Microsoft Graph API.