Calendar
Google Calendar tools — check availability, find free slots, and create, update, or delete events on connected Google accounts.
Tools (5)
Section titled “Tools (5)”get_free_slots
Section titled “get_free_slots”Full name: campaignstack_get_free_slots
Find the next available time slots in the user’s Google Calendar. Fetches events for up to 14 days from fromDate, then returns the first N gaps that fit the requested duration. When businessHoursOnly is true (default), slots are restricted to the account’s configured scheduling hours (schedulingStartHour/schedulingEndHour, default 9 AM–6 PM) in the Google account’s timezone (auto-detected from the calendar on connect; falls back to UTC). Requires a Google account to be connected and linked to the workspace. If googleAccountId is omitted, uses the first connected Google account.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID (defaults to the bound workspace) |
googleAccountId | string | No | — | Google account ID to use. Defaults to the first connected Google account linked to the workspace. |
fromDate | string | Yes | — | Start of the search window (ISO 8601 string, e.g. ‘2026-06-17T00:00:00Z’). Slots earlier than this date are excluded. |
durationMinutes | integer | No | 30 | Duration of each slot in minutes (default: 30) |
count | integer | No | 3 | Number of free slots to return (default: 3) |
businessHoursOnly | boolean | No | true | If true (default), only return slots within business hours (9 AM–6 PM in the Google account’s timezone, defaults to UTC if not set) |
check_calendar_availability
Section titled “check_calendar_availability”Full name: campaignstack_check_calendar_availability
Check whether a specific time slot is available in the user’s Google Calendar. Returns { available, conflictingEvents } where conflictingEvents is a list of events overlapping the requested range (each with summary, start, end). Requires a Google account to be connected and linked to the workspace. If googleAccountId is omitted, uses the first connected Google account linked to the workspace.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID (defaults to the bound workspace) |
googleAccountId | string | No | — | Google account ID to use. Defaults to the first connected Google account linked to the workspace. |
startTime | string | Yes | — | Start of the time range to check (ISO 8601 string, e.g. ‘2026-06-17T14:00:00Z’) |
endTime | string | Yes | — | End of the time range to check (ISO 8601 string, e.g. ‘2026-06-17T15:00:00Z’) |
create_calendar_event
Section titled “create_calendar_event”Full name: campaignstack_create_calendar_event
Create a Google Calendar event and optionally invite attendees. When attendeeEmails are provided, Google sends invite emails automatically (sendUpdates=all). Requires a Google account to be connected and linked to the workspace. If googleAccountId is omitted, uses the first connected Google account linked to the workspace. Returns { eventId, htmlLink } on success.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID (defaults to the bound workspace) |
googleAccountId | string | No | — | Google account ID to use. Defaults to the first connected Google account linked to the workspace. |
summary | string | Yes | — | Event title (min length: 1) |
startTime | string | Yes | — | Event start time (ISO 8601, e.g. ‘2026-06-17T14:00:00Z’) |
endTime | string | Yes | — | Event end time (ISO 8601, e.g. ‘2026-06-17T15:00:00Z’) |
description | string | No | — | Optional event description / agenda |
attendeeEmails | string[] | No | — | Optional list of attendee email addresses. Google Calendar sends invites automatically when sendUpdates=all. |
location | string | No | — | Optional event location (address, room name, or video link) |
update_calendar_event
Section titled “update_calendar_event”Full name: campaignstack_update_calendar_event
Update (reschedule) an existing Google Calendar event. All fields are optional — only the provided fields are changed (PATCH semantics). When attendeeEmails are provided, they replace the existing attendee list and Google sends update notifications automatically (sendUpdates=all). Requires a Google account to be connected and linked to the workspace. If googleAccountId is omitted, uses the first connected Google account linked to the workspace. Returns { eventId, htmlLink } on success.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID (defaults to the bound workspace) |
googleAccountId | string | No | — | Google account ID to use. Defaults to the first connected Google account linked to the workspace. |
eventId | string | Yes | — | Google Calendar event ID to update (min length: 1) |
summary | string | No | — | New event title |
startTime | string | No | — | New event start time (ISO 8601, e.g. ‘2026-06-17T14:00:00Z’) |
endTime | string | No | — | New event end time (ISO 8601, e.g. ‘2026-06-17T15:00:00Z’) |
description | string | No | — | New event description / agenda |
attendeeEmails | string[] | No | — | New list of attendee email addresses (replaces existing attendees). Google Calendar sends update notifications automatically. |
location | string | No | — | New event location (address, room name, or video link) |
delete_calendar_event
Section titled “delete_calendar_event”Full name: campaignstack_delete_calendar_event
Delete (cancel) a Google Calendar event. By default, cancellation notifications are sent to all attendees (sendNotifications=true). Requires a Google account to be connected and linked to the workspace. If googleAccountId is omitted, uses the first connected Google account linked to the workspace. Returns { deleted: true } on success.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workspaceId | string | No | — | Workspace ID (defaults to the bound workspace) |
googleAccountId | string | No | — | Google account ID to use. Defaults to the first connected Google account linked to the workspace. |
eventId | string | Yes | — | Google Calendar event ID to delete (min length: 1) |
sendNotifications | boolean | No | true | If true (default), Google sends cancellation notifications to all attendees. |