Skip to content
Elaichi Elaichi

Scheduling

Google Calendar

Connect Google Calendar once and hand every teammate a governed MCP endpoint with 38 tools ready to call from Claude, ChatGPT, Cursor, or any MCP client, inside the same permissions they already have, with every call checked and logged.

Google Calendar

Automations & dashboards

From answering questions to doing the work

A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards ship on the Black plan.

Automations

Put Google Calendar work on a schedule.

A trigger starts a sequence of steps: call a Google Calendar tool, transform the result, branch, wait, and ask a person when it matters.

Google Calendar digest

Run 418 · started 2 minutes ago · on behalf of Emma Laurent

  1. Schedule

    Every weekday at 08:00

    0.2s
  2. Fetch acls

    Google Calendar

    1.4s
  3. Group by owner

    Transform

    0.1s
  4. Draft the digest

    Agent step

    Ran with 4 tools, returned a structured summary

    6.2s
  5. Approve the digest

    Needs approval

    Assigned to Michael Brennan

    Approve
  6. Post the digest

    Google Calendar

    Queued

Collections and dashboards

Report on Google Calendar without asking.

Collections hold your own data, written by an automation and read by a dashboard that refreshes on a schedule.

Google Calendar health

Refreshed 4 minutes ago · every 15 minutes · from the acls collection

Live

Acls

1,284 ↓ 12%

Calendars

96 ↓ 8%

Needs attention

3 ↑ 2

Updated this week

412 ↑ 9%

Acls created

Last 14 days

By workspace

Share of activity

Engineering 34%

Product 27%

Support 21%

Sales 18%

AI tools

Google Calendar tools for your AI agents

38 tools are ready to call through Elaichi's MCP endpoint the moment you connect Google Calendar, governed by the same roles, restrictions, and audit log as everything else in Elaichi.

list_all_googlecalendar_userinfo

Retrieves basic profile information about the authenticated user in Google Calendar. The response includes essential details such as the user's unique identifier (sub), full name (name), first name (given_name), last name (family_name), profile picture URL (picture), and email address (email).

list_all_googlecalendar_calendar_lists

List the calendars on the authenticated user's Calendar List (owned plus subscribed). Use when browsing available calendars or resolving a display name to a calendar id before calling events list or get. Results are summaries; fetch full calendar metadata via this resource's get method or calendars get. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_googlecalendar_calendar_list_by_id

Read one Calendar List entry: access role, colors, and visibility for a calendar the user has subscribed to. Use when checking how a calendar appears in the user's list (not the calendar's own metadata — use calendars get for that). Obtain id from the calendar list.

create_a_googlecalendar_calendar_list

Add an existing calendar to the authenticated user's Calendar List (subscribe). Use when the user wants another calendar to appear in their list. Do NOT use this to create a brand-new secondary calendar — use calendars create for that. Returns the new list entry including the calendar id.

update_a_googlecalendar_calendar_list_by_id

Update a Calendar List entry's preferences (color, visibility, reminders) for a subscribed calendar. Use when changing how a calendar appears in the user's list without changing the calendar itself. Obtain id from the calendar list.

delete_a_googlecalendar_calendar_list_by_id

Remove a calendar from the user's Calendar List (unsubscribe). Use when the user no longer wants a subscribed calendar shown. Does not delete the underlying calendar — use calendars delete for that. Returns an empty 204 response on success. Obtain id from the calendar list.

googlecalendar_calendar_lists_watch

Open a push-notification channel for changes to the user's Calendar List. Use when an app needs webhook alerts when calendars are added or removed from the list — not for reading the list itself (use the calendar list). Returns a channel with id and expiration.

get_single_googlecalendar_calendar_by_id

Read a Google Calendar's metadata: display name, description, time zone, and location. Use when resolving a calendar id to human-readable details before listing or creating events. Obtain id from the calendar list or calendars create.

create_a_googlecalendar_calendar

Create a secondary Google Calendar with a summary (display name). Use when the user needs a new calendar separate from their primary one. Returns the created calendar including its id — store it for subsequent event calls. Do not use this to add someone else's calendar to the list; use the calendar list create for that.

update_a_googlecalendar_calendar_by_id

Update a Google Calendar's metadata (summary, description, time zone, location); only fields provided are changed. Use when renaming a calendar or correcting its details. Obtain id from the calendar list.

delete_a_googlecalendar_calendar_by_id

Delete a secondary Google Calendar by id. Use when permanently removing a calendar the user owns (not the primary). This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. To wipe events but keep the calendar, use calendars clear instead. Obtain id from the calendar list.

googlecalendar_calendars_clear

Delete every event on a Google Calendar identified by calendar_id, leaving the calendar itself. Use when the user wants to wipe a calendar clean without deleting it. This clears all events and cannot be undone; confirm the calendar and get explicit user confirmation before calling. To remove the calendar entirely, use calendars delete. Obtain calendar_id from the calendar list.

list_all_googlecalendar_events

List events on a Google Calendar for a time window. Use when asking what's on the schedule, finding free slots, or resolving an event title to an id. Pass calendar_id (from the calendar list; primary is usually 'primary'). Results are summaries; fetch a full record via this resource's get method. For expanded occurrences of a recurring series, use event instances instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

create_a_googlecalendar_event

Create a structured Google Calendar event with title, start/end, attendees, and optional location or conference data. Use when scheduling a meeting with known fields. For a one-line natural-language create ("Lunch Friday 1pm"), prefer events quick-add. For importing an existing iCalendar payload, use events import. Returns the created event including its id.

get_single_googlecalendar_event_by_id

Read a single Google Calendar event: title, time, attendees, location, and description. Use when you already know the event id and need full details. For browsing many events, use events list instead. Obtain id from events. Requires calendar_id of the calendar that owns the event.

update_a_googlecalendar_event_by_id

Partially update an existing Google Calendar event; only fields provided are changed. Use when rescheduling, renaming, or editing attendees on a known event. Obtain id from events. Requires calendar_id.

googlecalendar_events_quick_add

Create a Google Calendar event from a free-text phrase (natural language). Use when the user describes an event in one sentence without structured fields. For full control over attendees, recurrence, or conference data, use events create instead. Returns the created event including its id.

googlecalendar_events_move

Move a Google Calendar event from one calendar to another. Use when the user wants an event on a different calendar without recreating it. Pass the source calendar_id, event_id, and destination calendar id. Obtain ids from the calendar list and events.

delete_a_googlecalendar_event_by_id

Delete a Google Calendar event by id. Use when the user asks to cancel or remove a specific event. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from events. Requires calendar_id.

googlecalendar_events_import

Import an existing iCalendar event into a Google Calendar, preserving the original event id when possible. Use when migrating or syncing an external .ics event. For creating a brand-new event from structured fields, use events create instead.

googlecalendar_events_watch

Open a push-notification channel for event changes on a Google Calendar. Use when an app needs webhook alerts for creates/updates/deletes — not for reading the schedule (use events list). Returns a channel with id and expiration. Requires calendar_id.

list_all_googlecalendar_event_instances

List expanded instances of a recurring Google Calendar event within a time range. Use when you need each occurrence of a series (with concrete start/end times), not the master recurring event. Pass calendar_id and event_id of the recurring series. For ordinary event browsing, use events list instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

list_all_googlecalendar_free_busy

Get free/busy information for a set of calendars in Google Calendar. Requires timeMin, timeMax, and items with calendar or group ids. Returns busy time ranges and any errors per calendar.

list_all_googlecalendar_search_contacts

Get a list of contacts matching the query in Google Calendar. Requires query and readMask. Returns matched contacts with fields specified in readMask such as names, emailAddresses, phoneNumbers, and organizations.

get_single_googlecalendar_search_contact_by_id

Get information about a specific contact by id in Google Calendar. Requires personFields parameter specifying which fields to return such as names, emailAddresses, phoneNumbers, and organizations.

delete_a_googlecalendar_search_contact_by_id

Delete a contact person by id in Google Calendar. The response is empty if successful. Non-contact data will not be deleted. Mutate requests must be sent sequentially to avoid latency and failures.

list_all_googlecalendar_other_contacts

Get a list of other contacts matching the query in Google Calendar. Requires query and readMask parameters. Returns matched contacts with fields emailAddresses, metadata, names, and phoneNumbers.

list_all_googlecalendar_acl

List who can access a Google Calendar and their roles (reader, writer, owner). Use when auditing sharing or resolving who has access before changing permissions. Pass calendar_id. Results are summaries; fetch a full record via this resource's get method. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_googlecalendar_acl_by_id

Read one ACL rule for a Google Calendar: the subject (user/group/domain) and their role. Use when inspecting a known sharing rule. Obtain id from calendar ACL. Requires calendar_id.

delete_a_googlecalendar_acl_by_id

Revoke a Google Calendar sharing rule by deleting an ACL entry. Use when removing someone's access. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from calendar ACL. Requires calendar_id.

update_a_googlecalendar_acl_by_id

Change the role or scope of an existing Google Calendar ACL rule. Use when upgrading/downgrading someone's access. Obtain id from calendar ACL. Requires calendar_id.

create_a_googlecalendar_acl

Grant access to a Google Calendar by creating an ACL rule (role + scope). Use when sharing a calendar with a user, group, or domain. Returns the created rule including its id. Requires calendar_id.

googlecalendar_acl_watch

Open a push-notification channel for ACL changes on a Google Calendar. Use when an app needs webhook alerts when sharing rules change — not for listing ACL (use calendar ACL). Requires calendar_id.

googlecalendar_channels_stop

Stop watching resources through a channel in Google Calendar. Returns an empty response on success.

list_all_googlecalendar_colors

List the palette of calendar and event color ids with background/foreground hex values. Use when mapping a colorId on a calendar or event to a display color. Read-only; does not change any calendar.

list_all_googlecalendar_settings

List the authenticated user's Google Calendar settings (locale, time zone, default event duration, etc.). Use when reading preference values that affect how events are displayed or created. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_googlecalendar_setting_by_id

Read one Google Calendar user setting by id (key/value). Use when you need a specific preference such as timezone or locale. Obtain id from settings.

googlecalendar_settings_watch

Open a push-notification channel for Google Calendar settings changes. Use when an app needs webhook alerts for preference updates — not for reading settings (use settings list).

How it works

From Google Calendar account to governed MCP endpoint

Connect

Link a Google Calendar account through Elaichi's hosted connect flow. Credentials are vaulted, so nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Google Calendar tools are exposed, rename them, or freeze arguments.

Authorize

Point Claude, ChatGPT, Cursor, or any MCP client at the one Elaichi endpoint and sign in with OAuth, governed by roles, restrictions, and audit logs.

Put your agents to work in the tools you already use

Start a 14-day Gold trial. Connect a product, curate a toolbox, and paste a governed MCP endpoint into Claude, ChatGPT, or Cursor in minutes.