> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boxd.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Calendar

> Google Calendar is a time management tool providing scheduling features, event reminders, and integration with email and other apps for streamlined organization

Google Calendar is a time management tool providing scheduling features, event reminders, and integration with email and other apps for streamlined organization

`googlecalendar` · **49 tools** · **7 triggers**

## Connect it

```bash theme={"theme":"github-dark"}
run auth googlecalendar
run auth googlecalendar --scope team    # shared with the organization
```

Or from the [Integrations page](https://app.boxd.sh/integrations) in the console. See [Connections](/guides/integrations/connections) for personal versus shared, and who may remove one.

## Use it

```bash theme={"theme":"github-dark"}
run googlecalendar          # common commands
run googlecalendar --all    # every command
```

```ts theme={"theme":"github-dark"}
import { googlecalendar } from "@boxd/run";
```

## Common tools

| Tool                        | What it does                                                                                                                                                          |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `acl-delete`                | Deletes an access control rule from a Google Calendar. Use when you need to remove sharing permissions for a user, group, or domain.                                  |
| `acl-get`                   | Retrieves a specific access control rule for a calendar. Use when you need to check permissions for a specific user, group, or domain.                                |
| `acl-insert`                | Creates an access control rule for a calendar. Use when you need to grant sharing permissions to a user, group, or domain.                                            |
| `calendar-list-delete`      | 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.                               |
| `calendar-list-get`         | Retrieves metadata for a SINGLE specific calendar from the user's calendar list by its calendar ID.                                                                   |
| `calendar-list-insert`      | Inserts an existing calendar into the user's calendar list, making it visible in the UI.                                                                              |
| `calendar-list-patch`       | Updates an existing calendar on the user's calendar list using patch semantics.                                                                                       |
| `calendars-delete`          | Deletes a secondary calendar that you own or have delete permissions on.                                                                                              |
| `calendars-update`          | Full PUT-style update that overwrites all calendar metadata fields; unspecified optional fields are cleared.                                                          |
| `channels-stop`             | Tool to stop watching resources through a notification channel.                                                                                                       |
| `create-calendar`           | Creates a new secondary Google Calendar with the specified title and optional settings.                                                                               |
| `create-event`              | Create a Google Calendar event using start\_datetime plus duration fields.                                                                                            |
| `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.                           |
| `duplicate-calendar`        | Creates a new, empty Google Calendar with the specified title (summary).                                                                                              |
| `events-get`                | 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. |
| `events-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.     |
| `events-list-all-calendars` | Return a unified event list across all calendars in the user's calendar list for a given time range.                                                                  |
| `find-event`                | Finds events in a specified Google Calendar using text query, time ranges (event start/end, last modification), and event types.                                      |
| `free-busy-query`           | DEPRECATED: Use GOOGLECALENDAR\_FIND\_FREE\_SLOTS instead (though this tool provides wider secondary/shared calendar coverage).                                       |
| `get-calendar`              | Retrieves a specific Google Calendar, identified by `calendar_id`, to which the authenticated user has access.                                                        |
| `get-calendar-profile`      | DEPRECATED: Use CalendarListGet instead. Tool to retrieve the authenticated user's primary calendar profile.                                                          |
| `patch-calendar`            | Partially updates (PATCHes) an existing Google Calendar, modifying only the fields provided.                                                                          |
| `patch-event`               | Update specified fields of an existing event in a Google Calendar using patch semantics (array fields like `attendees` are fully replaced if...                       |
| `sync-events`               | DEPRECATED: Use GOOGLECALENDAR\_EVENTS\_LIST instead. EventsList already handles syncToken with automatic param stripping.                                            |
| `update-event`              | Updates an existing event in Google Calendar. REQUIRES event\_id - you MUST first search for the event using GOOGLECALENDAR\_FIND\_EVENT or...                        |

<Accordion title="All 49 tools" icon="list">
  | Tool                        | What it does                                                                                                                                                          |
  | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `acl-delete`                | Deletes an access control rule from a Google Calendar. Use when you need to remove sharing permissions for a user, group, or domain.                                  |
  | `acl-get`                   | Retrieves a specific access control rule for a calendar. Use when you need to check permissions for a specific user, group, or domain.                                |
  | `acl-insert`                | Creates an access control rule for a calendar. Use when you need to grant sharing permissions to a user, group, or domain.                                            |
  | `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.       |
  | `acl-patch`                 | Updates an existing access control rule for a calendar using patch semantics (partial update).                                                                        |
  | `acl-update`                | Updates an access control rule for the specified calendar.                                                                                                            |
  | `acl-watch`                 | Tool to watch for changes to ACL resources. Use when you need to set up real-time notifications for access control list modifications on a calendar.                  |
  | `batch-events`              | Execute up to 1000 event mutations (create/patch/delete) in one Google Calendar HTTP batch request with per-item status/results.                                      |
  | `calendar-list-delete`      | 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.                               |
  | `calendar-list-get`         | Retrieves metadata for a SINGLE specific calendar from the user's calendar list by its calendar ID.                                                                   |
  | `calendar-list-insert`      | Inserts an existing calendar into the user's calendar list, making it visible in the UI.                                                                              |
  | `calendar-list-patch`       | Updates an existing calendar on the user's calendar list using patch semantics.                                                                                       |
  | `calendar-list-update`      | Updates a calendar list entry's display/subscription settings (color, visibility, reminders, selection) for the authenticated user - does not modify...               |
  | `calendar-list-watch`       | Watch for changes to CalendarList resources using push notifications.                                                                                                 |
  | `calendars-delete`          | Deletes a secondary calendar that you own or have delete permissions on.                                                                                              |
  | `calendars-update`          | Full PUT-style update that overwrites all calendar metadata fields; unspecified optional fields are cleared.                                                          |
  | `channels-stop`             | Tool to stop watching resources through a notification channel.                                                                                                       |
  | `clear-calendar`            | Clears a primary calendar by deleting all events from it. The calendar itself is preserved; only its events are removed.                                              |
  | `colors-get`                | Returns the color definitions for calendars and events. Use when you need to retrieve the available color palette for styling calendars or events.                    |
  | `create-calendar`           | Creates a new secondary Google Calendar with the specified title and optional settings.                                                                               |
  | `create-event`              | Create a Google Calendar event using start\_datetime plus duration fields.                                                                                            |
  | `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.                           |
  | `duplicate-calendar`        | Creates a new, empty Google Calendar with the specified title (summary).                                                                                              |
  | `events-get`                | 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. |
  | `events-import`             | Tool to import an event as a private copy to a calendar. Use when you need to add an existing event to a calendar using its iCalUID.                                  |
  | `events-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.     |
  | `events-list`               | Returns events on the specified calendar. TIMEZONE WARNING: When using timeMin/timeMax with UTC timestamps (ending in 'Z'), the time window is...                     |
  | `events-list-all-calendars` | Return a unified event list across all calendars in the user's calendar list for a given time range.                                                                  |
  | `events-move`               | Moves an event to another calendar, i.e., changes an event's organizer.                                                                                               |
  | `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.         |
  | `find-event`                | Finds events in a specified Google Calendar using text query, time ranges (event start/end, last modification), and event types.                                      |
  | `find-free-slots`           | Finds both free and busy time slots in Google Calendars for specified calendars within a defined time range.                                                          |
  | `free-busy-query`           | DEPRECATED: Use GOOGLECALENDAR\_FIND\_FREE\_SLOTS instead (though this tool provides wider secondary/shared calendar coverage).                                       |
  | `get-calendar`              | Retrieves a specific Google Calendar, identified by `calendar_id`, to which the authenticated user has access.                                                        |
  | `get-calendar-profile`      | DEPRECATED: Use CalendarListGet instead. Tool to retrieve the authenticated user's primary calendar profile.                                                          |
  | `get-current-date-time`     | Gets the current date and time, allowing for a specific timezone offset.                                                                                              |
  | `list-buildings`            | Lists all buildings for a Google Workspace customer account with full details including addresses, coordinates, and floor names.                                      |
  | `list-calendar-resources`   | Retrieves calendar resources (such as conference rooms) from a Google Workspace domain using the Admin SDK Directory API.                                             |
  | `list-calendars`            | Retrieves calendars from the user's Google Calendar list, with options for pagination and filtering.                                                                  |
  | `list-settings`             | DEPRECATED: Use GOOGLECALENDAR\_SETTINGS\_LIST instead. Tool to return all user settings for the authenticated user.                                                  |
  | `patch-calendar`            | Partially updates (PATCHes) an existing Google Calendar, modifying only the fields provided.                                                                          |
  | `patch-event`               | Update specified fields of an existing event in a Google Calendar using patch semantics (array fields like `attendees` are fully replaced if...                       |
  | `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...              |
  | `remove-attendee`           | Removes an attendee from a specified event in a Google Calendar; the calendar and event must exist.                                                                   |
  | `settings-get`              | Tool to return a single user setting for the authenticated user.                                                                                                      |
  | `settings-list`             | Returns all user settings for the authenticated user. Results include multiple settings keyed by id (e.g., `timeZone`); locate a specific setting by its `id` field.  |
  | `settings-watch`            | Watch for changes to Settings resources.                                                                                                                              |
  | `sync-events`               | DEPRECATED: Use GOOGLECALENDAR\_EVENTS\_LIST instead. EventsList already handles syncToken with automatic param stripping.                                            |
  | `update-event`              | Updates an existing event in Google Calendar. REQUIRES event\_id - you MUST first search for the event using GOOGLECALENDAR\_FIND\_EVENT or...                        |
</Accordion>

## Triggers (7)

Subscribe with `.on(...)` in a script. A trigger with required configuration takes it as the second argument.

| Trigger                   | Needs   | What fires it                                                                            |
| ------------------------- | ------- | ---------------------------------------------------------------------------------------- |
| Attendee Response Changed | nothing | Polling trigger that fires when any attendee's RSVP changes to                           |
| Event Canceled or Deleted | nothing | Triggers when a Google Calendar event is cancelled or deleted.                           |
| Event Starting Soon       | nothing | Triggers when a calendar event is within a configured number of minutes from starting.   |
| Calendar Event Changes    | nothing | **SOON TO BE DEPRECATED** - Use Calendar Event Sync (polling trigger) instead.           |
| Event Created             | nothing | Polling trigger that fires when a new calendar event is created.                         |
| Calendar Event Sync       | nothing | Polling trigger that returns full event data including details, attendees, and metadata. |
| Event Updated             | nothing | Triggers when an existing Google Calendar event is modified. Returns the event ID,       |

[Open Google Calendar in the console →](https://app.boxd.sh/integrations/detail/googlecalendar)
