← All Skills
G

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