Give agents a calendar they can read before they rearrange it
Scheduling needs broad context but narrow authority. Through AIP, an agent can inspect calendars and availability, while creating, moving, updating, or deleting events stays on a separate permission track that you control.
What your agent can do
Calendar list and event GET operations are read tools. Event creation, quick-add, patch, update, move, and delete are writes. The free/busy API uses POST, so AIP conservatively treats it like a write permission even though the request only checks availability.
| Tool | What it does | Access |
|---|---|---|
| calendar_calendarlist_list | List calendars visible in the signed-in Google account. | read |
| calendar_calendarlist_get | Read one calendar-list entry, including its display and access metadata. | read |
| calendar_calendars_get | Retrieve the metadata for a calendar by ID. | read |
| calendar_events_list | List and filter events in a calendar across a requested time range. | read |
| calendar_events_get | Fetch one event with its schedule, attendees, recurrence, and conference details. | read |
| calendar_events_instances | Expand the instances of a recurring event. | read |
| calendar_freebusy_query | Check busy intervals for calendars or groups; classified conservatively because it uses POST. | write |
| calendar_events_insert | Create an event with explicit schedule, attendees, reminders, and conference data. | write |
| calendar_events_quickadd | Create an event from a short natural-language description. | write |
| calendar_events_patch | Change selected fields on an existing event. | write |
| calendar_events_update | Replace an existing event with a complete updated representation. | write |
| calendar_events_move | Move an event from one calendar to another calendar the account can write. | write |
| calendar_events_delete | Delete an event from a calendar. | write |
AIP currently keeps 21 Calendar operations after catalog exclusions. The table highlights scheduling operations covered by AIP's Google scopes, not every endpoint present in Google's Calendar API.
Capability snapshot: 1 September 2026 · provider source
Availability is a read problem; scheduling is a write problem
Most calendar assistance starts safely: list calendars, inspect a time window, expand recurring instances, and compare busy intervals. The risk changes only when the agent commits a time, moves somebody else’s meeting, or removes an event. Keeping those operations separate means a planning agent can search for slots all day without receiving event-edit authority.
Use AIP’s per-tool controls to make that split explicit. Calendar can sit beside Gmail and the other live pages in the integration hub, but each account keeps an independent OAuth credential and policy.
Connect Calendar through the AIP gateway
- Add Google Calendar from the AIP dashboard and complete Google’s OAuth flow for the account whose calendars should appear.
- Choose an agent and start with calendar and event reads. Put free/busy and every event-changing operation on Confirm until the agent’s scheduling role is predictable.
- Configure the resulting AIP URL in Claude, Codex, Cursor, or another agent. The same policy is available as MCP tools or through the generated OpenAPI interface described on the developer section.
Because the connection belongs to AIP, changing clients does not require a new Google consent flow. Revoking the Google account or hiding a tool updates the gateway instead of a collection of local client configs.
Make scheduling intent testable
Before granting writes, ask the agent to propose slots with event IDs, timezones, attendees, and conflicts. Then approve a specific create, patch, move, or delete call. For recurring meetings, require the agent to say whether it is changing one instance or the series. Those details make the confirmation screen meaningful rather than ceremonial.
Teams that need separate personal, shared, and customer-facing calendar agents can compare limits on the pricing page. Do not combine accounts merely to simplify setup; separate connections produce clearer tool names, audit context, and revocation boundaries.
What to ask your agent
Strong calendar prompts include a timezone, a date range, and a rule for conflicts. These examples make the intended read or write step unambiguous: