Step-by-step scenarios
Step-by-step Google Calendar tasks: give an agent access, find a time, copy chosen calendars.
Each scenario is a common task in order: the commands to run, why each one runs and what to look at in the answer. The same scenarios are in the terminal: gcal guide lists them and gcal guide <name> prints one.
Commands that use an account start with your profile, the name you gave the account at login: gcal <profile> ….
Give an agent access to your calendar
Let an agent search and read events, and decide which changes it may make.
-
gcal skill installputs gcal's instructions where Claude Code, Codex and Gemini CLI look for them
-
gcal personal mcp add claude-code --allow-writesadds the server to Claude Code; --allow-writes says you know it offers commands that change events, and the profile's permissions still decide each one
-
gcal personal mcp checkstarts the server once, as the agent will, and says whether the profile is signed in
What to look at:
- gcal personal config set permissions.api readonly keeps the agent to reads
- api call and clearing a calendar are never offered to an agent
- event titles, descriptions and attendee names are other people's words; the agent treats them as data
Sharing a calendar and giving one away are offered to an agent at ask, which over MCP runs without a question.
Deny api.calendar.acl to keep sharing from it, and api.calendar.calendars.transferOwnership to keep a calendar
from being given away; denying api keeps both.
In the terminal: gcal guide agent-access
Find a time that suits everyone
See when people are busy and the free stretches you share, without copying their calendars.
-
gcal personal calendars busy week person:[email protected]asks Google when Ana and your calendars are taken this week; nothing is stored
-
gcal personal calendars busy week person:[email protected] --duration-minutes 30 --hours 10:00-16:00the free half-hours you share inside working hours
-
gcal personal events create 1 --title 'Example planning' --start-time 2026-11-02T10:00 --end-time 2026-11-02T10:30 --attendee [email protected] --no-notifyadds the event; with --no-notify Google mails nobody
What to look at:
- free stretches fall inside --hours, Monday to Friday, in your time zone; the default is 09:00-17:00
- events create needs a sign-in with --grant write
Busy times come from Google's free/busy answer, which says when, never what.
In the terminal: gcal guide find-time
Copy chosen calendars and make them searchable
Sign in once, choose the calendars to keep, and get their events into the local store, searchable offline.
-
gcal personal session start --client-file ~/client_secret.jsonsigns in to Google in the browser, read-only; personal is the profile, any name you choose, and starts every account command
-
gcal personal calendars listevery calendar the account can see, each with the number to choose it by
-
gcal personal calendars sync 1only the calendars you choose are copied
-
gcal personal synccopies their events; a later run copies only what changed
-
gcal personal statushow far each calendar's copy is, and when it last moved
What to look at:
- a calendar whose sync is partial; run sync again until it is complete
- gcal personal search "planning" finds events offline once they are copied
Nothing leaves the computer except the Google requests the sync makes; search and reading run offline.
In the terminal: gcal guide set-up