Quick Answer
- Start with read access for agenda and availability workflows.
- Add write access only to calendars the agent should edit.
- Separate attendee management from basic event updates.
- Keep personal and work calendars explicit, even under one API key.
- Log every write with the calendar, event, and tool arguments.
Calendar permissions should map to jobs
A morning brief needs read access. A scheduling assistant needs availability reads and sometimes event creation. A travel agent may need to add all-day holds. Those jobs should not all receive the same permission shape.
The practical matrix
| Agent job | Minimum permission |
|---|---|
| Daily brief | Read events |
| Scheduling | Read availability, create events after confirmation |
| Team coordination | Read multiple calendars, write only approved calendars |
| Travel planning | Create events and all-day holds on a selected calendar |
How CalendarMCP handles this
CalendarMCP lets users connect multiple Google accounts and assign read/write permissions per calendar under one key. That keeps the agent workflow simple without making the permission boundary fuzzy.
FAQ
Should one key control every calendar?
One key can be convenient, but every calendar under it still needs an explicit permission choice.
Do agents need delete access?
Rarely as a default. Deletes and attendee removals should require clear confirmation and logging.