Google Calendar logo

Integrate Google Calendar with your AI CRM

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

Explore Triggers and Actions

Attendee Response Changed

Polling trigger that fires when any attendee's RSVP changes to accepted, declined, or tentative. Returns attendee info and current status.

TriggerpollTry it

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).

TriggerpollTry it

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.

TriggerpollTry it

Event Created

Polling trigger that fires when a new calendar event is created. Returns event ID, summary, start/end times, and organizer info.

TriggerpollTry it

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.

TriggerpollTry it

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.

TriggerpollTry it

Batch Events

Execute up to 1000 event mutations (create/patch/delete) in one Google Calendar HTTP batch request with per-item status/results. Use this to materially reduce round-trips for bulk operations like migrations, cleanup, or large-scale updates.

ActionTry it

Clear Calendar

Clears a primary calendar by deleting all events from it. The calendar itself is preserved; only its events are removed. Primary calendars cannot be deleted entirely.

ActionTry it

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.

ActionTry it

Create a new calendar

Creates a new secondary Google Calendar with the specified title and optional settings. Use this action when you need to create a new calendar for organizing events separately from the primary calendar. The authenticated user becomes the owner of the newly created calendar. Optional parameters include description, location, and timezone.

ActionTry it

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.

ActionTry it

Create Event

Creates a timed or all-day Google Calendar event and returns it under response_data, without conflict checking. send_updates defaults to "all", which emails all attendees; for eligible event types, the organizer is added unless excluded and a Google Meet link is requested by default.

ActionTry it

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.

ActionTry it

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.

ActionTry it

Delete event

Deletes an event from the specified calendar. Only Google's HTTP 204 confirms deletion; 404 or 410 can also mean the event belongs to a different calendar. Bulk deletions may trigger `rateLimitExceeded` or `userRateLimitExceeded`; cap concurrency to 5–10 requests and apply exponential backoff.

ActionTry it

Find event

Finds events in a specified Google Calendar using text, time ranges, and event types. Results are returned in event_data.event_data and may span multiple pages; follow nextPageToken even when a page is empty.

ActionTry it

Find free slots

Queries busy intervals and calculates free gaps for specified calendars, without filtering by meeting duration; the range is limited to 89 days, and calendar errors produce empty free slots marked unreliable. Omitted start defaults to now, and omitted end to 23:59:59 on the applicable day in the specified timezone.

ActionTry it

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.

ActionTry it

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.

ActionTry it

Get Calendar Setting

Tool to return a single user setting for the authenticated user. Use when you need to retrieve a specific calendar setting value.

ActionTry it

Get Color Definitions

Returns the color definitions for calendars and events. Use when you need to retrieve the available color palette for styling calendars or events.

ActionTry it

Get current date and time

Gets the current date and time, allowing for a specific timezone offset. Call this tool first before computing relative dates (e.g., 'tomorrow', 'next Monday') to avoid off-by-one-day errors across timezones.

ActionTry it

Get Current Google Calendar User

Identifies the Google user connected to Calendar from the primary calendar resource. Returns the account identifier, email when available, display name, timezone, and primary calendar ID. This is Calendar identity metadata, not a full Google Account or People profile.

ActionTry it

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.

ActionTry it

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.

ActionTry it

Get Google Calendar

Gets canonical metadata for one Google Calendar, defaulting to the authenticated user's primary calendar. Returns its identifier, title, description, location, time zone, and conference properties. Use GOOGLECALENDAR_CALENDAR_LIST_GET for one calendar's user-specific list settings such as access role, color, visibility, selection, and default reminders; use GOOGLECALENDAR_LIST_CALENDARS to enumerate accessible calendars.

ActionTry it

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.

ActionTry it

Import Event

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. Only events with eventType='default' can be imported.

ActionTry it

Insert Calendar into List

Inserts an existing calendar into the user's calendar list, with optional display settings. The primary keyword is not accepted; provide the actual calendar ID.

ActionTry it

List ACL Rules

Retrieves the list of access control rules (ACLs) for a specified calendar, providing the necessary 'rule_id' values required for updating specific ACL rules.

ActionTry it

List Buildings

Lists a page of buildings for a Google Workspace customer, including available addresses, coordinates, and floor names. Use the continuation token for further pages; Directory API access and appropriate administrator privileges are required.

ActionTry it

List Calendar Resources

Retrieves calendar resources (such as conference rooms) from a Google Workspace domain using the Admin SDK Directory API. Use this action when you need to list available meeting rooms, conference spaces, or other bookable calendar resources in an organization. The action supports filtering by resource category, capacity, building location, and other criteria. IMPORTANT: This requires Admin SDK Directory API access and appropriate admin permissions - it is NOT available for personal Gmail accounts, only Google Workspace domains.

ActionTry it

List Calendar Settings (Deprecated)

DEPRECATED: Use GOOGLECALENDAR_SETTINGS_LIST instead. Tool to return all user settings for the authenticated user. Use when you need to retrieve calendar settings.

ActionTry it

List Events

Lists or incrementally synchronizes events from one calendar, defaulting to the connected user's primary calendar. Use timeMin/timeMax for a time window, singleEvents to expand recurring series, showDeleted to include cancelled events, query for text search, orderBy to sort, pageToken to continue a page sequence, and syncToken to retrieve changes after a completed full sync. A sync token cannot be combined with event, text, property, time, update-time, or ordering filters; keep other parameters unchanged across sync pages. The final page returns nextSyncToken, and an expired token requires a new full sync after Google returns HTTP 410. Use fields to request a smaller partial response, including continuation tokens needed by the workflow.

ActionTry it

List Events from All Calendars

Lists and deduplicates events across selected calendars or the user's calendar list for a time range. Returns a compact summary by default, with full event details available on request; per-calendar errors can make results incomplete.

ActionTry it

List Google Calendars

Lists calendars accessible through the connected user's CalendarList, returning IDs and user-specific metadata such as access role, color, visibility, selection, and reminders. Hidden calendars are omitted unless show_hidden is true; min_access_role and show_deleted provide additional filtering. Continue with page_token until next_page_token is absent; for incremental synchronization, pass next_sync_token back as sync_token. Use returned IDs, not display names, with event actions, and use GOOGLECALENDAR_GET_CALENDAR for canonical metadata about one known calendar.

ActionTry it

List Settings

Lists the authenticated user's calendar settings, returning a page of settings identified by their id fields. Supports pagination and incremental synchronization using a sync token.

ActionTry it

Move Event

Moves a default event to another calendar, changing its organizer. Other event types cannot be moved.

ActionTry it

Patch ACL Rule

Partially updates the role or scope of an existing Google Calendar access control rule. Provide at least one of role or scope; you can also choose whether to send sharing notifications. This operation modifies an existing rule rather than creating one.

ActionTry it

Patch Calendar

Partially updates (PATCHes) an existing Google Calendar, modifying only the fields provided. At least one of summary, description, location, or timezone must be provided. Empty strings for `description` or `location` clear them.

ActionTry it

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.

ActionTry it

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 write access to the calendar.

ActionTry it

Query Calendar Availability

Queries raw busy intervals for one or more calendars or groups over an exact time range. Returns per-calendar and per-group availability and errors, without event titles or details. Use GOOGLECALENDAR_FIND_FREE_SLOTS when you want default time bounds and computed free intervals; use GOOGLECALENDAR_EVENTS_LIST when you need event records.

ActionTry it

Quick Add Event

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_id` must be valid if not 'primary'.

ActionTry it

Remove attendee from event

Removes an attendee from a specified event in a Google Calendar; the calendar and event must exist. Concurrent calls on the same event can overwrite attendee lists — apply changes sequentially per event.

ActionTry it

Remove Calendar from List

Removes a calendar from the user's calendar list, unsubscribing from it without deleting the calendar itself.

ActionTry it

Stop Channel

Tool to stop watching resources through a notification channel. Use when you need to discontinue push notifications for a specific channel subscription.

ActionTry it

Sync Events (Deprecated)

Deprecated: Retrieves a page of Google Calendar events for full or incremental synchronization, using a sync token for changes. Returns pagination and sync tokens; an expired token requires a new full synchronization.

ActionTry it

Update ACL Rule

Updates an access control rule for the specified calendar.

ActionTry it

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.

ActionTry it

Update Calendar List Entry

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.). To modify the calendar itself, use GOOGLECALENDAR_CALENDARS_UPDATE.

ActionTry it

Update Google event

Replaces an existing Google Calendar event using its event ID and required start time. Omitted fields can be cleared, but existing conference data is preserved by default when available; supply the desired event details for the replacement.

ActionTry it

Watch ACL Changes

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.

ActionTry it

Watch Calendar List

Creates a push-notification channel for changes to the user's calendar list. Notifications signal changes rather than providing full change details, and delivery is not completely reliable.

ActionTry it

Watch Events

Watch for changes to Events resources. Watch channels expire; persist the channel `id` per `calendarId` to re-establish watches after expiration or restarts.

ActionTry it

Watch Settings

Watch for changes to Settings resources.

ActionTry it

How the Google Calendar integration works

The Google Calendar integration connects your Dench AI CRM directly to Google Calendar, so agents can read and act on your Google Calendar data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

50 actions are available for agents to invoke on your behalf, and 6 triggers can start a Dench automation the moment something changes in Google Calendar. Every call runs through Google Calendar's own authorization, scoped to the account you connect.

Set up Google Calendar in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Google Calendar and click Connect — you'll authorize access through Google Calendar's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Google Calendar in chat, or wire a Google Calendar trigger into an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Google Calendar integration work with Dench?

The Dench Google Calendar integration connects your AI CRM to Google Calendar, so AI agents can work with your Google Calendar data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Google Calendar via Dench?

The Google Calendar integration currently exposes 50 actions, including Batch Events, Clear Calendar, Create a calendar, Create a new calendar, Create ACL Rule, and Create Event. Agents invoke them on your behalf from chat or from automations.

Can Dench react to events in Google Calendar automatically?

Yes. The Google Calendar integration provides 6 triggers — such as Attendee Response Changed, Calendar Event Sync, Event Canceled or Deleted, and Event Created — that can start a Dench automation the moment something happens in Google Calendar.

Do I need to write code to connect Google Calendar to Dench?

No. You connect Google Calendar from your Dench workspace using Google Calendar's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Google Calendar integration secure?

Connections are authorized through Google Calendar's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Google Calendar connection from your workspace settings at any time.