Scheduling & Meetings
📅 Google Calendar integration
Access levels: Read-only · Manage events · Full access · Verified
Scheduling & Meetings
Access levels: Read-only · Manage events · Full access · Verified
Connect Google Calendar once and every agent in your squad can work in it for you, with exactly as much access as you decide to give, and a receipt for every call it makes.
You can change an account's access level any time under Manage. It applies instantly, no re-authorization. If the connection ever expires, the card shows Reconnect; one click re-authorizes the same account with the same settings.
Multiple accounts: connect as many as you need (say, yours and a client's). One is primary. Agents use it unless a mission says otherwise.
The level you pick at connect time is enforced on our side for every agent call: an agent can never do more than the level allows, no matter what it's asked.
| Level | What it allows | |
|---|---|---|
| Read-only | See calendars and events. Cannot create, edit, or delete. | |
| Manage events | Read and edit events. Cannot delete entire calendars. | Recommended |
| Full access | See, edit, share, and delete any calendar. |
On top of the connection's level, every agent can be individually allowed, scoped down, or denied for this app from the Integrations page. Deny an agent and it doesn't even see the connection.
The 49 tools agents use in Google Calendar through Mission Control, and the lowest access level that includes each. Agents discover these themselves. You never have to name a tool; asking in plain language is enough.
| Tool | What it does | Access level |
|---|---|---|
Acl deleteGOOGLECALENDAR_ACL_DELETE | Deletes an access control rule from a Google Calendar. | Full access |
Acl getGOOGLECALENDAR_ACL_GET | Retrieves a specific access control rule for a calendar. | All levels |
Acl insertGOOGLECALENDAR_ACL_INSERT | Creates an access control rule for a calendar. | Manage events, Full access |
Acl listGOOGLECALENDAR_ACL_LIST | Retrieves the list of access control rules (ACLs) for a specified calendar, providing the necessary 'rule_id' values required for updating specific ACL rules. | Manage events, Full access |
Acl patchGOOGLECALENDAR_ACL_PATCH | Updates an existing access control rule for a calendar using patch semantics (partial update). | Manage events, Full access |
Acl updateGOOGLECALENDAR_ACL_UPDATE | Updates an access control rule for the specified calendar. | Manage events, Full access |
Acl watchGOOGLECALENDAR_ACL_WATCH | Watch for changes to ACL resources. Use when you need to set up real-time notifications for access control list modifications on a calendar. | Manage events, Full access |
Batch eventsGOOGLECALENDAR_BATCH_EVENTS | Execute up to 1000 event mutations (create/patch/delete) in one Google Calendar HTTP batch request with per-item status/results. | Full access |
Calendars deleteGOOGLECALENDAR_CALENDARS_DELETE | Deletes a secondary calendar that you own or have delete permissions on. | Full access |
Calendars updateGOOGLECALENDAR_CALENDARS_UPDATE | Full PUT-style update that overwrites all calendar metadata fields; unspecified optional fields are cleared. | Manage events, Full access |
Calendar list deleteGOOGLECALENDAR_CALENDAR_LIST_DELETE | Remove a calendar from the user's calendar list. | Full access |
Calendar list getGOOGLECALENDAR_CALENDAR_LIST_GET | Retrieves metadata for a SINGLE specific calendar from the user's calendar list by its calendar ID. | All levels |
Calendar list insertGOOGLECALENDAR_CALENDAR_LIST_INSERT | Inserts an existing calendar into the user's calendar list, making it visible in the UI. | Manage events, Full access |
Calendar list patchGOOGLECALENDAR_CALENDAR_LIST_PATCH | Updates an existing calendar on the user's calendar list using patch semantics. | Manage events, Full access |
Calendar list updateGOOGLECALENDAR_CALENDAR_LIST_UPDATE | Updates a calendar list entry's display/subscription settings (color, visibility, reminders, selection) for the authenticated user, does not modify the underlying calendar resource (title, timezone, etc.). | Manage events, Full access |
Calendar list watchGOOGLECALENDAR_CALENDAR_LIST_WATCH | Watch for changes to CalendarList resources using push notifications. | Manage events, Full access |
Channels stopGOOGLECALENDAR_CHANNELS_STOP | Stop watching resources through a notification channel. | Full access |
Clear calendarGOOGLECALENDAR_CLEAR_CALENDAR | Clears a primary calendar by deleting all events from it. | Full access |
Colors getGOOGLECALENDAR_COLORS_GET | Returns the color definitions for calendars and events. | All levels |
Create calendarGOOGLECALENDAR_CREATE_CALENDAR | Creates a new secondary Google Calendar with the specified title and optional settings. | Full access |
Create eventGOOGLECALENDAR_CREATE_EVENT | Create a Google Calendar event using start_datetime plus duration fields. | Manage events, Full access |
Delete eventGOOGLECALENDAR_DELETE_EVENT | Deletes a specified event by event_id from a Google Calendar (calendar_id); idempotent, a 404 for an already-deleted event is a no-op. | Full access |
Duplicate calendarGOOGLECALENDAR_DUPLICATE_CALENDAR | Creates a new, empty Google Calendar with the specified title (summary). | Manage events, Full access |
Events getGOOGLECALENDAR_EVENTS_GET | Retrieves a SINGLE event by its unique event_id (REQUIRED). | All levels |
Events importGOOGLECALENDAR_EVENTS_IMPORT | Import an event as a private copy to a calendar. | Manage events, Full access |
Events instancesGOOGLECALENDAR_EVENTS_INSTANCES | Returns instances of the specified recurring event. | Manage events, Full access |
Events listGOOGLECALENDAR_EVENTS_LIST | Returns events on the specified calendar. TIMEZONE WARNING: When using timeMin/timeMax with UTC timestamps (ending in 'Z'), the time window is interpreted in UTC regardless of the calendar's timezone. For example, query… | Manage events, Full access |
Events list all calendarsGOOGLECALENDAR_EVENTS_LIST_ALL_CALENDARS | Return a unified event list across all calendars in the user's calendar list for a given time range. | All levels |
Events moveGOOGLECALENDAR_EVENTS_MOVE | Moves an event to another calendar, i.e., changes an event's organizer. | Manage events, Full access |
Events watchGOOGLECALENDAR_EVENTS_WATCH | Watch for changes to Events resources. Watch channels expire; persist the channel id per calendarId to re-establish watches after expiration or restarts. | Manage events, Full access |
Find eventGOOGLECALENDAR_FIND_EVENT | Finds events in a specified Google Calendar using text query, time ranges (event start/end, last modification), and event types. | Manage events, Full access |
Find free slotsGOOGLECALENDAR_FIND_FREE_SLOTS | Finds both free and busy time slots in Google Calendars for specified calendars within a defined time range. | Manage events, Full access |
Free busy queryGOOGLECALENDAR_FREE_BUSY_QUERY | DEPRECATED: Use GOOGLECALENDAR_FIND_FREE_SLOTS instead (though this tool provides wider secondary/shared calendar coverage). | Manage events, Full access |
Get calendarGOOGLECALENDAR_GET_CALENDAR | Retrieves a specific Google Calendar, identified by calendar_id, to which the authenticated user has access. | Manage events, Full access |
Get calendar profileGOOGLECALENDAR_GET_CALENDAR_PROFILE | DEPRECATED: Use CalendarListGet instead. Tool to retrieve the authenticated user's primary calendar profile. Use when you need to get information about the user's main calendar, including timezone, settings, and prefere… | All levels |
Get current date timeGOOGLECALENDAR_GET_CURRENT_DATE_TIME | Gets the current date and time, allowing for a specific timezone offset. | Manage events, Full access |
List buildingsGOOGLECALENDAR_LIST_BUILDINGS | Lists all buildings for a Google Workspace customer account with full details including addresses, coordinates, and floor names. | Manage events, Full access |
List calendarsGOOGLECALENDAR_LIST_CALENDARS | Retrieves calendars from the user's Google Calendar list, with options for pagination and filtering. | Manage events, Full access |
List calendar resourcesGOOGLECALENDAR_LIST_CALENDAR_RESOURCES | Retrieves calendar resources (such as conference rooms) from a Google Workspace domain using the Admin SDK Directory API. | Manage events, Full access |
List settingsGOOGLECALENDAR_LIST_SETTINGS | DEPRECATED: Use GOOGLECALENDAR_SETTINGS_LIST instead. | All levels |
Patch calendarGOOGLECALENDAR_PATCH_CALENDAR | Partially updates (PATCHes) an existing Google Calendar, modifying only the fields provided. | Manage events, Full access |
Patch eventGOOGLECALENDAR_PATCH_EVENT | Update specified fields of an existing event in a Google Calendar using patch semantics (array fields like attendees are fully replaced if provided); ensure the calendar_id and event_id are valid and the user has… | Manage events, Full access |
Quick addGOOGLECALENDAR_QUICK_ADD | Parses natural language text to quickly create a basic Google Calendar event with its title, date, and time, suitable for simple scheduling; does not support direct attendee addition or recurring events, and `calendar_i… | Manage events, Full access |
Remove attendeeGOOGLECALENDAR_REMOVE_ATTENDEE | Removes an attendee from a specified event in a Google Calendar; the calendar and event must exist. | Full access |
Settings getGOOGLECALENDAR_SETTINGS_GET | Return a single user setting for the authenticated user. | All levels |
Settings listGOOGLECALENDAR_SETTINGS_LIST | Returns all user settings for the authenticated user. | Manage events, Full access |
Settings watchGOOGLECALENDAR_SETTINGS_WATCH | Watch for changes to Settings resources. | Manage events, Full access |
Sync eventsGOOGLECALENDAR_SYNC_EVENTS | DEPRECATED: Use GOOGLECALENDAR_EVENTS_LIST instead. | Manage events, Full access |
Update eventGOOGLECALENDAR_UPDATE_EVENT | Updates an existing event in Google Calendar. | Manage events, Full access |
Just ask in plain language: “check Google Calendar for …”, “create … in Google Calendar”, “every Monday, … ”, and the agent finds the right tool, runs it, and reports back with a receipt in your Runs ledger. Anything outward-facing (sending, posting, publishing) that a mission didn't clearly authorize comes back to you as a ticket first.
| Agent says | What's happening | Fix |
|---|---|---|
| "Google Calendar isn't connected" | No active connection (or this agent is denied) | Connect on the Integrations page; check the agent's per-app policy |
| "The connection has expired" | Google Calendar ended the authorization (they all do periodically) | Click Reconnect on the account, same settings, one click |
| "I'm not allowed to do that" | The action is above the account's access level, or the agent is scoped down | Raise the level under Manage, or adjust that agent's policy |
| It did something unexpected | The ask was ambiguous (e.g. matched an existing item) | Be explicit, "create a NEW …", and give agents a working folder where relevant |