Calendar & meetings
Google Calendar
Read events and schedule meetings.
Google Calendar is a time management tool providing scheduling features, event reminders, and integration with email and other apps for streamlined organization
Triggers7
Things that can wake up your Google Calendar coworker.
- Attendee Response Changed
Polling trigger that fires when any attendee's RSVP changes to accepted, declined, or tentative. Returns attendee info and current status.
GOOGLECALENDAR_ATTENDEE_RESPONSE_CHANGED_TRIGGER - Event Canceled or Deleted
Triggers when a Google Calendar event is cancelled or deleted. Returns minimal data: event_id, summary (if available), and cancellation timestamp.
GOOGLECALENDAR_EVENT_CANCELED_DELETED_TRIGGER - Event Starting Soon
Triggers when a calendar event is within a configured number of minutes from starting. Returns event details, time remaining, attendees, and join links when available.
GOOGLECALENDAR_EVENT_STARTING_SOON_TRIGGER - Calendar Event Changes
**SOON TO BE DEPRECATED** - Use Calendar Event Sync (polling trigger) instead. Real-time webhook trigger for calendar event changes. Returns event metadata only. For full event data, use Calendar Event Sync (polling trigger).
GOOGLECALENDAR_GOOGLE_CALENDAR_EVENT_CHANGE_TRIGGER - Event Created
Polling trigger that fires when a new calendar event is created. Returns event ID, summary, start/end times, and organizer info.
GOOGLECALENDAR_GOOGLE_CALENDAR_EVENT_CREATED_TRIGGER - Calendar Event Sync
Polling trigger that returns full event data including details, attendees, and metadata. For real-time notifications with basic info, use Calendar Event Changes (webhook).
GOOGLECALENDAR_GOOGLE_CALENDAR_EVENT_SYNC_TRIGGER - Event Updated
Triggers when an existing Google Calendar event is modified. Returns the event ID, change type, and the specific fields that changed with their previous and new values.
GOOGLECALENDAR_GOOGLE_CALENDAR_EVENT_UPDATED_TRIGGER
Actions20
Things your coworker can do in Google Calendar.
- Delete ACL Rule
Deletes an access control rule from a Google Calendar. Use when you need to remove sharing permissions for a user, group, or domain.
GOOGLECALENDAR_ACL_DELETE - Get ACL Rule
Retrieves a specific access control rule for a calendar. Use when you need to check permissions for a specific user, group, or domain.
GOOGLECALENDAR_ACL_GET - Create ACL Rule
Creates an access control rule for a calendar. Use when you need to grant sharing permissions to a user, group, or domain.
GOOGLECALENDAR_ACL_INSERT - Remove Calendar from List
Tool to remove a calendar from the user's calendar list. Use when you need to unsubscribe from or hide a calendar from the user's list.
GOOGLECALENDAR_CALENDAR_LIST_DELETE - Get Single Calendar by ID
Retrieves metadata for a SINGLE specific calendar from the user's calendar list by its calendar ID. This action requires a calendarId parameter and returns details about that one calendar only. NOTE: This does NOT list all calendars. To list all calendars in the user's calendar list, use GOOGLECALENDAR_CALENDAR_LIST_LIST instead.
GOOGLECALENDAR_CALENDAR_LIST_GET - Insert Calendar into List
Inserts an existing calendar into the user's calendar list, making it visible in the UI. Calendars (e.g., newly created ones) won't appear in the list or UI until explicitly inserted.
GOOGLECALENDAR_CALENDAR_LIST_INSERT - Patch Calendar List Entry
Updates an existing calendar on the user's calendar list using patch semantics. This method allows partial updates, modifying only the specified fields.
GOOGLECALENDAR_CALENDAR_LIST_PATCH - Delete Calendar
Deletes a secondary calendar that you own or have delete permissions on. Deletion is permanent and irreversible — verify the correct calendar_id before calling. You cannot delete your primary calendar or calendars you only have read/write access to. Use calendarList.list to find calendars with owner accessRole. For primary calendars, use calendars.clear instead. Parallel calls may trigger userRateLimitExceeded; sequence bulk deletions.
GOOGLECALENDAR_CALENDARS_DELETE - Update Calendar
Full PUT-style update that overwrites all calendar metadata fields; unspecified optional fields are cleared. Use GOOGLECALENDAR_PATCH_CALENDAR to update only a subset of fields. Mutates the underlying calendar resource (title, description, timeZone, etc.); use GOOGLECALENDAR_CALENDAR_LIST_UPDATE to change per-user display properties like color.
GOOGLECALENDAR_CALENDARS_UPDATE - Stop Channel
Tool to stop watching resources through a notification channel. Use when you need to discontinue push notifications for a specific channel subscription.
GOOGLECALENDAR_CHANNELS_STOP - Create Event
Create a Google Calendar event using start_datetime plus duration fields. The organizer is added as an attendee unless exclude_organizer is True. By default adds Google Meet link (works for Workspace, gracefully falls back for personal Gmail). Attendees can be email strings (required) or objects with email and optional fields. No conflict checking is performed; use GOOGLECALENDAR_FREE_BUSY_QUERY to detect overlaps before creating. Returns event id and htmlLink nested under data.response_data. Example: { "start_datetime": "2025-01-16T13:00:00", "timezone": "America/New_York", "event_duration_hour": 1, "event_duration_minutes": 30, "summary": "Client sync", "attendees": ["required@example.com", {"email": "optional@example.com", "optional": true}] }
GOOGLECALENDAR_CREATE_EVENT - 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. Bulk deletions may trigger `rateLimitExceeded` or `userRateLimitExceeded`; cap concurrency to 5–10 requests and apply exponential backoff.
GOOGLECALENDAR_DELETE_EVENT - Create a calendar
Creates a new, empty Google Calendar with the specified title (summary). Newly created calendars default to UTC timezone; use GOOGLECALENDAR_PATCH_CALENDAR afterward to set the desired timeZone if needed.
GOOGLECALENDAR_DUPLICATE_CALENDAR - Get Event
Retrieves a SINGLE event by its unique event_id (REQUIRED). This action does NOT list or search events - it fetches ONE specific event when you already know its ID. If you want to list events within a time range, search for events, or filter by criteria like time_min/time_max, use GOOGLECALENDAR_EVENTS_LIST instead.
GOOGLECALENDAR_EVENTS_GET - Get Event Instances
Returns instances of the specified recurring event. Use timeMin/timeMax to constrain the window; omitting bounds can return large result sets and is quota-heavy. On high-volume calls, 403 rateLimitExceeded or 429 too_many_requests may occur; apply exponential backoff (1s, 2s, 4s) before retrying.
GOOGLECALENDAR_EVENTS_INSTANCES - List Events from All Calendars
Return a unified event list across all calendars in the user's calendar list for a given time range. Use when you need a single view of all events across multiple calendars. An inverted or incorrect time range silently returns empty results rather than an error. An empty `items` list means no events matched the filters—adjust `time_min`, `time_max`, or `q` before concluding no events exist.
GOOGLECALENDAR_EVENTS_LIST_ALL_CALENDARS - Find event
Finds events in a specified Google Calendar using text query, time ranges (event start/end, last modification), and event types. Ensure `timeMin` is not chronologically after `timeMax` if both are provided. Results may span multiple pages; always follow `nextPageToken` until absent to avoid silently missing events. Validate the correct match from results by checking summary, start.dateTime, and organizer.email before using event_id for mutations. An empty `items` array means no events matched — widen filters rather than treating it as an error.
GOOGLECALENDAR_FIND_EVENT - Query Free/Busy Information (Deprecated)
DEPRECATED: Use GOOGLECALENDAR_FIND_FREE_SLOTS instead (though this tool provides wider secondary/shared calendar coverage). Returns opaque busy intervals only—no event titles or details; use GOOGLECALENDAR_EVENTS_LIST when event details are needed.
GOOGLECALENDAR_FREE_BUSY_QUERY - Get Google Calendar
Retrieves a specific Google Calendar, identified by `calendar_id`, to which the authenticated user has access. Response includes `timeZone` (IANA format, e.g., 'America/Los_Angeles') — use it directly when constructing `timeMin`/`timeMax` in other tools to avoid DST errors. An empty `defaultReminders` list is valid (no defaults configured). Insufficient `accessRole` may omit fields like `defaultReminders` and `colorId`.
GOOGLECALENDAR_GET_CALENDAR - Get Calendar Profile (Deprecated)
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 preferences.
GOOGLECALENDAR_GET_CALENDAR_PROFILE