Ambiguous MCP logo

Integrate Ambiguous MCP with your AI CRM

Operate an Ambiguous workspace through its provider-hosted MCP server, including documents, spreadsheets, tasks, CRM, calendar, mail, chat, and administration. Uses the connected account’s workspace-scoped API key. Some tools send external messages, delete data, change access, or consume the workspace action allowance.

Explore Triggers and Actions

Ack mentions activity

Acknowledge the Mentions & reactions inbox after it has been displayed. Marks the caller's unread chat mention notifications read and stamps users.mentions_acked_at, so the projector recomputes both chat.mentions and chat.reactions to 0 durably (the sidebar "Mentions & reactions" item un-bolds and stays cleared across re-fetch). Per-channel read cursors are untouched, so channel message unread counts are unaffected; a reaction that arrives after the ack re-bolds the item.

ActionTry it

Ack thread activity

Acknowledge readable Threads inbox activity on entry without advancing personal read cursors or clearing explicit manual unread intent.

ActionTry it

Add conditional format

Add a conditional formatting rule to a spreadsheet. Provide one of booleanRule, gradientRule, iconSetRule, or dataBarRule. The server generates a unique ID for the rule.

ActionTry it

Add connected element

Extend a flow: place a new node beside an existing element and connect them in one call — the server computes the position unless you pass `drop_point`. Use this instead of create_canvas_element + a manual connector when building a flowchart, product map, or swimlane step-by-step. Give `source_element_id` and a `direction` (n/s/e/w); the new node lands one standard gap on that side and is nudged clear of any overlap, and a connector is created pre-attached from the source to it. For a drag-to-empty gesture, supply optional `drop_point: { x, y }` to center the new node at that board-space point instead of automatic placement. Provide `element` for the new node's type (connector/frame/swimlane not allowed here), or omit it to duplicate the source. Coordinates: board units, top-left origin, +x right / +y down. Example: add_connected_element({ id: "<boardId>", source_element_id: "<elId>", direction: "e", element: { type: "shape", shape: "diamond" } }) → { element, connector }.

ActionTry it

Add deal line item

Add a line item to a deal. Either reference an existing product (via product_id) or create a custom line by providing name and unit_price. The deal amount is auto-recalculated.

ActionTry it

Add forwarding address

Add a forwarding address (sends verification email).

ActionTry it

Add pipeline member

Add (or update the role of) a user or team on a CRM pipeline. Provide either user_id or team_id, plus role (admin | member). Admins/owners and pipeline admins can manage members.

ActionTry it

Add shared drive member

Add a member (manager-only).

ActionTry it

Add sheet column

Add a column to a sheet tab.

ActionTry it

Add sheet rows

Append rows to a sheet tab. Each row is an object keyed by column ID. Example: [{"A": "Widget", "B": 9.99}].

ActionTry it

Add sheet tab

Add a new tab to a sheet. Auto-generates the name if not provided.

ActionTry it

Add slide

Add a new slide to an existing presentation. Provide the slide as a JSON object with layout, background, and elements. Each element has a type (text, image, shape, table, video, group), position (x, y), size (w, h), and type-specific properties. IMPORTANT: Create SEPARATE text elements for each visual block (title, each bullet point, each paragraph). Do NOT put multiple lines or bullet points in a single text element — create one element per line with proper positioning. Use bullet character '•' instead of markdown '*' or '-'. Set fontSize and fontWeight per element for visual hierarchy. If the user is currently viewing a presentation, use the presentation ID from the page context.

ActionTry it

Add task attachment

Attach a Drive file to a task. Idempotent — re-attaching the same file returns the existing row. Attaching makes the file readable by everyone who can read the task, so a file you do not own needs the share right on it (403 `file_attach_requires_share` when you can only view it).

ActionTry it

Add team member

Add a user to a team with an optional role (admin or member). Only team admins or workspace admins can add members. Default role is 'member'. Use this when the user asks to add someone to a team or distribution list.

ActionTry it

Admin integration delete

disconnect an integration

ActionTry it

Admin integration update

update integration config

ActionTry it

Admin integrations list

list all integrations for workspace

ActionTry it

Admin integrations slack channels

list Slack channels via bot token

ActionTry it

Admin invite delete

Revoke (cancel) a pending invite. Pending only — an accepted or expired invite is refused `409 invite_not_pending`; its row is history, not a live grant.

ActionTry it

Admin invite resend

Resend invite email + refresh expiry. The email carries a freshly minted link, so every link sent before for this invite stops working. Pending invites only — an accepted or expired invite is refused `409 invite_not_pending`.

ActionTry it

Admin invites list

List pending, accepted, and expired workspace invites, pending first and then newest. Paginated; `pending_total` counts invites awaiting acceptance. Each row also carries `delivery` — what the provider said about the latest send of that invite email, so a bounced invite is distinguishable from an ignored one.

ActionTry it

Admin mail suppression create

manually add a suppression

ActionTry it

Admin mail suppression delete

remove a suppression

ActionTry it

Admin mail suppressions list

list suppressed addresses

ActionTry it

Admin notification defaults get

Read workspace-default email notification prefs. Returns sensible defaults (all enabled) when never configured.

ActionTry it

Admin notification defaults update

Partially update workspace-default email notification prefs. Emits settings.updated audit event.

ActionTry it

Admin usage export

Export usage stats as CSV

ActionTry it

Admin usage timeseries

Daily creation counts (last 14 days, split into "last 7" + "prior 7" windows) for the four hero metrics on the Overview tab. Returns `{users, documents, messages, emails}` each with `{buckets[7], total, previous_total}` so the UI can draw a sparkline + render a 7...

ActionTry it

Admin user get

Get one workspace user's full admin record by id.

ActionTry it

Admin user reset password

Create and email a one-hour password-reset link. On delivery failure, returns `sent: false` with `reset_url`.

ActionTry it

Admin user suspend

Suspend a user account. Suspended accounts return 403 on all API calls.

ActionTry it

Admin user unsuspend

Unsuspend a user account. Restores access to all API calls.

ActionTry it

Admin workspace logo delete

Remove workspace logo (admin only)

ActionTry it

Analytics annotations list

List a project's annotations, oldest date first: each is a date, an optional end date, a short text and its author, drawn on every time-series chart in the project. `from`/`to` keep only annotations overlapping that range.

ActionTry it

Analytics catalog overrides list

List catalog metadata overrides for the workspace.

ActionTry it

Analytics catalog stats

Per-event last_seen_at and 30-day volume for the workspace's tracked events.

ActionTry it

Analytics cohorts get

Read a saved cohort's name, stored criteria and member-count snapshot by ID, without recomputing its audience. Use analytics_cohorts_list to find cohort IDs. Requires a role on the report's project; `404` otherwise.

ActionTry it

Analytics cohorts list

List saved cohort reports in the active workspace, including their definitions and stored member counts. Lists one Analytics project (`project_id`) and requires a role on it.

ActionTry it

Analytics dashboards get

Read a saved analytics dashboard's name, stored query and tile layout by ID. Requires a role on the dashboard's project; unavailable dashboards return not found. Use analytics_dashboards_list to find accessible IDs. Requires a role on the report's project; `404` otherwise.

ActionTry it

Analytics dashboards list

List the saved analytics dashboards of one Analytics project (`project_id`), including their tile layouts. Everyone who can view the project sees every dashboard in it. Requires a role on the report's project; `404` otherwise.

ActionTry it

Analytics events get

Read one Analytics evidence event owned by the caller's source workspace. Foreign and missing IDs return 404.

ActionTry it

Analytics events list

List source-owned Analytics evidence with bounded filters and stable pagination. Measured group IDs never grant access.

ActionTry it

Analytics funnels get

Read a saved funnel report's name and stored conversion query definition by ID, without running the funnel. Use analytics_funnels_list to find report IDs. Requires a role on the report's project; `404` otherwise.

ActionTry it

Analytics funnels list

List saved funnel reports in the active workspace, including their names and conversion query definitions. Lists one Analytics project (`project_id`) and requires a role on it.

ActionTry it

Analytics insights get

Read a saved insights report's name and stored query definition by ID, without executing the query. Use analytics_insights_list to find report IDs. Requires a role on the report's project; `404` otherwise.

ActionTry it

Analytics insights list

List saved insights reports in the active workspace, including their names and query definitions. Lists one Analytics project (`project_id`) and requires a role on it.

ActionTry it

Analytics metric definitions list

List metric definitions visible in the named Analytics project, or its workspace default when omitted. management=true instead reads the workspace-wide admin catalog. Each definition includes its newest stored period.

ActionTry it

Analytics metric value

Read one number from a saved insight or funnel over a window: the value, the same metric over the window before it, a sparkline and a link to the report. Embedded metrics on canvas, in chips and in sheets read through this. Example: report=insights:<id>&from=today-28d&to=now.

ActionTry it

Analytics metrics upsert

Upsert external metric rows (ad spend, cloud spend, incident minutes) keyed by metric, grain, period and dimensions. A row replaces the live value only when its observed_at is newer; an older observation is kept in the restatement history and reported as stale. Requires workspace admin rank and the analytics.write scope; the public write key is refused.

ActionTry it

Analytics mv metadata

Get materialized view name and last refresh time.

ActionTry it

Analytics projects access request create

Ask the project's owners for access at viewer or editor. Must ask higher than the role held (`400 access_role_not_higher`); `409 access_request_open` while one is open; `404` for an unknown project.

ActionTry it

Analytics projects access request current

Return whether the caller has an open access request for the project.

ActionTry it

Analytics projects access request decide

Approve at viewer or editor, or decline, an open access request. Project owners only. Returns 409 once decided.

ActionTry it

Analytics projects get

Read one Analytics project, its view and the caller's role. `404` when the caller holds no role on it.

ActionTry it

Analytics projects list

List the Analytics projects the caller holds a role on, each with its view and the caller's role. Workspace admins hold no implicit role: a private project an admin was not added to is not listed.

ActionTry it

Analytics projects permissions list

List the project's members: users and teams with their roles. The Everyone team row is the workspace tier.

ActionTry it

Analytics query execute

Execute an ad-hoc analytics query (events/insights/funnel/retention/cohort). Returns structured results over the project's view (the workspace default project when project_id is omitted).

ActionTry it

Analytics restricted marks list

List the workspace's restricted event names, trait keys and metric keys. Workspace admin only.

ActionTry it

Analytics retentions get

Read a saved retention report's name and stored query definition by ID, without computing retention. Use analytics_retentions_list to find report IDs. Requires a role on the report's project; `404` otherwise.

ActionTry it

Analytics retentions list

List saved retention reports in the active workspace, including their names and query definitions. Lists one Analytics project (`project_id`) and requires a role on it.

ActionTry it

Analytics settings get

Get the workspace's analytics settings — the timezone calendar windows such as today-7d and day/week/month buckets resolve in.

ActionTry it

Analytics user timeline

Get a user's event timeline with session grouping (30-min inactivity split). Walks the alias graph (depth 5) to include all prior identities.

ActionTry it

Analytics users aggregates

List analytics user profiles from the materialized view (faster at high volume, nightly refresh). Falls back to direct read when MV is unavailable.

ActionTry it

Analytics users list

List analytics user profiles (paginated, searchable). Returns traits, first_seen, last_identified.

ActionTry it

Analytics write key list

List all writeKeys for the workspace (plaintext never returned on list).

ActionTry it

Append sheet values

Append rows of values to a sheet at the first empty row in a range. The server finds the insertion point — no need to read the last row first. Uses OVERWRITE semantics (does not shift existing data).

ActionTry it

Apply deal template

Create a new deal from a saved deal template. The template provides default pipeline, stage, amount, probability, and line items. Use this when starting a deal that matches a known pattern (e.g., 'Standard Enterprise Plan').

ActionTry it

Apply master to slide

Link a master slide to a specific slide by 0-based index. The slide stores a by-reference link, retains its existing elements as child-owned content, and clears prior master-element override markers. Current master elements inherit at render time and future master edits flow through automatically.

ActionTry it

Apply task template

Create a new task by applying a template's defaults. The template pre-fills status, priority, estimate, assignee, description, and labels. Override any field by passing it explicitly. Title is always required.

ActionTry it

Apply transition to all

Apply a slide transition to every slide in the deck. Set transition.type to 'none' to clear transitions on all slides. Prefer duration_s (float seconds, 0.1–10); legacy speed presets map to slow=1.0s, medium=0.5s, fast=0.3s.

ActionTry it

Archive mail thread

Archive every inbox-folder message in a thread

ActionTry it

Asset get content

An image inside a doc, sheet, slide deck, canvas board, wiki page or task description is an asset of that container, not a Drive file: it never appears in Drive, and it is readable exactly when its container is. Returns the image bytes when the caller can read the container — through the document's role, the wiki page's role or the task's access check, collaborators in other workspaces included. Bytes are proxied, never redirected, with `Cache-Control: no-store`; an active type such as SVG is served as a download. Every miss is the same 404.

ActionTry it

Assign role

Assign a role to a user. Requires admin role.

ActionTry it

Auth whoami

Return the current authenticated user's profile (works with both JWT and API-key auth), including active workspace name + ID and agent kind + manager when applicable. needs_workspace_setup: true indicates the account has no workspace yet.

ActionTry it

Automations enqueue

Queue an enabled automation for background execution. Send a JSON object with an optional payload object containing the trigger data. Returns 202 Accepted with run_id, status and status_url; the Location response header points to GET /api/automations/runs/{run_id}. Poll with the same credential until success, failed, filtered, cancelled or depth_exceeded. The durable scheduler resumes queued work. Dry runs use /api/automations/{id}/test instead; _test_mode is rejected on this endpoint.

ActionTry it

Batch archive emails

Archive multiple emails in one atomic call. Moves all specified messages to the archive folder. Use this when the user wants to bulk-archive many emails (e.g., inbox-zero cleanup, archiving all messages from a sender).

ActionTry it

Batch clear sheet values

Clear all cell values in multiple ranges atomically. Sets cells to null without removing rows or columns. Useful for resetting template sheets or clearing data regions.

ActionTry it

Batch file permissions

Batch-fetch permissions for up to 50 files by ID. Returns a map of file_id → permissions array.

ActionTry it

Batch get contacts

Fetch multiple CRM contacts by their IDs in a single request (max 100). Missing or inaccessible IDs are silently omitted from the result.

ActionTry it

Batch get deals

Fetch multiple CRM deals by their IDs in a single request (max 100). Missing or inaccessible IDs are silently omitted from the result.

ActionTry it

Batch get files

Batch-fetch up to 50 files by ID. Powers drive:// embed hydration in Chat/Docs/Wiki/CRM.

ActionTry it

Batch get sheet values

Fetch multiple disjoint ranges from a spreadsheet in a single request. Avoids N sequential round-trips when reading KPIs from different regions.

ActionTry it

Batch modify emails

Batch modify multiple emails in one atomic call. Can star/unstar, mark read/unread, add/remove labels, and change folder — all at once for up to 500 messages. Use this when the user wants to bulk-update many emails (e.g., star all from a sender, mark a batch as read, apply labels to multiple messages).

ActionTry it

Batch trash emails

Trash multiple emails in one atomic call. Moves all specified messages to the trash folder. Use this when the user wants to bulk-trash many emails (e.g., spam cleanup, clearing a project mailbox).

ActionTry it

Block sender

Block a sender (address or domain).

ActionTry it

Book event resources

Book one or more resources (rooms, equipment) for an existing event. Returns a conflict error if a resource is already booked.

ActionTry it

Browse public channels

Browse the workspace's public channels, including the ones the caller has not joined, each with a `joined` flag and member count. `list_channels` returns memberships only, so this is the only way to discover a public channel you are not in and get the id `chat_channel_join` needs. Private channels and DMs are never listed. Use this when the user asks what channels exist, or asks to join a channel by name.

ActionTry it

Bulk archive tasks

Archive up to 100 tasks at once. Only archives tasks the caller created or is assigned to.

ActionTry it

Bulk copy files

Copy multiple files to a folder (max 100). The destination needs editor access (contributor in a shared drive); a folder the caller cannot see answers 404 like one that does not exist, and a visible one they cannot write to answers 403. A copy into a shared-drive folder belongs to that drive.

ActionTry it

Bulk delete contacts

Delete many CRM contacts in a single operation. Returns counts of deleted/skipped/failed items.

ActionTry it

Bulk delete deals

Delete many CRM deals at once by their ids.

ActionTry it

Bulk delete messages

Soft-delete up to 100 messages in a channel. Deletes only the IDs the caller may delete (own messages, or any message when the caller is a channel admin); every other ID returns in `rejected`. Emits one bulk `message.deleted` event, never one per message.

ActionTry it

Bulk delete tasks

Soft-delete multiple tasks at once by ID. Only deletes tasks the current user created. Max 100 task IDs per call. Subtasks cascade. Use `restore_task` to recover individually.

ActionTry it

Bulk export contacts

Export selected contacts as CSV or vCard. CSV includes core fields and custom properties; vCard preserves imported RFC 6350 properties and parameters.

ActionTry it

Bulk export deals

Export selected deals as CSV

ActionTry it

Bulk move files

Move multiple files to a folder (max 100). The destination needs editor access (contributor in a shared drive); a folder the caller cannot see answers 404 like one that does not exist, and a visible one they cannot write to answers 403. Per-file failures come back in `errors`: "File not found" for a file the caller cannot view, "Forbidden" for one they can view but not edit. An item whose sharing is restricted (editors can't share, on it or a folder above it) moves only with its owner.

ActionTry it

Bulk update contacts

Update many CRM contacts in a single operation. Useful for re-assigning ownership, updating lifecycle stage on a list of contacts, or reclassifying industry. Provide an array of contact IDs and the fields to apply to all of them.

ActionTry it

Bulk update deals

Update many CRM deals in a single operation. Useful for moving multiple deals to a new stage, reassigning ownership, or marking a batch of deals as won/lost. Provide an array of deal IDs and the fields to apply.

ActionTry it

Bulk update tasks

Update multiple tasks at once by ID. Only updates tasks the current user has access to (creator or assignee). Max 200 task IDs per call. Omit fields you do not want to change. Pass `null` to clear a nullable field (assignee_id, project_id, due_date, goal_id, task_status_id).

ActionTry it

Calendar conflicts

Detect attendee scheduling conflicts.

ActionTry it

Calendar event export ics

Export single event as .ics.

ActionTry it

Calendar event meeting notes create

Create a meeting-notes doc for an event, or — when `document_id` is given — link that existing doc and grant attendees access.

ActionTry it

Calendar event meeting notes unlink

Unlink meeting-notes doc.

ActionTry it

Calendar event reminders create

Add a reminder to a calendar event.

ActionTry it

Calendar event reminders list

List event reminders.

ActionTry it

Calendar event reminders set

Replace reminder list.

ActionTry it

Calendar event unbook resources

Release every resource booked for a calendar event.

ActionTry it

Calendar export ics

Export entire calendar as .ics.

ActionTry it

Calendar external auth url

Start external provider OAuth.

ActionTry it

Calendar external calendars enable sync

Enable two-way sync.

ActionTry it

Calendar external calendars list

List calendars on connection.

ActionTry it

Calendar external connection delete

Disconnect external account.

ActionTry it

Calendar external connections list

List connected external accounts.

ActionTry it

Calendar external force sync

Schedule every mirror calendar on this connection for an immediate background pull. Poll the connection's `last_sync_at`; completion is any value at or after `requested_at`.

ActionTry it

Calendar external synced disable

Disable sync for one calendar.

ActionTry it

Calendar import ics url

Import an .ics feed by URL. Fetches the URL server-side and imports its events into the calendar.

ActionTry it

Calendar reminder delete

Delete one calendar event reminder by id.

ActionTry it

Calendar resource delete

Delete a bookable calendar resource by id.

ActionTry it

Calendar resource get

Get one bookable calendar resource by id.

ActionTry it

Calendar resource update

Update a bookable calendar resource's details.

ActionTry it

Calendar resources create

Create a bookable resource.

ActionTry it

Calendar upcoming reminders

Reminders due to fire within the next `window_hours` (default 24, max 168), soonest first. Each row carries the event it is about — title, span, status, location and calendar — so the caller renders the row without a second fetch.

ActionTry it

Calendars create

Create a calendar in the current workspace.

ActionTry it

Calendars delete

Delete a calendar and every event on it.

ActionTry it

Calendars permissions get

Get a single user's permission entry on a calendar, including their role, display name, and email. Useful for checking if a specific user has access without listing all permissions.

ActionTry it

Calendars update

Update calendar fields.

ActionTry it

Cancel scheduled email

Cancel a scheduled email

ActionTry it

Cancel scheduled message

Cancel a pending scheduled message so it's never sent. Use this when the user says 'never mind' or changes their plan before the scheduled time.

ActionTry it

Cancel scheduler booking

Cancel a booking as its host. The booked event is cancelled and the booker is always emailed the cancellation, with the optional message.

ActionTry it

Change coworker manager

Reassign the accountable human (manager) for a coworker. Admin-only — the current manager cannot reassign themselves out. Changing manager revokes the coworker's existing API keys and realtime sessions; the new manager must reconnect it. An unchanged manager keeps keys.

ActionTry it

Chat channel create

Create a chat channel in the workspace.

ActionTry it

Chat channel delete

Delete a chat channel and its messages.

ActionTry it

Chat channel get

Get a specific channel by UUID, with members.

ActionTry it

Chat channel group remove

Remove a group from channel (clean up fan-out rows)

ActionTry it

Chat channel join

Self-join a public channel (no body required)

ActionTry it

Chat channel last messages

Batch-fetch the latest message preview for multiple channels in one request. Pass `ids` as a comma-separated list of channel IDs (max 100). Returns one entry per channel the caller can read, each carrying its `channel_id`. Replaces per-channel `GET /messages?limit=1` calls so a DMs/channels list renders previews without an N+1 request fan-out.

ActionTry it

Chat channel leave

Leave a chat channel you belong to.

ActionTry it

Chat channel member remove

Remove a member from a chat channel.

ActionTry it

Chat channel members add

Add member(s) or a group

ActionTry it

Chat channel notification preference

Choose your channel notification preference, not mute/unmute; use set_channel_muted for that. unread_only (default) surfaces unread activity; all_messages also notifies on unmuted messages. mentions_only shows mention badges; nothing hides channel unread/badge indicators and suppresses keyword and subscribed-thread alerts. Direct mention and broadcast notification delivery remains separate. This does not change the mute indicator or expiry. Per-user; other members are unchanged.

ActionTry it

Chat channel notification prefs

Update the caller's per-channel notification preferences (unread_display: count | dot | since_visit).

ActionTry it

Chat channel update

Update a chat channel's name, topic or settings.

ActionTry it

Chat draft create saved

Create a saved (named) draft for the caller.

ActionTry it

Chat draft delete

Delete a draft owned by the caller.

ActionTry it

Chat draft update

Update a saved draft owned by the caller.

ActionTry it

Chat drafts list

The caller's chat drafts (inflight + saved), newest first.

ActionTry it

Chat emoji image

Serve custom emoji image from GCS

ActionTry it

Chat mentions inbox

Messages from other users that @-mention the caller. Powers the Mentions tab.

ActionTry it

Chat message delete

Delete one message from a chat channel.

ActionTry it

Chat message update

Edit message or pin/unpin

ActionTry it

Chat preferences

Workspace-level chat preferences readable by any authenticated member (default_reactions).

ActionTry it

Chat reactions inbox

Messages authored by the caller that carry reactions from other users. Powers the Mentions & Reactions inbox.

ActionTry it

Chat saved ids list

Get saved message IDs for a channel (for UI bookmarked state)

ActionTry it

Chat sidebar create section

Create a custom chat-sidebar section for the caller.

ActionTry it

Chat sidebar delete section

Delete a chat-sidebar section owned by the caller.

ActionTry it

Chat sidebar list sections

The caller's custom chat-sidebar sections, ordered by position.

ActionTry it

Chat sidebar reorder sections

Reorder the caller's chat-sidebar sections.

ActionTry it

Chat sidebar update section

Rename a chat-sidebar section or set its channels.

ActionTry it

Chat thread activity list

List thread-activity inbox for the current user. Powers the sidebar "Threads" inbox entry. Returns readable threads the user participates in or explicitly marked unread, with peer-only unread counts and own-inclusive unread anchors.

ActionTry it

Chat thread get

Get the replies in a chat message's thread.

ActionTry it

Check availability

Check free/busy availability for one or more users in a given time range. Returns busy time slots (not event details) for each user. Use this when the user asks to find a free time, check if someone is available, or schedule a meeting. Call this before create_event to avoid scheduling conflicts.

ActionTry it

Check resource availability

Check if a specific resource (room, equipment) is free in a time range. Call before booking to avoid conflicts.

ActionTry it

Check workspace slug

Check whether a workspace slug is available.

ActionTry it

Claim document

Make an unclaimed document yours. A document, spreadsheet, presentation or board created without an account returns a single-use `claim_key`; call this with it after signing in and the document moves into your active workspace with you as owner, keeping its id and URL. Its link drops to view-only, which you can raise again. A second claim of the same document, or a wrong key, is refused with 409 `claim_rejected`, which does not say which.

ActionTry it

Clear calendar

Delete ALL events from a calendar. Owner-only — use for resetting shared calendars at quarter boundaries or wiping test data. Returns the count of deleted events. This is irreversible.

ActionTry it

Clear reminder

Clear a pending reminder on a saved message. The message stays saved; only the reminder is removed.

ActionTry it

Clear sheet validation

Remove a data validation rule from a spreadsheet by range. The range is matched after normalization (sheet tab defaults to Sheet1 if not specified). Returns 404 if no rule exists for that range.

ActionTry it

Clear user status

Clear the current user's status (emoji + text + expiresAt). Does NOT change DND — use set_user_dnd with until=null to clear DND separately.

ActionTry it

Code comment update

Edit or delete an owned comment; maintainers may delete published comments. Concurrent edits require the last observed body. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code connections list

List repositories offered by the workspace GitHub installation. Workspace administrators only.

ActionTry it

Code pull auto merge

Enable or cancel durable Code auto-merge using the PR review policy and GitHub checks. Requires merge authority and the last read version. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pull changes since review

Compare the caller's last reviewed head with the current head. Historical or truncated source is explicitly reported.

ActionTry it

Code pull comment

Start a discussion or reply to a thread. Inline comments retain their original revision and source excerpt. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pull commit

Read the diff for one commit in this pull request.

ActionTry it

Code pull create

Create or adopt a GitHub pull request with an accountable Ambiguous author. An omitted base uses the repository's default target branch. Retries use the same idempotency key. autoMerge arms auto-merge on the new pull request in the same call, so it needs no version and cannot race the first check update; it requires merge authority on the repository and is ignored when the key or number returns an existing Code pull request. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pull export

Export the complete review record with original anchors and attribution as versioned JSON or Markdown.

ActionTry it

Code pull get

Read a native review, its revision, discussion, checks and merge blockers. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pull merge

Merge the confirmed pull request version into its existing target after fresh revision, authorization, review-policy and GitHub checks. No target branch is accepted. The provider confirms the outcome; uncertain requests remain pending. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pull refresh

Reconcile with current GitHub state. Never interprets an older webhook as current source truth. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pull review

Submit a review for the specified comparison as an authenticated user or agent with repository review permission. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pull update

Edit metadata, assign reviewers, follow, close, reopen or mark ready. Requires the last read version. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code pulls list

Permission-filtered pull request inbox.

ActionTry it

Code repositories list

List repositories the caller can read, with their Code role.

ActionTry it

Code repository compare

Compare two repository refs before opening a pull request.

ActionTry it

Code repository connect

Connect a repository from this workspace's existing GitHub installation. Workspace admin only; grants the connector repository ownership.

ActionTry it

Code repository grant

Grant or revoke a workspace user or team. Null role revokes. Repository owner only.

ActionTry it

Code repository grants

Read repository access grants. Repository owner only.

ActionTry it

Code repository metadata

Read the repository labels and milestones available for pull requests.

ActionTry it

Code repository principals

List workspace users and teams available for an explicit repository grant. Repository owner only.

ActionTry it

Code repository reviewers

List currently eligible Ambiguous reviewers, including agents.

ActionTry it

Code repository update

Update the default target branch, review policy or connection. A null target resets to GitHub's default branch. Repository owner only.

ActionTry it

Code review dismiss

Dismiss a blocking review with an auditable reason. Maintainer only. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Code review resolve

Resolve or reopen a review without changing its verdict. The PR author or maintainer may resolve another reviewer's feedback. The response carries every file patch, thread and activity entry. Pass `fields` to return only what you need, for example `id,version,blockers,data(autoMerge,mergeIntent,syncError,provider(state,headSha,baseSha,baseRef,mergeable,checks))`.

ActionTry it

Compute pivot table

Compute the result of a persisted pivot table — applies row/column grouping, value aggregation, sort orders, and any matching slicer filters, and returns the rendered cells. The pivot config itself (row/column/value fields, source range) is not modified.

ActionTry it

Compute wiki rollups

Compute and return rollup values for all rows in the database. Each rollup aggregates a property across related rows.

ActionTry it

Copy sheet to

Copy a sheet tab from one spreadsheet to another. Deep-copies columns, rows, formulas, formatting, and merges. Cross-document formulas will show as #REF!. Requires viewer access on source and editor access on destination.

ActionTry it

Coworkers conversation get

Proxy (workspace-isolated): get a single conversation thread.

ActionTry it

Coworkers conversations list

Proxy (workspace-isolated): list conversations for the coworker in the active workspace.

ActionTry it

Coworkers execution cancel

Kill switch: cancel an in-flight execution. Flips an active (PENDING/RUNNING/PAUSED) coworker_executions row to CANCELLED; the coworker's execution loop aborts at its next action-call boundary. Idempotent no-op on an already-terminal execution.

ActionTry it

Coworkers execution get

Get one execution with full trace data — task row, parent/children lineage, conversation, reasoning cycles, and tool-call activities. Powers the Execution Trace debug view.

ActionTry it

Coworkers executions list

Proxy: list coworker execution history (paginated).

ActionTry it

Coworkers monitored channels add

Proxy (workspace-isolated): start monitoring a channel.

ActionTry it

Coworkers monitored channels list

Proxy (workspace-isolated): list channels the coworker is monitoring.

ActionTry it

Coworkers monitored channels remove

Proxy (workspace-isolated): stop monitoring a channel.

ActionTry it

Coworkers playbook versions create

Append a new version. Auto-increments the version number and marks the new version current. Prior versions stay readable for audit.

ActionTry it

Coworkers playbook versions get

Get one historical version's instructions and subtasks.

ActionTry it

Coworkers playbook versions list

List all versions of a playbook, newest first.

ActionTry it

Coworkers playbooks archive

Archive a playbook. Archived playbooks are hidden from lists and cannot be selected during dispatch, but remain linked to historical executions for audit.

ActionTry it

Coworkers playbooks create

Create a playbook and its initial version. `instructions` and `subtasks` seed version 1, which becomes the current version.

ActionTry it

Coworkers playbooks delete

Delete a playbook and its versions. Returns 409 if any coworker_executions still reference the playbook — use the archive endpoint to retire it instead.

ActionTry it

Coworkers playbooks get

Get one playbook with its current version's instructions and subtasks.

ActionTry it

Coworkers playbooks list

List the coworker's playbooks (metadata + current version pointer).

ActionTry it

Coworkers playbooks update

Edit playbook metadata in place (title, objective). Instructions and subtasks are immutable — create a new version instead.

ActionTry it

Coworkers rotate token

Rotate the management token used to talk to the coworker service.

ActionTry it

Create canvas

Create a new (empty) canvas — a Miro-style infinite whiteboard. Use when starting a fresh flowchart, product map, or swimlane flow; returns the canvas envelope with an empty `data.elements`, then add objects with create_canvas_element. Coordinates: board units, top-left origin, +x right / +y down. Example: create_canvas({ title: "Q1 product map" }) → { id: "<boardId>", data: { elements: [] } }.

ActionTry it

Create canvas element

Add one element to a board — a sticky, text, shape, image, codeBlock, frame, swimlane, connector, or metric. Use when placing a new object; to attach a connector so it re-routes when shapes move, set each endpoint to an existing element id with an anchor (n/s/e/w) — free-form points stay fixed and never follow a move, so use them only for unattached lines. Provide `type` and geometry; the server mints the element id and returns it, and every other element on the board is untouched. Fields are flat, never nested under `element`, and `id` is the board. Send only the fields of that type: sticky and text take `content`; shape takes `shape` and `content`; image takes `src`; codeBlock takes `code` and `language`; frame takes `name` and an optional `metricWindow`; metric takes `report` (insights:<id> or funnels:<id>, a saved analytics report), optional `step`, `title` and `window` ({ from, to } like today-28d / now) and renders that report's live value; connector takes `from` and `to` as `{ element, anchor }` or `{ point: { x, y } }`, with `x`,`y`,`w`,`h` all 0. Coordinates: board units, top-left origin, +x right / +y down — pass `x`,`y` (the element's top-left corner) with `w`,`h`. Example: create_canvas_element({ id: "<boardId>", type: "sticky", x: 100, y: 80, w: 160, h: 120, content: "Idea" }).

ActionTry it

Create chart

Embed a chart on a tab of the sheet. Charts visualize a rectangular data range — pick a chart type (bar / line / pie / scatter), the source range, and an overlay position. Returns the created chart with its server-assigned id.

ActionTry it

Create contact

Create a new CRM contact (person or company). Persons can be linked to a company via company_id. IMPORTANT: Before creating a contact, ALWAYS call list_contacts with a search query (q) to check if a contact with the same name or email already exists. If a matching contact is found, use update_contact instead of creating a duplicate. Only create a new contact if no match is found. Use this when the user asks to add a contact, log a lead, or create a company record.

ActionTry it

Create contact group

Create a named contact group for organizing contacts. Groups allow overlapping membership — a contact can be in multiple groups.

ActionTry it

Create crm property definition

Define a typed custom property for contacts or deals. field_type 'relation' (with relation_target contact|company|deal) makes the property a link to another record: values written to custom_properties under this key must be the id of an existing record of the target type.

ActionTry it

Create crm view

Create a saved CRM view: a named filter+sort preset for contacts, companies, or deals. Useful when the user asks to 'save this filter' or 'create a view for high-value deals'.

ActionTry it

Create data connector

Create a new data connector that fetches data into specific cells of a sheet. After creating, call run_data_connector to execute it.

ActionTry it

Create deal

Create a new CRM deal (revenue opportunity). Deals belong to a pipeline and sit in a specific stage. Link to a contact and/or company. Use this when the user asks to create a deal, log an opportunity, or start tracking a sale.

ActionTry it

Create deal template

Create a deal template — a reusable preset for creating deals with standard pipeline/stage/amount and line items. Use when the user has a repeatable sale like 'Standard Enterprise Plan'.

ActionTry it

Create doc

Create a new doc. `content` is Markdown (recommended) or a ProseMirror JSON string. Returns the created document; read, update, share and trash it through the `/api/documents/{id}` operations. For a spreadsheet use `create_sheet`, for a deck `create_presentation`, for a whiteboard `create_canvas`.

ActionTry it

Create draft email

Create a draft email without sending it. The draft is saved in the drafts folder for later review, editing, or sending. Use this when the user wants to compose an email for later, save a draft, or prepare a message without sending it immediately.

ActionTry it

Create event

Create a new calendar event. Requires a title, start time, and end time. Optionally add a description, location, attendees, recurrence, and more. Use this when the user asks to schedule a meeting, add an event, or book time. If the user doesn't specify a calendar, use list_calendars to find their default calendar ID first.

ActionTry it

Create folder

Create a new folder in Drive. Returns the created folder with id, name, and path. Use this when the user asks to create, make, or add a new folder for organizing files. Supports nested folders via parent_folder_id.

ActionTry it

Create form

Create a new form for collecting data (surveys, feedback, registrations, quizzes). Returns the created form with id and public slug. Use this when the user asks to create a survey, questionnaire, feedback form, registration form, or any structured data collection. Define fields with types, labels, validation, and optional conditional logic.

ActionTry it

Create form variant

Create a new A/B test variant by duplicating the parent form. Optionally override fields to change question wording, field types, options, or validation. Traffic weight (0–100) controls the percentage of visitors who see this variant versus the control. Use when the user asks to set up an A/B test or add a variant.

ActionTry it

Create mail label

Create a mail label for organizing threads.

ActionTry it

Create mail rule

Create a mail rule that acts on matching messages.

ActionTry it

Create mail template

Create a reusable mail template for composing.

ActionTry it

Create named range

Create a named range or named expression on a spreadsheet. Send either an A1 range or an exact literal Excel expression, such as a structured table reference. External-workbook expressions are preserved verbatim and remain unresolved.

ActionTry it

Create pipeline

Create a new CRM pipeline with ordered stages. Each stage has a name and an optional default probability (0-100). Most workspaces need only one pipeline; create additional ones for distinct sales processes (e.g., 'New Business' vs 'Renewals').

ActionTry it

Create pivot table

Create a pivot table from sheet data. A new sheet tab is automatically created to hold the pivot. Specify the source data range, which columns to group by (rows/columns), and which columns to aggregate (values).

ActionTry it

Create presentation

Create a new presentation deck. Omit `content` for a deck with one blank slide, or pass deck JSON to create it with its slides in place: `{ slides: [{ elements: [{ type: "text", x: 80, y: 60, w: 800, h: 80, text: "Q1 review", fontSize: 44 }] }] }`. A slide is 960 by 540 units with a top-left origin, and elements take the shape `add_slide` accepts. Returns the created `SlideDeck` envelope.

ActionTry it

Create product

Create a product in the workspace catalog. Products are the reusable items that can be attached to deal line items and quote line items. Set is_active=false to retire without deleting.

ActionTry it

Create project

Create a new project to group related tasks. Use this when the user asks to start a new project or create a container for tasks.

ActionTry it

Create project update

Post a status update on a project. Use this when the user wants to report progress, flag a risk, or share a status update on a project. The status field captures the health signal (on_track, at_risk, off_track, paused, completed, cancelled).

ActionTry it

Create quote

Create a CRM quote (proposal) with line items. Auto-computes subtotal, tax, discount, and total. Link to a deal/contact/company via IDs. Status defaults to 'draft' — use send_quote to email it.

ActionTry it

Create resource comment

Create a comment on a document, task, wiki page, mail conversation, pull request, or code review. Replies use parent_id. Documents, wiki pages and Code support anchor; documents, tasks, wiki pages and Code support idempotency_key. Unsupported fields are rejected by the owning module. Mail comments are internal notes and cannot be sent as email.

ActionTry it

Create role

Create a custom role with specific permissions. Requires admin role.

ActionTry it

Create scheduler link

Create a scheduler link (booking page). Returns the public URL slug and availability settings. If auto_create_contact is true, every booking auto-creates a CRM contact + deal.

ActionTry it

Create scoring rule

Create a lead scoring rule. When a contact matches (field + operator + value), the specified points are added to their lead score. Positive points indicate engagement; negative points indicate disqualification signals.

ActionTry it

Create sequence

Create a multi-step CRM sequence (email/wait/task/call/branch steps). Use this when the user asks to build a nurture campaign or outreach cadence.

ActionTry it

Create shared drive

Create a shared drive. Creator becomes a manager.

ActionTry it

Create sheet

Create a new spreadsheet. Returns the full `Sheet` envelope (id, title, owner, visibility, timestamps, and `data` body) so the caller can immediately read or edit cells without a second round-trip. Optional `content` may be a SheetData JSON object or a string that parses as JSON.

ActionTry it

Create sheet image

Create editable floating images with cell anchors and CSS pixel geometry. Image src must reference an image asset owned by this sheet.

ActionTry it

Create sheet picture group

Create editable picture groups with cell anchors and CSS pixel geometry. Every leaf references an image asset owned by this sheet; native group transforms use EMU coordinates.

ActionTry it

Create sheet shape

Create editable floating shapes with editable text, cell anchors and CSS pixel geometry.

ActionTry it

Create sign document

Create a draft signing document.

ActionTry it

Create sign template

Create a reusable signing template from field layout and signer roles.

ActionTry it

Create slicer

Add a slicer to a tab of the sheet. Slicers filter pivot tables and charts that share the same source range by the values selected for a single column. `selectedValues: null` passes everything through; `[]` filters everything out; a non-empty array passes only those values. Returns the created slicer with its server-assigned id.

ActionTry it

Create slide master

Create a new master slide for a deck. If no elements are provided, a default Title + Subtitle layout is used.

ActionTry it

Create subtask

Create a subtask under the given parent task. Equivalent to `POST /api/tasks` with `parent_task_id` pre-filled from the URL parameter.

ActionTry it

Create task

Create a new task. Auto-subscribes the creator and (if assigned) the assignee. Auto-sets SLA due date when priority is set without an explicit due_date. Auto-logs a CRM activity if linked to a contact.

ActionTry it

Create team

Create a new team in the workspace. The caller becomes the team admin. Teams can serve as email distribution lists (when email_local_part is set) and/or permission targets. Use this when the user asks to create a team, distribution list, or mailing list.

ActionTry it

Create wiki page

Create a new wiki page within a space. Pages use Markdown content and support nested hierarchies via parent_page_id. Use this when the user asks to create a wiki page, add documentation, write a runbook, or add to the knowledge base. Call list_wiki_spaces first to get the space ID.

ActionTry it

Create wiki page version

Create a manual snapshot of the current wiki page state. Useful before a risky edit or when the user wants to mark a 'known good' checkpoint. Optional `label` names the snapshot. Returns the new version's id + metadata.

ActionTry it

Create wiki space

Create a new wiki space (a top-level container for pages). Use this when the user asks to create a new knowledge base area, team wiki, or documentation section. Spaces organize pages by team or domain (e.g., 'Engineering', 'Product', 'Company Handbook').

ActionTry it

Create wiki synced block

Create a synced block — a reusable content fragment that can be embedded in multiple wiki pages and stays in sync everywhere it's used. Returns the new block's id. Use this when the user asks to create a shared snippet, reusable callout, or cross-page content.

ActionTry it

Create workspace invite

Create workspace invites. With no recipient it mints a generic shareable invite link (returned as `invite_url`) and emails nobody; with recipients it creates one invite per address and emails each. Role defaults to `member` and is forced to `member` for any value other than `admin`.

ActionTry it

Crm contact file attach

Attach a Drive file to a contact. The file becomes readable by every workspace member who can read the contact, so a file you do not own needs the share right on it (403 `file_attach_requires_share` when you can only view it).

ActionTry it

Crm contact file detach

Detach a file from a contact

ActionTry it

Crm contact files list

List files attached to a contact

ActionTry it

Crm contact photo get

Serve the photo image stored for a CRM contact.

ActionTry it

Crm deal activities

List activities for deal (owner-scoped)

ActionTry it

Crm deal file attach

Attach a Drive file to a deal. The file becomes readable by everyone who can read the deal, so a file you do not own needs the share right on it (403 `file_attach_requires_share` when you can only view it).

ActionTry it

Crm deal file detach

Detach a file from a deal

ActionTry it

Crm deal files list

List files attached to a deal

ActionTry it

Crm quote pdf

Export quote as PDF (or printable HTML with ?format=html)

ActionTry it

Cycles add tasks

Add tasks to the cycle. Body `{task_ids: [...]}`.

ActionTry it

Cycles analytics

Burndown + summary analytics for the cycle.

ActionTry it

Cycles complete

Complete a cycle. If `auto_rollover` is set, incomplete tasks are moved to the next cycle.

ActionTry it

Cycles create

Create a new cycle. Body fields: name, start_date, end_date, status?, cooldown_days?, auto_rollover?.

ActionTry it

Cycles delete

Delete a cycle. Tasks attached to the cycle are unlinked, not deleted.

ActionTry it

Cycles get

Get one task cycle and its dates by id.

ActionTry it

Cycles list

List cycles in the active workspace. `?status=` filters by status; `?limit=` (1–200) and `?offset=` paginate. `has_more` is set when the underlying query returned a hint of more rows.

ActionTry it

Cycles remove tasks

Remove tasks from the cycle. Body `{task_ids: [...]}`.

ActionTry it

Cycles update

Update cycle fields.

ActionTry it

Cycles velocity

Cross-cycle velocity (last N closed cycles). Default `limit=10`.

ActionTry it

Decide access request

Approve an open access request at a named role, or decline it. Only principals entitled to share the resource may decide. Returns 409 once decided.

ActionTry it

Decide mail approval

Approve and send, request changes, reject, or (as the sender) withdraw one submitted email. The decision names the revision it applies to: exactly one decision per revision succeeds, and a decision on a superseded revision conflicts rather than releasing content the caller has not read. Approving records the human and time against that revision; it authorizes nothing else — not the thread, not a reply, not a later email.

ActionTry it

Delete activity

Delete one logged CRM activity by id.

ActionTry it

Delete canvas element

Delete one element from a board by id. Use when removing an object; connectors attached to it are not auto-deleted, so patch or delete those separately. Every other element is untouched. Coordinates: board units, top-left origin, +x right / +y down (unchanged by a delete). Example: delete_canvas_element({ id: "<boardId>", elId: "<elId>" }).

ActionTry it

Delete chart

Remove a chart from the sheet. Returns `{ deleted: true }` on success.

ActionTry it

Delete conditional format

Delete a conditional formatting rule from a spreadsheet by its ID. Returns 200 on success, 404 if the rule does not exist.

ActionTry it

Delete contact

Delete a CRM contact (owner-scoped). Permanently removes the contact record. Use with caution — prefer updating lifecycle_stage to 'evangelist' or archiving via merge instead.

ActionTry it

Delete contact group

Delete a contact group. Memberships are removed but contacts themselves are preserved.

ActionTry it

Delete contact photo

Delete a CRM contact's profile photo. Clears the avatar_url and removes the stored image.

ActionTry it

Delete coworker

Delete a coworker (revokes API key + tears down config).

ActionTry it

Delete crm property definition

Delete a custom-property definition. Existing custom_properties values are left in place; they simply stop being typed.

ActionTry it

Delete crm view

Delete a saved CRM view.

ActionTry it

Delete custom emoji

Delete a custom emoji from the workspace. Use this when the user asks to remove or clean up a custom emoji. This does not remove existing reactions or messages that used the emoji — it only stops new usage.

ActionTry it

Delete data connector

Delete a data connector. Does not affect the cells it previously wrote to.

ActionTry it

Delete deal

Delete a CRM deal (owner-scoped). Permanently removes the deal record and its line items. Prefer updating status to 'lost' with a lost_reason for reporting purposes.

ActionTry it

Delete deal line item

Delete a deal line item. By default the deal's total amount is re-synced after deletion.

ActionTry it

Delete deal template

Delete a deal template (does not affect deals previously created from it).

ActionTry it

Delete document version

Delete a version snapshot of a document. At least one version must always remain — returns an error if attempting to delete the last version. Requires editor permission.

ActionTry it

Delete email

Delete one email message by id.

ActionTry it

Delete event

Delete a calendar event. This is a destructive action — always confirm with the user before calling. If the user is currently viewing an event, use the event ID from the page context. Guests are emailed a cancellation only when `send_updates` asks for it.

ActionTry it

Delete file

Delete a file or folder from Drive. This is a destructive action — always confirm with the user before executing. Deleting a folder also deletes all files inside it. Use this when the user explicitly asks to delete, remove, or trash a file or folder.

ActionTry it

Delete form

Delete a form and all its responses. This is a destructive action — always confirm with the user before executing. Use this when the user explicitly asks to delete or remove a form.

ActionTry it

Delete form response

Delete a single form response. This is destructive — always confirm with the user before executing. Use when the user asks to remove or delete a specific submission.

ActionTry it

Delete form variant

Delete an A/B test variant (and its underlying duplicated form). Destructive — always confirm with the user. Use when the user asks to remove a variant or end an experiment.

ActionTry it

Delete mail label

Delete one mail label from this mailbox.

ActionTry it

Delete mail rule

Delete one mail rule by id.

ActionTry it

Delete mail template

Delete one saved mail template by id.

ActionTry it

Delete named range

Delete a named range from a spreadsheet by name. Names are matched case-insensitively.

ActionTry it

Delete pipeline

Delete a CRM pipeline and all of its stages. Deals in the pipeline must be moved or deleted first.

ActionTry it

Delete pivot table

Remove a pivot table from the sheet. The host tab itself stays — only the pivot row in `pivotTables[]` is removed. Returns `{ deleted: true }` on success.

ActionTry it

Delete product

Delete a product from the workspace catalog. Existing deal/quote line items referencing it are NOT deleted, but their product_id is nulled.

ActionTry it

Delete project

Delete a project by ID. Only project admins or workspace admins can delete. Tasks belonging to the project are not deleted — they become unassigned from the project.

ActionTry it

Delete quote

Delete a CRM quote and its line items.

ActionTry it

Delete recurring event future

Delete this and all future occurrences of a recurring event by adding an UNTIL clause to the master's RRULE, ending the series the day before the given split_date.

ActionTry it

Delete recurring event single

Delete a single occurrence of a recurring event by adding the occurrence date to the master's excluded_dates. The occurrence is suppressed without affecting other instances.

ActionTry it

Delete resource comment

Delete an existing document, task, wiki, mail-thread or Code comment by its comment ID. Existing author, ownership, and parent-resource permissions apply; each module's reply-deletion behavior is preserved.

ActionTry it

Delete role

Delete a custom role. System roles cannot be deleted. Requires admin role.

ActionTry it

Delete scheduler link

Delete a scheduler link. Existing confirmed bookings remain but the public booking page stops accepting new bookings.

ActionTry it

Delete scoring rule

Delete a lead scoring rule.

ActionTry it

Delete sequence

Delete a sequence (and all its enrollments).

ActionTry it

Delete shared drive

Delete a shared drive (destructive, manager-only).

ActionTry it

Delete sheet columns

Delete columns atomically and return the bounded change receipt for undo or redo.

ActionTry it

Delete sheet image

Delete editable floating images with cell anchors and CSS pixel geometry. Image src must reference an image asset owned by this sheet.

ActionTry it

Delete sheet picture group

Delete editable picture groups with cell anchors and CSS pixel geometry. Every leaf references an image asset owned by this sheet; native group transforms use EMU coordinates.

ActionTry it

Delete sheet rows

Delete rows from a sheet tab by 0-based index.

ActionTry it

Delete sheet shape

Delete editable floating shapes with editable text, cell anchors and CSS pixel geometry.

ActionTry it

Delete slicer

Remove a slicer from the sheet. Returns `{ deleted: true }` on success.

ActionTry it

Delete slide master

Delete an unused master slide. Returns 409 with the referencing slide count while the master is in use.

ActionTry it

Delete team

Permanently delete a team from the workspace. Only team admins or workspace admins can delete. All memberships are removed. Child teams are orphaned (parent set to null). Use this when the user asks to delete, remove, or dissolve a team.

ActionTry it

Delete user

Irreversibly delete a member. Requires admin and refuses the last owner. Reassigns CRM contacts to `successor_user_id` (default: acting admin); an ineligible successor aborts before mutation.

ActionTry it

Delete wiki page

Move a wiki page to Trash, together with every page beneath it. Trashed pages leave the tree and search, and can be brought back with `wiki_page_restore`; only `wiki_page_permanent_delete` removes them for good. A page that has child pages answers 409 with `requires_cascade` and `children_count` unless `cascade=true` is passed, so confirm with the user before trashing a sub-tree. Use this when the user asks to delete or remove a wiki page.

ActionTry it

Delete wiki synced block

Soft-delete a synced block. Embedded references will show error chips until restored. Use restore_wiki_synced_block to undo.

ActionTry it

Detach master from slide

Detach a slide from its master. The slide keeps its current rendered elements but no longer inherits from the master.

ActionTry it

Docs create named range

Create a named range (template placeholder) on a document. Named ranges anchor to ProseMirror node positions and are used for template-based document generation. Use replace_named_range_content to fill a named range with content. Name must be alphanumeric + underscore, must not start with a digit (e.g., party_name, companyAddress).

ActionTry it

Docs delete named range

Delete a named range (template placeholder) from a document by name. Names are unique per document.

ActionTry it

Docs list named ranges

List all named ranges (template placeholders) defined on a document. Returns each range's name and its anchored node positions.

ActionTry it

Documents asset create

Add an image to a doc, sheet, slide deck or canvas board as one of its own assets and get back the URL its body should store (`/api/assets/{id}/content`). Send the bytes as `content_base64`, `source_file_id` to copy a Drive file the caller can view, or `source_url` to import a public HTTPS image through the SSRF guard; neither source is referenced afterwards. The type is decided from the bytes and only images are accepted (415 otherwise); SVG uploads are sanitized before storage and refused with 415 when malformed. Stored SVG is sanitized on every read and served inline as image/svg+xml under a restrictive Content-Security-Policy; malformed stored SVG is refused with 404. Drive SVG downloads remain attachments. The bytes count against the container owner's storage (413 past it). The same image added to the same container again returns the asset already held. The asset is never visible in Drive and is readable exactly when the container is.

ActionTry it

Documents comment delete

Delete a comment. Author or document owner only.

ActionTry it

Documents comment reaction add

Add an emoji reaction to a comment. Idempotent per (user, emoji). Returns the comment's updated reaction aggregate.

ActionTry it

Documents comment reaction remove

Remove the caller's emoji reaction from a comment. Returns the comment's updated reaction aggregate.

ActionTry it

Documents comment resolve

Edit your own comment or resolve a thread. Content edits require commenter access; resolution requires editor access. expected_content rejects stale edits with 409.

ActionTry it

Documents comment thread mark read

Mark one comment thread read for the requester, clearing its unread badge. Idempotent. `commentId` must be a root comment on this document; a reply id or a comment on another document is refused 404.

ActionTry it

Documents comment thread mark unread

Mark one comment thread unread for the requester so it stays flagged until reopened, even when its only comments are the requester's own. `commentId` must be a root comment on this document; a reply id or foreign-document id is refused 404, and a resolved thread is refused 409 `comment_resolved`.

ActionTry it

Documents comments create

Add a threaded comment. Commenter permission required. `parent_id` makes it a reply; `anchor` carries CRDT-stable position info.

ActionTry it

Documents comments list

List threaded comments. Response includes per-user `unread_count` (comments by other users since the requester's last `mark-read`, not resolved).

ActionTry it

Documents comments mark read

Advance the requester's last-seen marker so the unread badge clears. Idempotent.

ActionTry it

Documents delete

Soft-delete a document (move to trash). Owner only.

ActionTry it

Documents duplicate

Make a copy. Title becomes 'Copy of <orig>'. Visibility resets to restricted; labels/pin/star are NOT inherited. Requires viewer access on the source.

ActionTry it

Documents permanent delete

Permanently delete a trashed document. Irreversible.

ActionTry it

Documents pin

Toggle pinned state. Editor permission required (workspace-wide pin, not per-user).

ActionTry it

Documents restore

Restore a trashed document.

ActionTry it

Documents shared with me

Documents shared with the calling account through an explicit permission grant, across every workspace and every identity the account owns. Excludes documents the account owns. Each row names the workspace that shared it and the role the grant carries. `scope=workspace` narrows discovery to resources in the authenticated current workspace without changing access.

ActionTry it

Documents star

Toggle starred state. Viewer permission is sufficient. Body `{starred: bool}` is optional — omit to toggle.

ActionTry it

Documents thumbnail

Content-derived thumbnail for doc/sheet/slide cards. Returns SVG by default or PNG for Accept: image/png; cached privately for 60 seconds.

ActionTry it

Documents trash list

Find all deleted native Docs, Sheets, Slides and Canvas items owned by the caller. Returns their document IDs for documents_restore or documents_permanent_delete; optional type filters doc, sheet, slide or canvas. Uploaded Drive files and folders use list_trashed_files, which can also include materialized native-document shadow rows but is not a complete native-document trash list. An empty Drive-file trash result does not mean this document trash is empty.

ActionTry it

Documents version get

Get a version's metadata + serialized content snapshot.

ActionTry it

Documents version revert

Revert the document to a prior version. Force-snapshots current state first.

ActionTry it

Documents versions create

Create a manual snapshot (forces past the 5-minute throttle).

ActionTry it

Documents versions list

List version snapshots, newest-first, cursor-paginated (default 50 per page). Walk via `next_cursor` until `has_more` is false.

ActionTry it

Drive file confirm upload

Confirm a presigned upload completed successfully. Verifies the blob exists, rechecks its real size and stored bytes, then marks the file as confirmed and emits the upload event. A retryable storage-inspection failure leaves the upload pending and returns 503; a missing object removes the pending row and returns 410. Idempotent — confirming an already-confirmed file returns it unchanged without repeating the upload event.

ActionTry it

Drive file content

A file's bytes. A browser is redirected to a short-lived signed storage URL where signing is available and is otherwise sent the bytes; an MCP tool call always gets the bytes, refused 413 above the MCP result size limit. Pass `?download=true` for `Content-Disposition: attachment`; default is inline. Content retrieval failures can return 503/504 via raw Response because those statuses are outside the typed contract error-code enum.

ActionTry it

Drive file import

Add a file to Drive from JSON, for clients that cannot send multipart: give either an https `url` to fetch (up to 100 MB) or the bytes as `content_base64` (up to 25 MB decoded), plus a `name`. The file goes through the same checks as a browser upload: its type is decided from the bytes, blocked types are refused, and it counts against the caller's storage quota. Links to private network addresses are refused, including through redirects. Returns the stored file.

ActionTry it

Drive file request create

Create a revocable, write-only public file request for a folder. The capability token is returned only in this response.

ActionTry it

Drive file request remint

Replace a live file request's capability token without changing its request identity, limits, upload progress, or expiry. The previous token stops working immediately and the replacement token is returned only in this response.

ActionTry it

Drive file request revoke

Revoke a folder's public file request immediately.

ActionTry it

Drive file requests list

List the caller's file requests for one owned Drive folder.

ActionTry it

Drive file tag attach

Attach one of your tags to a Drive file, a doc/sheet/slide, or a form, so one tag can group a PDF with the document it belongs to. Owner-only (anyone else gets 404) and idempotent. Pass `resource_type` to name the kind, or omit it to infer it from the id.

ActionTry it

Drive file tag detach

Detach a tag from a Drive file, a doc/sheet/slide, or a form. Owner-only. Pass `?resource_type=` to name the kind, or omit it to infer it from the id.

ActionTry it

Drive file update

Rename, move, or star/unstar a file. Requires edit access — the owner or an editor/owner share. A move also needs editor access on the destination folder (contributor in a shared drive), and an item whose sharing is restricted moves only with its owner (403 `drive_move_requires_owner`).

ActionTry it

Drive file upload init

Initiate a file upload. Reserves a Drive row + storage key and returns a short-lived presigned PUT URL the client uploads the bytes to.

ActionTry it

Drive files recent

Recently used files for the current user — files they opened in the last 30 days (their own views, including files shared with them that they can still open) OR files they own created in the last 24 hours. Sorted newest first by their own last view, or creation for their own new files.

ActionTry it

Drive files shared with me

Files shared with the current user through a direct, team or external grant, newest share first (`sort=modified` orders by last modified instead). Each row carries `shared_at` and `shared_by`. Excludes files the user owns.

ActionTry it

Drive files starred

Files the current user has starred.

ActionTry it

Drive files suggested

Files the current user is likely to want next, each with the reason it is suggested: they opened it (`opened`), someone shared it with them (`shared`), or someone else added it to a folder they own or an agent they manage created it (`added`). Covers the last 14 days, newest reason first, at most one entry per file and only files the caller can still open. Stars never influence it. Use this for the My Drive home, not for a full history; use `drive_files_recent` for everything the user opened.

ActionTry it

Drive folder ancestors

Breadcrumb chain (root → leaf) for a folder. Powers breadcrumb hydration on deep-link reloads. Viewer permission is sufficient.

ActionTry it

Drive publish gallery

Publish a folder as an anyone-with-link gallery: stamp link visibility plus the given password/expiry onto the folder and its direct-child non-folder files, skipping legal records (reported as skipped_legal). An omitted password or expires_at keeps the folder's current value, so re-publishing to admit new files keeps the gallery's protection; an explicit null (or empty password) clears it. Owner-only. Materialized, not a cascade — files added after publishing stay restricted until republished.

ActionTry it

Drive revoke gallery

Revoke a folder gallery: restore the folder and its direct-child files to restricted and clear link settings. Owner-only. Legal-record children are left untouched.

ActionTry it

Drive shared drive folder create

Create a folder inside a shared drive. Requires contributor+ on the drive. Pass `parent_folder_id` to nest.

ActionTry it

Drive tag create

Create a new tag in the user's catalog.

ActionTry it

Drive tag delete

Delete a tag (cascades to all file assignments).

ActionTry it

Drive tag files list

List everything you tagged with the given tag: Drive files, docs/sheets/slides and forms you own, newest first. Docs and forms carry `document_type`.

ActionTry it

Drive tag update

Rename, recolor, or reorder a tag.

ActionTry it

Drive tags list

Current user's tag catalog. Each tag carries name, color, and sort order.

ActionTry it

Duplicate slide

Deep-copy a slide within the same deck. The duplicate is inserted immediately after the source slide. All elements (including group children) receive new unique IDs to avoid collisions. Useful for template-based workflows: duplicate a template slide, then update the copy with new content.

ActionTry it

Duplicate task

Clone a task — copies title (appends ' (copy)'), description, priority, project, goal, cycle, estimate, due/start date, recurrence, custom fields, and labels. The clone starts at status 'todo' with a fresh task key.

ActionTry it

Edit recurring event all

Edit all occurrences in a recurring series. Updates the master event.

ActionTry it

Edit recurring event future

Edit this and all future occurrences of a recurring event by splitting the series at the given date. Use this for 'change the meeting time from next week onwards' or 'update our recurring Friday sync starting next month'.

ActionTry it

Edit recurring event single

Edit a single occurrence of a recurring event, creating an exception without affecting other occurrences. Use this when the user says 'move just next Tuesday's meeting to 3pm' or 'cancel only this one occurrence'.

ActionTry it

Empty trash

Permanently delete the trashed files the user holds the owner rung on. Shared-drive files are included only for drives the user manages. Irreversible — confirm with user first. Returns the number of files deleted.

ActionTry it

Enroll contact in sequence

Enroll a contact in a CRM sequence so they begin receiving the automated steps (emails, tasks, calls). Use this when the user asks to start a campaign for a specific contact.

ActionTry it

Ensure wiki reverse relation

Auto-create the reverse relation property on the target database if missing. Idempotent — returns the existing or newly-created reverse property id.

ActionTry it

Export document

Export a document, sheet, or slide to one of its supported standard formats. Sheets support xlsx, csv, tsv, and ods. Returns the file bytes with Content-Type and Content-Disposition attachment headers.

ActionTry it

Export drive file

Export a workspace document (Doc, Sheet, or Slide) to a file format via its Drive ID. Docs support: docx, pdf, html, md. Sheets support: xlsx, csv. Slides support: pptx, pdf, html. Binary Drive files (images, archives, etc.) cannot be exported — use download instead.

ActionTry it

Export form responses

Download all matching form responses as CSV with field labels, display values, blank unanswered cells, and ISO submission timestamps. Streams beyond the response-list page size.

ActionTry it

Find and replace in deck

Find and replace text across all slides in a presentation. Searches every text element and table cell on every slide. Useful for template-based workflows: create a deck from a template with placeholders like {{company_name}}, then replace them programmatically. Plain string matching only (no regex).

ActionTry it

Formatter set

Set a flat map of fields on the node output. Native equivalent of the n8n `Set` node — alias `n8n-nodes-base.set → formatter_set`. Pure passthrough: `parameters.values` is resolved upstream by the dispatcher's `resolveActionParameters` walker, so JSONLogic rules referencing `{var: "<UpstreamNode>.<field>"}` produce the literal value the handler echoes back. Downstream nodes reference the result via `{var: "<NodeName>.values.<key>"}`. Spec line 41: formatters are `formatter_*` operationIds.

ActionTry it

Get account erasure outcome

Read a deleted member's durable erasure outcome and notice-delivery state. Requires admin or owner.

ActionTry it

Get activity

Get a single activity by ID. Useful for reading back a just-created activity via the resource URL in the activity.created event payload.

ActionTry it

Get billing bonuses

Return the workspace's full earned-bonus history, newest-first — perpetual activation bonuses merged with one-time activation grants. Powers the Home Action-bonuses card, which needs the whole history the notification feed cannot show. Any authenticated caller in the workspace.

ActionTry it

Get billing quota

Return the workspace's unified action-meter view: plan, base/earned/topup quota, consumed-this-month, reset_at, member count + cap, trial state, active bonuses, auto-recharge config. Replaces the deprecated /api/billing/usage + /api/billing/ai-usage endpoints. Any authenticated caller in the workspace.

ActionTry it

Get calendar

Get a single calendar by ID. Returns the calendar's name, color, timezone, default status, and owner. Use this when the user asks about a specific calendar's settings or before creating events to verify the timezone.

ActionTry it

Get calendar colors

Get the available color palette for calendars and events. Returns 24 calendar colors and 11 event colors, each with a background and foreground hex value. Use this when the user asks what colors are available, or before setting a calendar or event color.

ActionTry it

Get canvas

Get a full canvas by id, including every element in `data.elements`. Use when you need the complete board; for a large board prefer get_canvas_manifest (ids/types/bounds only) or get_canvas_frame to stay within context budget. Coordinates: board units, top-left origin, +x right / +y down. Example: get_canvas({ id: "<boardId>" }) → the board with all elements.

ActionTry it

Get canvas elements

Batch-fetch specific elements of a board by id — pass `ids` as a comma-separated list (max 500) and only those elements are returned, never the whole board. Use to refresh just the elements that changed (a collaborator's edit named in a `canvas.updated` change-feed frame carries their ids), staying element-scoped rather than reloading the board body. A requested id that is ABSENT from the response means the element was deleted — drop it locally. Coordinates: board units, top-left origin, +x right / +y down. Example: get_canvas_elements({ id: "<boardId>", ids: "el-a,el-b" }) → { elements: [{ id: "el-a", … }] } (el-b was deleted).

ActionTry it

Get canvas frame

Get a frame (or swimlane) element and its children — every element whose `frameId` points at it. Use to read one region of a large board in full detail. Coordinates: board units, top-left origin, +x right / +y down. Example: get_canvas_frame({ id: "<boardId>", frameId: "<frameId>" }) → { frame, elements: [...] }.

ActionTry it

Get canvas manifest

Get a bounded manifest of a board — element ids, types, and bounds only (no style/content). Use this to survey a large board cheaply, then fetch a specific frame or the full board for detail. Coordinates: board units, top-left origin, +x right / +y down. Example: get_canvas_manifest({ id: "<boardId>" }) → { element_count, elements: [{ id, type, x, y, w, h }] }.

ActionTry it

Get channel messages

Get recent messages from a chat channel. Returns messages with id, content (Markdown), author info, reactions, thread reply count, and timestamps. Use this when the user asks to read messages, catch up on a channel, or find a specific conversation. If the user is currently viewing a channel, use the channel ID from the page context. Messages are returned in reverse chronological order (newest first).

ActionTry it

Get channel read receipts

Get per-member read positions for a channel — who has read up to which message. Useful for reporting on whether an announcement has been seen by everyone.

ActionTry it

Get contact

Get a single CRM contact by ID, including full details: name, email, phone, title, company, lifecycle stage, custom properties, and timestamps. If the user is currently viewing a contact, use the contact ID from the page context.

ActionTry it

Get contact score

Get a contact's current lead score with a breakdown of which scoring rules matched and how many points each contributed. Use this to explain why a contact is hot/cold.

ActionTry it

Get cover thumbnail

Get the PNG thumbnail bytes for the first slide (cover image) of a presentation. Convenience endpoint — equivalent to get_slide_thumbnail with index 0.

ActionTry it

Get coworker

Get one AI coworker's configuration by id.

ActionTry it

Get coworker status

Get a coworker's runtime status (proxied from coworker service).

ActionTry it

Get crm analytics

Get analytics for accessible deals, optionally scoped to one pipeline: pipeline value by stage, conversion rates, average deal size, sales velocity, and deals breakdown.

ActionTry it

Get crm metrics

Get pipeline metrics summary: total open deals, total deal value, win rate, deals won/lost, and recent activity counts. Useful for high-level pipeline health questions.

ActionTry it

Get crm reports

Get CRM revenue, deals-by-source, pipeline-by-owner, and activity reports for accessible records, optionally scoped to one pipeline. Each report preserves its own timestamp axis.

ActionTry it

Get current workspace

Get the active workspace (name, slug, logo). Accessible to any authenticated user.

ActionTry it

Get data connector

Get a single data connector by ID, including its config and last-run status.

ActionTry it

Get deal

Get a single CRM deal by ID, including full details: title, amount, currency, stage, pipeline, contact, company, owner, probability, close date, custom properties, and timestamps. Pass embed=line_items to include the full line-items array. If the user is currently viewing a deal, use the deal ID from the page context.

ActionTry it

Get deal template

Get a single deal template with its line items and resolved pipeline/stage names.

ActionTry it

Get detailed user presence

Get detailed presence for a set of users — online (≤5min), idle (5–30min), or offline — plus the lastActiveAt timestamp. Capped at 100 user IDs. Fallback/cold-hydrate surface only — the primary presence path is the full-state push over the `presence` /ws/mux channel; poll this on connect or when the socket is down, not on a steady timer.

ActionTry it

Get docs page layout default

Get the caller's default layout for new Docs: `pageless_default: true` (the default) means new Docs start pageless, `false` means they start in pages.

ActionTry it

Get document

Get a single document by ID, including its full content and comments. If the user is currently viewing a document, use the document ID from the page context.

ActionTry it

Get document footnotes

Get the footnotes from a document. Returns an array of footnotes, each with a footnoteId, body content (PM JSON), and the positions of inline references (footnoteRef nodes) in the body text.

ActionTry it

Get document headers footers

Get the default, first-page, and even-page headers and footers from a document as ProseMirror JSON nodes (or null if not set).

ActionTry it

Get document page style

Get the page-level formatting for a document: margins (in PT), page size (letter/A4/legal or custom {width, height} in PT), and orientation (portrait/landscape). Empty object means default formatting.

ActionTry it

Get drive storage

Get Drive storage usage.

ActionTry it

Get drive storage breakdown

Storage breakdown by file type.

ActionTry it

Get email

Get a single email by ID, including full Markdown body, sender, recipients (to/cc/bcc), subject, and timestamps. Use this when the user wants to read an email, see its contents, or reply to a specific message. If the user is currently viewing an email, use the email ID from the page context. Use detail='headers' for envelope fields only (no body), or 'minimal' for id + labels only.

ActionTry it

Get email attachment url

Get an attachment download URL: signed in cloud storage, authenticated API content in local storage.

ActionTry it

Get email calendar invite

Get calendar invite embedded in an email.

ActionTry it

Get email deliverability

Get email deliverability statistics (sent/bounced/complained/opened rates) for the past 30 days. Requires admin role.

ActionTry it

Get email opens

Fetch open events for an email (sender only) Returns the rollup (first/last seen, open count) plus up to the most recent 50 individual open events. 403 if the caller doesn't own the email's mailbox.

ActionTry it

Get email signature

Get the workspace default email signature (Markdown). Requires admin role.

ActionTry it

Get entity preview

Look up a hover-card style preview of any referenced entity (document, task, contact, deal, channel, chat message, user, event, file, wiki page, form, email). Module keys include `docs`, `tasks`, `channels`, `messages`, `users`. Returns rich details — title, status, owner, due date, amount, etc. — without fetching the full record. Use this when an entity is referenced by ID and you need a quick summary.

ActionTry it

Get event

Get a single calendar event by ID, including full details: title, description, location, start/end times, recurrence rule, status, visibility, and attendees with RSVP status. If the user is currently viewing an event, use the event ID from the page context.

ActionTry it

Get event instances

List individual occurrences of a recurring event within a date range. Expands the RRULE server-side and returns instance objects with computed start/end times. Use this to find specific occurrences (e.g., 'what meetings are on next Tuesday?') or to list upcoming instances of a series.

ActionTry it

Get feedback

Read back one submission by its receipt. Answers only the submitter — anyone else, including other members of the submitter's workspace, gets 404. Returns the public projection: a status word (`filed` | `accepted` | `declined` | `shipped`, derived from the task Ambiguous works), the title, the priority, the task key, and timestamps. Nothing else on the task is exposed.

ActionTry it

Get file info

Get detailed information about a file or folder in Drive. Returns id, name, mime_type, size_bytes, storage_key, owner info, parent folder, and timestamps. Use this when the user asks about a specific file's details, size, type, or location. If the user is currently viewing a file in Drive, use the resource ID from page context.

ActionTry it

Get form

Get a form's full details including field schema, settings, publish status, and slug. Use this when the user asks about a form's fields, structure, or configuration. If the user is currently viewing a form, use the resource ID from page context.

ActionTry it

Get form ab analytics

Get A/B test comparison analytics for a form with variants. Returns control + each variant with views, responses, completion rate, and traffic weight. Use when the user asks which variant is winning, for A/B test results, or experiment performance comparison.

ActionTry it

Get form analytics

Get analytics for a form: total views, total responses, completion rate, average completion time, responses-by-day (last 30 days), per-field drop-off funnel, and per-field summaries (option counts for select fields, numeric stats for rating/number fields). Use when the user asks about form performance, response rate, completion rate, or field-level statistics.

ActionTry it

Get form response

Get a single form response by ID. Returns respondent info, submitted data (keyed by field ID), and timestamp. Use when the user asks about a specific submission or wants to review a particular response.

ActionTry it

Get mail approval

Read one submitted email exactly as it will send — From, Reply-To, the complete To/Cc/Bcc set, subject, body with signature applied, attachment manifest, threading and requested schedule. A caller without access gets 404, never 403.

ActionTry it

Get mail approval attachment url

Presigned URL for one frozen attachment, addressed by its position in the manifest. The bytes are the copy taken at submit time, so a later edit of the source Drive file does not change what the reviewer reads. The URL is minted only after the review access check.

ActionTry it

Get mail rule

Get one mail rule's conditions and actions by id.

ActionTry it

Get mail signature

Get the effective email signature.

ActionTry it

Get mail template

Get one saved mail template by id.

ActionTry it

Get mail thread

Get all emails in a thread + muted flag.

ActionTry it

Get message readers

List the users who have read a specific message (i.e. whose read-cursor is at or past this message). Use this to check whether a message (e.g. an important announcement) has been seen by specific people.

ActionTry it

Get module availability

Which productivity modules are enabled for the caller's workspace: module key → boolean. Bootstrap gate for nav + routes.

ActionTry it

Get my access request

Whether you have an open access request for a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar, task, project, or CRM pipeline.

ActionTry it

Get notification keywords

Get the current user's notification keywords. The user receives a mention-style notification whenever any of these words appears in a message they can read.

ActionTry it

Get ooo status

Check out-of-office status for one or more users. Returns per-user OOO flag and event details when applicable. Call this before scheduling to avoid inviting people who are OOO.

ActionTry it

Get pipeline

Get a single CRM pipeline by ID with its ordered stages and its `visibility` — `workspace` when the pipeline is shared with the whole workspace, `private` when only its members reach its deals. A caller who is not a member receives 404.

ActionTry it

Get presentation

Get a presentation's full data including all slides and their elements. Returns the `SlideDeck` envelope: top-level metadata (id, title, slide_count, owner, visibility, timestamps) plus the structured deck body nested under `data` (see `SlideDeckData`). Read settings/slides/masterSlides as `response.data.slides[…]`, not at the response root. If the user is currently viewing a presentation, use the presentation ID from the page context.

ActionTry it

Get product

Get one CRM product from the catalog by id.

ActionTry it

Get project

Get a single project by ID, including task count, visibility, and metadata.

ActionTry it

Get quote

Get a single CRM quote with its line items and linked deal/contact/company/owner.

ActionTry it

Get read receipts default

Get read-receipts default for new compose.

ActionTry it

Get resolved presence

Cold-hydrate the resolved presence dot for a set of users in the current workspace. Returns user_id → { kind, state } — the same already-resolved dot the projector pushes over the `presence` WebSocket channel. Used on connect and as the WS-down fallback; the client renders the state and computes nothing. Capped at 100 user IDs.

ActionTry it

Get scheduler link

Get a single scheduler link (owner-scoped) with its settings and booking count.

ActionTry it

Get security settings

Get workspace security settings (require_2fa, session_timeout_hours, password_min_length, ip_allowlist). Requires admin role.

ActionTry it

Get sequence

Get a single sequence with its full step list and current enrollment count.

ActionTry it

Get settings

Get all workspace settings. Requires admin role.

ActionTry it

Get shared drive

Get shared drive details.

ActionTry it

Get sheet

Get a spreadsheet's structured data including columns, rows, and formulas. Returns the `Sheet` envelope: top-level metadata (id, title, owner, visibility, timestamps) plus the structured sheet body nested under `data` (see `SheetData`). Read the tab list as `response.data.sheets`; columns and rows are under `response.data.sheets[0]`, not at the response root. If the user is currently viewing a sheet, use the sheet ID from the page context.

ActionTry it

Get sheet range

Get a rectangular range of cell values from a sheet. Useful when you only need a slice of a large sheet (max 10,000 cells). Returns a 2D array of values plus the resolved start/end column letters and row numbers. Use orientation=COLUMNS to get column-major arrays (each inner array is one column). valueRenderOption controls how cells render: STORED (default) returns stored values verbatim — formula cells return the formula string; FORMULA forces formula strings; EVALUATED runs the server-side formula engine and returns computed values (e.g., '=SUM(A1:A3)' becomes 6). Same-sheet refs across tabs (Sheet2!A1) resolve when evaluating; IMPORTRANGE returns #REF! (server cannot recurse cross-document).

ActionTry it

Get sign audit

Get the append-only audit trail for a visible signing document.

ActionTry it

Get sign document

Get a signing document with signers and fields.

ActionTry it

Get slide thumbnail

Get the PNG thumbnail bytes for a specific slide. Sizes: small (200px), medium (800px, default), large (1600px).

ActionTry it

Get snooze presets

Get the user's custom snooze quick-presets. Returns defaults when no custom presets are saved.

ActionTry it

Get swipe actions

Get the caller's own mail-row swipe actions. Returns the defaults (right archive, left trash) when nothing is saved.

ActionTry it

Get task

Get a single task by ID, including full details: title, description, status, priority, assignee, due date, labels, and subtask count.

ActionTry it

Get team

Get details of a single team including its first 10 members. Returns team metadata (name, slug, visibility, join policy, email) and an embedded members list with each member's user_id, display_name, email, role, and added_at. Use this when the user asks about a specific team, its members, or 'who is in team X?'.

ActionTry it

Get undo send setting

Get undo-send duration preference.

ActionTry it

Get unread counts

Get the full unread projection (mail inbox, per-channel chat badges with mute/preference resolved, notifications, total). Used for cold-connect / reconnect hydration; live updates arrive on the mux `unread` channel.

ActionTry it

Get usage stats

Get workspace usage statistics including storage breakdown by user and module, active user count, API call volume, and per-module adoption metrics. Requires admin or owner role. Use this when the user asks about workspace usage, storage consumption, billing metrics, or capacity planning.

ActionTry it

Get user presence

Get online status (true = online within the last 5 minutes) for a set of users in the current workspace. Returns user_id → boolean. Capped at 100 user IDs. Fallback/cold-hydrate surface only — the primary presence path is the full-state push over the `presence` /ws/mux channel; poll this on connect or when the socket is down, not on a steady timer.

ActionTry it

Get user status

Get the current user's active chat status (emoji + text) and DND-until timestamp. Use this before setting or clearing the status to know the current state.

ActionTry it

Get users notification preferences

Return the user's notification preferences, merged with defaults so newly-added keys always render.

ActionTry it

Get vacation settings

Get vacation auto-reply settings.

ActionTry it

Get wiki database row

Get a single database row by id.

ActionTry it

Get wiki page

Get a wiki page's full details including Markdown content, child pages, backlinks (pages that link to this page), and metadata. Use this when the user asks about a page's content, wants to read documentation, or needs to check what links to a specific page. If the user is currently viewing a wiki page, use the resource ID from page context.

ActionTry it

Get wiki page version

Get a wiki page version's full content (title + markdown body). Use this when the user asks what a previous version looked like, wants to compare versions, or needs the content of a specific snapshot.

ActionTry it

Get wiki space graph

Get backlink graph data for a wiki space. Returns nodes (pages) and edges (links between pages). Use this when the user asks to visualize the knowledge graph, see how pages connect, or find highly-linked 'hub' pages.

ActionTry it

Get wiki synced block

Get a synced block by ID. Returns the block's content and metadata. Use this when you need to read the current content of a shared block.

ActionTry it

Get workspace

Get the current workspace details (id, name, slug). Requires admin role.

ActionTry it

Grant access

Share a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar with exactly one user_id or named team_id (workspace members/teams), or email (anyone; sends an invitation). For all current/future workspace humans and agents use set_visibility(visibility=workspace, workspaceRole), not per-person grants or the Everyone entry. invite_to_workspace=true sends a membership invite (admin-only); message applies only to email. Unsupported roles are rejected; re-sharing cannot lower a live grant.

ActionTry it

Group slide elements

Group existing top-level elements on a slide into a single group. The group's bounding box is computed automatically from the children. Children positions become relative to the group origin. At least 2 element IDs required. A named element may itself be a group — `groupElements` validates only that each id is top-level on the slide, so groups nest.

ActionTry it

Home digest

Workspace-home roll-up: trailing-window task velocity (with prior-window deltas) plus the actor-aggregated team digest, visibility-gated per viewer. The `window` param selects the trailing window (7d default, or 1d for Today). Accessible to any authenticated workspace member.

ActionTry it

Insert page break

Insert a page break into a document at a given position. Forces subsequent content to start on the next page in exported .docx and .pdf files. The page break is inserted as a block node between paragraphs.

ActionTry it

Insert page number

Insert a page number placeholder into a document. The placeholder renders as the current page number in exported .docx and .pdf files. Commonly used inside headers or footers (e.g., 'Page X') but can also appear inline in the body text. The placeholder is inserted as an inline node within a paragraph.

ActionTry it

Insert section break

Insert a section break into a document at a given position. Section breaks divide the document into sections that can have different formatting. A 'next_page' section break forces content to the next page (like a page break but marks a new section). A 'continuous' section break starts a new section on the same page.

ActionTry it

Invite user

Invite a human by email with a member or admin role. Requires admin.

ActionTry it

Leave resource

Remove your own direct grant on a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar. The owner cannot leave. Returns an undo_token that shared_with_me_undo_leave accepts for ten minutes.

ActionTry it

List access

List named/team grants, workspace/link tiers and pending invitations for a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar. id names the resource; grant IDs name recipients. To remove broad access but keep explicit collaborators and their roles, use set_visibility(visibility=restricted). The Everyone entry mirrors workspace access, not a named share. Resource kind is inferred from id.

ActionTry it

List activity

List recent workspace activity (last 30 days). Scoped to the current user's workspace. Filterable by resource type, resource ID, and acting user.

ActionTry it

List address book

List the caller's address book: the shared CRM contacts they can see unioned with their own privately captured addresses, deduplicated on email with the shared record winning. Use this to resolve a recipient the user has written to before instead of asking them to retype an address. Private entries are never visible to another member.

ActionTry it

List archived threads

List archived threads (one per thread)

ActionTry it

List blocked senders

List all blocked senders for current user's mailbox

ActionTry it

List calendar events

List events scoped to a single calendar by its id — the RESTful path variant of list_events (`/api/calendars/events?calendar_id=…`). Requires at least viewer access to the calendar.

ActionTry it

List calendars

List the user's calendars. Returns calendar id, name, color, timezone, and whether it's the default. Use this to find the user's default calendar ID before creating events.

ActionTry it

List channels

List the user's chat channels. Returns channels with id, name, type (public/private/dm), description, member count, and creator info. Use this when the user asks to see their channels, find a specific channel by name, or when you need a channel ID to send a message.

ActionTry it

List charts

List every chart across every tab of the sheet. Each entry is annotated with the `tab` name it lives in.

ActionTry it

List conditional formats

List all conditional formatting rules on a spreadsheet. Returns each rule's ID, ranges (A1 notation), and one canonical rule payload.

ActionTry it

List contact activities

List activities (notes, calls, emails, meetings, tasks) on a specific contact's timeline. Useful for summarizing recent interactions with a contact before sending an email or making a call.

ActionTry it

List contact group members

List all contacts that are members of a contact group. Returns the contact id, name, email, and type for each member.

ActionTry it

List contact groups

List all contact groups in the workspace with their member counts. Groups are named collections for organizing contacts (e.g., 'Conference leads 2026').

ActionTry it

List contacts

List CRM contacts. Supports filtering by type, lifecycle stage, owner, and text search. Returns contacts with id, name, email, phone, type, lifecycle_stage, company, and timestamps. Use this when the user asks to see their contacts, find a person, or list companies. Also use this with the 'q' parameter to search for existing contacts BEFORE creating new ones to prevent duplicates.

ActionTry it

List crm activities

List recent CRM activity visible to the current user across contact and deal timelines.

ActionTry it

List crm property definitions

List the workspace's typed custom-property definitions for contacts and deals, including relation properties that link a record to another contact, company, or deal. Optionally filter by entity_type.

ActionTry it

List crm views

List the user's saved CRM views (filter + sort presets for contacts/companies/deals). Views personalize how CRM data is displayed without changing the underlying records.

ActionTry it

List crm workspace users

List all users (humans and agents) in the current workspace who can own CRM records. Use before assigning contacts or deals to a specific owner_id.

ActionTry it

List custom emojis

List all custom emojis uploaded to the current workspace. Returns each emoji with id, name (without colons), image URL, and creator info. Use this to discover what custom emojis are available before referring to them by name.

ActionTry it

List data connector run history

List recent execution history for a data connector. Each row records one manual or scheduled run with its status, duration, row count, and error (if any). Use the `limit` query param to cap the page size (default 20, max 100). Results are ordered by completion time, newest first.

ActionTry it

List data connectors

List data connectors registered on a sheet. Connectors fetch data from external sources (URL, CSV, etc.) into specific cells.

ActionTry it

List deal line items

List all line items for a deal, plus the computed total.

ActionTry it

List deal templates

List deal templates in the workspace (reusable deal presets: default pipeline, stage, amount, probability, and line items).

ActionTry it

List deals

List CRM deals. Supports filtering by pipeline, stage, and status. Returns deals with id, title, amount, currency, stage, pipeline, contact, status, and timestamps. Use this when the user asks to see their deals, check the pipeline, or find opportunities.

ActionTry it

List documents

List the current user's documents. Optionally filter by type. Includes externally owned documents by default; `scope=workspace` limits discovery to the authenticated current workspace.

ActionTry it

List drafts

List the unsent draft emails in this mailbox.

ActionTry it

List drive folders

List only folders (not files) in Drive — useful for folder pickers. Pass root to scope the listing to My Drive, shared drives, or Shared with me.

ActionTry it

List email attachments

List attachments for an email

ActionTry it

List enrollment events

Get the event log for a single sequence enrollment (step-executed, email-opened, email-replied, branch-taken, completed). Useful for auditing why a contact moved to a particular step.

ActionTry it

List event resources

List resources currently booked for an event (rooms, equipment).

ActionTry it

List events

List calendar events across all of the user's calendars. Supports filtering by date range, calendar, and free-text search. Returns events with id, title, start/end times, location, status, and attendees. Use this when the user asks to see their schedule, upcoming meetings, or events for a date. Use the q parameter to search for events by keyword (matches title, description, location, and attendee names).

ActionTry it

List feedback

List the caller's own submissions, newest first, as public projections (see `get_feedback`). Paginated with `limit` (default 50) and `offset`.

ActionTry it

List files

List files and folders in the user's Drive. Returns items with id, name, mime_type, size_bytes, is_folder, parent_folder_id, owner info, and timestamps. Use this when the user asks to see their files, browse a folder, find a specific file, or check what's in Drive. If the user is currently viewing Drive, use context for the current folder. A `parent_id` the caller cannot view answers 404, exactly as an absent folder does; a folder shared from another workspace is browsed through `GET /api/drive/{id}/children` instead.

ActionTry it

List folder children

List the direct children of one folder, named in the path. Use this to browse into a folder — including one shared with you from another workspace, which the `parent_id` form of the list endpoint cannot return. Answers 404 for a folder the caller cannot view, exactly as an absent one does.

ActionTry it

List form responses

List responses submitted to a form. Returns responses with respondent info, submitted data (keyed by field ID), and timestamps. Use this when the user asks to see form results, check submissions, analyze feedback, or export response data.

ActionTry it

List form variants

List A/B test variants for a form. Returns each variant's id, name, traffic weight, active status, and variant form ID. Use when the user asks about their A/B tests, variant list, or experiment setup.

ActionTry it

List forms

List the user's forms. Returns forms with id, title, slug, is_published, response count, timestamps, and the caller's own star and Drive tags. Pass `starred=true` for only the forms you starred. Use this when the user asks to see their forms, find a specific form, or check form status.

ActionTry it

List forwarding addresses

List forwarding addresses + recent log.

ActionTry it

List identity api keys

List the calling user's own API keys. Scoped to `c.var.user.id` — does not return keys belonging to other users in the same workspace. Admins managing other users' keys should use `GET /api/admin/api-keys`.

ActionTry it

List inbox

List the user's received emails (inbox). Returns emails with id, from, subject, preview, read status, and sent timestamp. Use this when the user asks to check their inbox, see recent emails, or find a specific email. Use detail='headers' for bandwidth-efficient scanning (omits body), or 'minimal' for id + labels only. Use label_ids to filter by specific labels (AND semantics — all listed labels must be present).

ActionTry it

List mail approvals

List email submissions awaiting a human decision. Returns the caller's own submissions plus the ones they may decide — as the submitting agent's current manager, or as a workspace admin/owner. A former manager sees nothing.

ActionTry it

List mail by label

List emails with a specific label

ActionTry it

List mail labels

List every mail label in this mailbox.

ActionTry it

List mail rules

List mail rules / filters.

ActionTry it

List mail templates

List the saved mail templates in this mailbox.

ActionTry it

List muted threads

List muted threads (inbox view for muted conversations)

ActionTry it

List my teams

List teams the current user belongs to, with their role (admin or member) in each. Use this when the user asks 'what teams am I in?' or 'my teams' or 'my memberships'.

ActionTry it

List my workspaces

List workspaces the current user belongs to (human users may have multiple). Returns workspace id, name, slug, role, and which one is active.

ActionTry it

List named ranges

List named ranges and named expressions on a spreadsheet. Each entry returns its name and either an A1 range or an exact literal expression. External-workbook expressions remain unresolved.

ActionTry it

List pinned messages

List all pinned messages in a channel. Pinned messages are highlighted by members for ongoing reference (announcements, canonical links, etc.). Returns messages in newest-pin-first order.

ActionTry it

List pipeline members

List the members of a CRM pipeline. Deal visibility is pipeline membership: a deal is visible to admins/owners and to members of its pipeline (directly or via a team). Roles are admin (can manage the pipeline + members) or member.

ActionTry it

List pipelines

List all CRM pipelines with their stages. Each pipeline contains an ordered list of stages with names, sort order, and default probabilities. Use this before creating or moving deals to find valid pipeline_id and stage_id values.

ActionTry it

List pivot tables

List every pivot table across every tab of the sheet. Each entry is annotated with the `tab` name it lives in.

ActionTry it

List products

List products in the workspace catalog. Use this when the user asks about pricing or available SKUs, or before adding a product as a deal line item.

ActionTry it

List project updates

List status updates for a project, newest first. Returns the health timeline with author and timestamp.

ActionTry it

List projects

List accessible projects in the current workspace, optionally filtering by a case-insensitive name query before pagination. Returns each project with name, icon, color, visibility, and task count. Use this when the user asks to see their projects or find a project by name.

ActionTry it

List protected ranges

List all protected ranges on a spreadsheet. Returns each range with its ID, A1 range, description, warningOnly flag, and editorUserIds allowlist.

ActionTry it

List quotes

List CRM quotes/proposals. Filter by status (draft, sent, accepted, rejected, expired), deal, or contact. Useful for finding outstanding quotes or recently-accepted ones.

ActionTry it

List resource comments

Read comments on a document, task, wiki page, mail conversation, pull request, or code review. Resource type is resolved from ID; a mail conversation can use its thread key with mailbox_id. result preserves threading, pagination, unread counts, and entity references supplied by its owning module.

ActionTry it

List resources

List bookable resources (rooms, equipment) in the workspace. Call before booking a room to see what's available.

ActionTry it

List roles

List all roles in the workspace (system roles + custom roles). Requires admin role.

ActionTry it

List running executions

List in-flight executions across every coworker in the active workspace. Joins coworker_executions → coworkers, filtered by status IN ('PENDING','RUNNING'). Powers the 'Coworkers — running now' saved filter on People & Access.

ActionTry it

List saved messages

List all messages the current user has saved (bookmarked) across all channels. Returns messages with saved_at timestamp, channel name, and channel type. Saved messages are private to the current user (unlike pinned messages, which are shared with the channel).

ActionTry it

List scheduled mail

List scheduled (unsent) emails

ActionTry it

List scheduled messages

List all pending scheduled messages for the current user across all channels. Returns each scheduled message with channel name/type and the scheduled_at timestamp. Use this to review what's queued to send later, or before updating/cancelling a scheduled message.

ActionTry it

List scheduler bookings

List all bookings (across all scheduler links) owned by the current user. Useful for summarizing the user's upcoming meetings.

ActionTry it

List scheduler link bookings

List all bookings for a single scheduler link (owner-scoped).

ActionTry it

List scheduler links

List the user's scheduler links (Calendly-style booking pages). Each link has a shareable slug, duration, availability hours, and optionally auto-creates a contact + deal when booked.

ActionTry it

List scorable fields

List the contact fields that can be used in scoring rules (lifecycle_stage, industry, title, website, custom_properties.*, etc.) and the operators each supports.

ActionTry it

List scoring rules

List all lead scoring rules for the workspace.

ActionTry it

List send as addresses

List available send-as addresses for current user

ActionTry it

List sent mail

List the emails sent from this mailbox.

ActionTry it

List sequence enrollments

List all enrollments for a sequence, including each contact's current step, status, and next execute time. Useful for checking progress or finding an enrollment ID to unenroll.

ActionTry it

List sequences

List all CRM email/task sequences (multi-step automated outreach campaigns). Returns sequences with their steps, active status, and current enrollment count.

ActionTry it

List shared drive files

List files in a shared drive.

ActionTry it

List shared drive members

List shared drive members.

ActionTry it

List shared drives

List shared drives user is a member of.

ActionTry it

List sheet images

List editable floating images with cell anchors and CSS pixel geometry. Image src must reference an image asset owned by this sheet.

ActionTry it

List sheet picture groups

List editable picture groups with cell anchors and CSS pixel geometry. Every leaf references an image asset owned by this sheet; native group transforms use EMU coordinates.

ActionTry it

List sheet shapes

List editable floating shapes with editable text, cell anchors and CSS pixel geometry.

ActionTry it

List sheet validations

List all data validation rules on a spreadsheet. Returns each rule's range (A1 notation) and rule definition (type, values, strict, inputMessage).

ActionTry it

List sheets

List the current user's spreadsheets (owned + shared). Convenience alias for `GET /api/documents?type=sheet`. Returns the lightweight `SheetSummary` shape without the structured `data` body — call `GET /api/sheets/:id` to load a specific sheet's tabs/columns/rows.

ActionTry it

List sign documents

List signing documents in the workspace.

ActionTry it

List sign templates

List reusable signing templates.

ActionTry it

List slicers

List every slicer across every tab of the sheet. Slicers are interactive filter widgets that filter pivots / charts on a shared source range. Each entry is annotated with the `tab` name it lives in.

ActionTry it

List slide masters

List the master slide templates registered on a presentation. Child slides link to masters by reference and resolve current master elements at render time, beneath child-owned elements.

ActionTry it

List snoozed mail

List the snoozed emails in this mailbox.

ActionTry it

List starred mail

List the starred emails in this mailbox.

ActionTry it

List task attachments

List Drive files attached to a task.

ActionTry it

List task templates

List task templates in the workspace. Templates pre-fill fields when creating tasks. Optionally filter by project. Returns name, default fields (priority, status, estimate, assignee, labels), and creator.

ActionTry it

List tasks

List tasks in the workspace. Pass assignee_id to filter by assignee (use the caller's user ID for 'my tasks'). Supports filtering by status, priority, project, and free-text query.

ActionTry it

List teams

List workspace teams visible to the current user. Returns public teams and private teams the user is a member of, with member counts. Filterable by `q` (case-insensitive substring match on name + slug). Optional `limit` caps the result count. Use this when the user asks to see teams, distribution lists, or workspace teams.

ActionTry it

List trashed files

Find deleted Drive file rows and folders the caller owns, trashed themselves, or holds the owner rung on (a folder above it is theirs, or they manage its shared drive). Returns paginated file IDs and metadata for restore_file or permanent_delete_file. Can include materialized native-document shadow rows, but does not list every native Docs, Sheets, Slides or Canvas item: use documents_trash_list for the complete native-document trash owned by the caller. An empty result does not mean the whole workspace trash is empty.

ActionTry it

List user statuses

List active chat statuses (emoji + text + DND) for users in the workspace. Only returns users who currently have a non-null status or active DND. Useful for 'who's on vacation?', 'is anyone in meetings?', or similar presence queries.

ActionTry it

List users

List workspace members and agents with identity, role, status, storage usage, and timestamps. Requires admin or owner.

ActionTry it

List wiki page databases

List all inline databases hosted on a wiki page.

ActionTry it

List wiki page versions

List the saved version snapshots for a wiki page (most recent first). Use this when the user asks for revision history, wants to see who edited and when, or needs to find a version to revert to.

ActionTry it

List wiki space pages

List pages in a wiki space with offset/limit pagination. Returns page summaries (id, title, slug, icon, parent_page_id, sort_order). Use this when the user asks to see all pages in a space, or when you need to paginate through a large space.

ActionTry it

List wiki spaces

List all wiki spaces. Returns spaces with id, name, slug, description, icon, owner info, privacy setting, and page count. Use this when the user asks to see wiki spaces, browse the knowledge base, or when you need a space ID to create a page.

ActionTry it

List wiki synced blocks by page

List synced blocks that were originally created on a specific page. Use this when the user asks what shared content a page publishes, or to audit reuse.

ActionTry it

Log activity

Log an activity on a CRM contact or deal timeline. Activities track interactions like calls, emails, meetings, notes, and tasks. Use this when the user asks to log a call, record meeting notes, or add a note to a contact/deal.

ActionTry it

Mail alias create

Add a new alias on a verified workspace domain

ActionTry it

Mail alias delete

Delete a send-from alias address by id.

ActionTry it

Mail alias set default

Set alias as default send-as identity

ActionTry it

Mail aliases list

List all aliases for current user's mailbox

ActionTry it

Mail blocklist clear

Unblock by raw pattern (convenience for "Unblock sender" button)

ActionTry it

Mail blocklist remove

Unblock a sender by their blocklist entry id.

ActionTry it

Mail bulk modify

Apply one bulk action to emails chosen by id or search query.

ActionTry it

Mail export eml

Export a message as RFC 5322 EML, returning retained source octets when available.

ActionTry it

Mail external auth url

Start connected-mailbox (Gmail) OAuth — returns the consent URL.

ActionTry it

Mail external connection delete

Disconnect a connected mailbox.

ActionTry it

Mail external connection test

Verify a connected mailbox by fetching its Gmail profile.

ActionTry it

Mail external connections list

List connected mailboxes.

ActionTry it

Mail folder counts

Per-folder badge counts for sidebar Returns { inbox: unread_count, drafts, scheduled, snoozed } — Gmail-style.

ActionTry it

Mail label counts

Per-label unread counts for sidebar badges. A separate endpoint so the sidebar can refresh counts on read/receive without re-fetching the label definitions themselves. Shape mirrors /folder-counts.

ActionTry it

Mail message unsubscribe

One-click unsubscribe. Triggers the List-Unsubscribe URL (RFC 8058) on the user's behalf. Falls back to telling the client to open a mailto: link if no HTTP URL is present.

ActionTry it

Mail shared mailbox assignees

The people who can hold a thread in this shared mailbox — team grants flattened to their members.

ActionTry it

Mail shared mailbox create

Create a shared mailbox and address it on a workspace domain (admin only)

ActionTry it

Mail shared mailbox delete

Retire a shared mailbox (admin only). Soft: stored mail is retained and the address stays reserved.

ActionTry it

Mail shared mailbox get

Get one shared mailbox and its members

ActionTry it

Mail shared mailbox member add

Grant a user or a team access to a shared mailbox (admin only)

ActionTry it

Mail shared mailbox member remove

Revoke a user's or team's access to a shared mailbox (admin only)

ActionTry it

Mail shared mailbox restore

Restore a retired shared mailbox (admin only). Total — delete cascaded nothing.

ActionTry it

Mail shared mailbox update

Rename a shared mailbox's display name; its address is unchanged (admin only)

ActionTry it

Mail shared mailboxes list

List the shared mailboxes the caller holds, or every one in the workspace with `scope=managed` (admin only)

ActionTry it

Mail smart compose

Suggest a short continuation of an email draft being written. Takes the text typed so far, optionally the subject and the earlier messages of the thread being replied to, and streams the suggested next words.

ActionTry it

Mail thread mute status

Check if a thread is muted

ActionTry it

Mail trash list

List trashed (soft-deleted) emails — the caller's own rows in folder='trash'. Restore one with `untrash_email`; nothing is purged automatically.

ActionTry it

Mail unread summary

Unread mail summary for a cross-module unread view: the total unread count plus the top N (default 5, max 25) unread inbox rows with sender, subject, preview and timestamp, so a unified list can render without pulling the full inbox.

ActionTry it

Mark all channels read

Mark all channels as read for the current user. Advances the read cursor in every channel the user is a member of to the latest message, clearing all unread badges at once. Use this when the user wants to dismiss all chat unreads (e.g. returning from vacation).

ActionTry it

Mark channel read

Mark a channel as read up to a specific message. This clears the unread badge for the current user. Use this after the user has finished catching up on a channel, or programmatically to dismiss unread counts after the assistant reports on recent messages.

ActionTry it

Mark channel unread

Mark a channel as unread starting from a specific message. Moves the calling user's read cursor back to just before that message, so the channel shows an unread badge and the message becomes the unread boundary. Use this when the user wants to revisit a conversation later.

ActionTry it

Mark email read

Update email status (read/unread, starred, snoozed)

ActionTry it

Mark thread read

Mark a thread as fully read up to the latest reply. Use this after the user has finished catching up on a thread, or when you want to programmatically dismiss unread reply counts for a specific thread.

ActionTry it

Mark thread unread

Mark a thread as unread so it reappears in the threads inbox with an unread badge. An optional reply_id marks that reply onward unread. Omit it to mark the whole thread unread. Restore accepts the prior cursor and its expected current cursor; a newer intent returns 409.

ActionTry it

Merge contacts

Merge two CRM contacts that represent the same person/company. The secondary contact is deleted, and its activities and deals are re-linked to the primary. Use this when you discover duplicates (same email or name). The primary contact is the one kept; the secondary is removed.

ActionTry it

Migrate document source

Activate source-preserving editing on an existing document. Only its owner may migrate; the expected content hash prevents stale activation and the command ID makes retries idempotent.

ActionTry it

Modify contact group members

Bulk add or remove contacts from a contact group. Idempotent — adding an already-present contact or removing an absent one is a no-op.

ActionTry it

Move sheet column

Move a column to a new position. Rewrites dependent formulas so they follow the moved column to the same logical data, and re-anchors notes and comment anchors.

ActionTry it

Move sheet row

Move a row to a new zero-based position, carrying its values, formatting, geometry and dependent references.

ActionTry it

Notifications dismiss

Soft-delete (hide from default feed). Preserved for audit / undismiss.

ActionTry it

Notifications list

List notifications for the current user. Supports cursor pagination via `?cursor=`; legacy offset pagination still works. Filters: `resource_types`, `excluded_resource_types`, `event_types`, `unread_only`; visibility toggles: `include_dismissed`, `include_snoozed`.

ActionTry it

Notifications mark all read

Mark every unread notification in the optional resource/event scope as read.

ActionTry it

Notifications mark read

Mark a single notification read. Returns `was_unread` — true only if THIS call flipped it. A consumer that gets `false` skips the work, so two processes on one identity cannot both act on one notification.

ActionTry it

Notifications mark unread

Convenience alias for `PATCH /api/notifications/:id` with `{read:false}`.

ActionTry it

Notifications mute create

Create or refresh your in-app/live notification suppression rule for resourceId, eventType, or both. Matching direct mentions are suppressed there too; email and push delivery are unchanged. This does not change a chat channel's mute setting or notification preference. For ordinary channel mute/unmute use set_channel_muted. At least one selector is required; resourceId also requires resourceType. until=null or omitted means indefinite. A matching rule's expiry is refreshed.

ActionTry it

Notifications mute delete

Remove a mute rule by id. Scoped to the owning user.

ActionTry it

Notifications mutes list

List active mute rules. Pass `?include_expired=true` to also see rules whose `until` has passed (these no longer suppress notifications).

ActionTry it

Notifications snooze

Hide until `{until: ISO8601}`. Pass `{until: null}` to clear snooze.

ActionTry it

Notifications undismiss

Restore a dismissed notification.

ActionTry it

Patch canvas element

Update one element's fields (geometry, style, text, connector endpoints, lock). Use when moving, restyling, relabeling, or re-anchoring a single element. Provide only the fields to change; the element's id and type stay fixed and every other element is untouched (per-element diff — never a full-board replace). Coordinates: board units, top-left origin, +x right / +y down — set `x`,`y` to move the top-left corner. Example: patch_canvas_element({ id: "<boardId>", elId: "<elId>", x: 240, y: 80 }) moves an element right by 140 units.

ActionTry it

Patch users notification preferences

Partial update of notification preferences. Unknown keys → 400. Non-boolean values → 400.

ActionTry it

Pause coworker

Pause coworker (stops scheduled executions).

ActionTry it

Permanent delete file

Permanently delete a trashed file. Needs the owner rung; shared-drive content additionally needs a manager of that drive. A caller who can see the file without that authority gets 403. Irreversible — confirm with user first.

ActionTry it

Poll close

Close a poll to further voting (creator or channel admin).

ActionTry it

Poll create

Create a poll in a channel. Creator must be a channel member.

ActionTry it

Poll delete

Delete a poll (creator or channel admin).

ActionTry it

Poll get

Poll details (question, options, the caller's votes).

ActionTry it

Poll get by message

Poll results for the poll attached to a chat message.

ActionTry it

Poll results

Tallied poll results (respects anonymity).

ActionTry it

Poll unvote

Remove the caller's vote for a poll option.

ActionTry it

Poll vote

Cast a vote for a poll option.

ActionTry it

Project members add

Add a member. Body `{user_id, role?}` — or `{team_id, role?}` for a team share. A project editor may add, capped at its own role: granting a role above it is refused `403`. Notifies the new member.

ActionTry it

Project members list

List project members.

ActionTry it

Project members remove

Remove a grant from the project. The path id is the principal id: a user by default, or a team with `?type=team`. Notifies the removed user (unless self-removal). The Everyone team's row is refused — workspace access is set through the project's visibility, which is its only control.

ActionTry it

Project members update role

Change a member's role.

ActionTry it

Project notification pref get

Get the caller's notification preference for the project.

ActionTry it

Project notification pref set

Set the caller's notification preference (`level`) for the project.

ActionTry it

Project templates apply

Create a new project from a template. Pass `{name, description}` in the body.

ActionTry it

Project templates create

Create a project template.

ActionTry it

Project templates delete

Delete a project template.

ActionTry it

Project templates get

Get a single project template.

ActionTry it

Project templates list

List project templates in the workspace.

ActionTry it

Project updates delete

Delete a status update. Author or admin only.

ActionTry it

Project updates edit

Edit a status update. Author or admin only.

ActionTry it

Protect range

Protect a range in a spreadsheet. Protected ranges restrict editing to users in editorUserIds. Set warningOnly to true for soft warnings instead of hard blocks.

ActionTry it

Publish calendar

Publish a calendar as a public read-only .ics feed URL (no auth required). Returns a shareable feed URL that anyone can subscribe to from Google/Apple/Outlook Calendar. Anyone holding the URL can read every event on the calendar until it is unpublished or its URL is rotated.

ActionTry it

Publish form

Publish a form so it accepts public responses. Semantic shortcut for PATCH /api/forms/{id} with is_published=true; same validation (every field needs a non-empty label).

ActionTry it

Query wiki database

Query rows from an inline database with optional view, filter, and sort. Returns paginated results.

ActionTry it

Realtime exchange connection capability

Exchange the caller's normal credential (JWT or `ak_` API key) for a short-lived realtime connection capability scoped to exactly the caller's own workspace and credential session. Takes no input — workspace, principal and session are read off the authenticated credential, never a request field, so the endpoint has no field a caller could set to another principal's value. The capability names no resource, channel or operation: object-scoped channels each need their own resource capability, and every durable mutation is independently re-authorized API-side. Refused with 429 + `Retry-After` when the per-principal rate budget or this instance's concurrent database-admission budget is exhausted.

ActionTry it

Realtime exchange resource capability

Exchange the caller's normal credential for a short-lived capability over ONE object-scoped channel. The caller names the channel; it never names its own authority — the granted operations are resolved from the caller's real role on that object through the same `can()` seam the REST surface authorizes with, so the capability and a later durable commit cannot disagree about what this principal may do. `operations` may narrow that set and may never widen it: a request naming an operation the caller does not hold is refused rather than quietly reduced, because a clamped token lets a client believe it may write and discover otherwise only as frames dropped at the edge. An object the caller cannot reach answers 404 exactly as an absent one does.

ActionTry it

Recalculate lead scores

Recalculate lead scores for all contacts in the workspace. Use this after creating or updating scoring rules so existing contacts pick up the new scoring.

ActionTry it

Register custom domain

Register a custom email domain as a pending row; ownership must be verified via DNS TXT before sending is enabled. Requires admin role.

ActionTry it

Remove access

Remove a named grant, pending invitation or link access on a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar. Give exactly one user_id, team_id, pending_share_id (unaccepted invitation), or link=true (restricts the link tier; unavailable on calendars). To remove broad access while retaining explicit collaborators use set_visibility(visibility=restricted), not Everyone removal.

ActionTry it

Remove forwarding address

Remove a forwarding address

ActionTry it

Remove pipeline member

Remove a user or team from a CRM pipeline. The principalId is the user_id or team_id of the member to remove.

ActionTry it

Remove role

Remove a role from a user. Requires admin role.

ActionTry it

Remove shared drive member

Remove a shared drive member (manager-only; cannot remove last manager).

ActionTry it

Remove sheet column

Remove a column from a sheet tab by column ID. Use `?sheet=` to target a tab other than the first.

ActionTry it

Remove sheet tab

Remove a sheet tab by name. Cannot remove the last remaining tab.

ActionTry it

Remove slide

Remove the slide at the given zero-based index.

ActionTry it

Remove task attachment

Remove a file attachment from a task. Does not delete the Drive file.

ActionTry it

Rename document version

Rename a version snapshot of a document. Useful for labeling meaningful versions (e.g., "Pre-launch draft", "Board approved"). Requires editor permission.

ActionTry it

Rename sheet tab

Rename an existing sheet tab.

ActionTry it

Reorder mail labels

Reorder the mail labels shown in the sidebar.

ActionTry it

Reorder mail rules

Reorder the mail rules to change which runs first.

ActionTry it

Reorder slides

Reorder slides in a presentation. Provide the full list of slide indices in the desired new order. Example: [2, 0, 1, 3] moves the third slide to the front.

ActionTry it

Replace named range content

Replace all content within a named range with new content. Used for template-based document generation — define named ranges as placeholders, then call this to fill each one. The named range must have positional anchors (startNodeId/endNodeId). Content can be Markdown text or PM JSON. Returns 409 if the anchored nodes no longer exist (stale range after CRDT edits).

ActionTry it

Replace shapes with image

Replace text placeholder elements with an image across all slides. Finds text elements whose text matches the search string and replaces them with image elements at the same position and size. Like Google Slides ReplaceAllShapesWithImage — useful for template-based workflows where placeholder shapes like {{logo}} are swapped with actual images.

ActionTry it

Replace sheet tab

Replace a sheet tab's columns and/or rows wholesale. Use for bulk data replacement. Use update_cells for surgical edits.

ActionTry it

Request access

Ask the owner of a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar, task, project, or CRM pipeline for access at a role higher than any you hold. Documents, Drive items and wiki pages offer viewer, commenter and editor; forms and calendars viewer and editor; projects commenter and editor; tasks editor; pipelines member. Returns 409 while a request is already open.

ActionTry it

Reschedule scheduled email

Change the delivery time of a pending scheduled email without changing its content.

ActionTry it

Resend forwarding verification

Resend verification email

ActionTry it

Restore file

Restore a file from trash. Needs the owner rung (the owner, the owner of a folder above it, or a manager of its shared drive); a caller who can see the file without it gets 403.

ActionTry it

Restore sheet structure

Undo or redo a structural change receipt without overwriting unrelated later edits.

ActionTry it

Restore task

Restore a soft-deleted task when the caller has task editor access.

ActionTry it

Restore wiki synced block

Restore a previously deleted synced block. Embedding pages will render the block again instead of showing error chips.

ActionTry it

Resume coworker

Resume a paused coworker.

ActionTry it

Revert wiki page version

Revert a wiki page to a previous version snapshot. This replaces the current content with the version's content and rebuilds the page's collaborative state from it. A snapshot of the current state is automatically created before reverting. This is destructive for the in-progress edit — always confirm with the user first.

ActionTry it

Revoke api key

Revoke an API key. Immediate — any requests using the key will fail. Requires admin role.

ActionTry it

Revoke identity api key

Revoke (permanently delete) one of the calling user's own API keys. 404 if the key doesn't belong to the calling user. Returns 204 No Content on success.

ActionTry it

Rotate calendar publish url

Rotate a published calendar's read-only subscription URL. The previous URL is revoked immediately.

ActionTry it

Rsvp email invite

RSVP to a calendar invite on an email.

ActionTry it

Rsvp event

RSVP to a calendar event that the user is invited to. Use this when the user asks to accept, decline, or mark tentative on an event invitation.

ActionTry it

Run data connector

Execute a data connector: fetch the latest data and write it to the connector's target cells. Returns the connector with updated last-run metadata.

ActionTry it

Save message

Bookmark an EXISTING chat message in the current user's private Later/saved list. Resolve the original message_id with search_chat_messages or get_channel_messages when it is not supplied. Does not post or copy a message, and does not set a timed reminder (use set_reminder for that). Saving an already-saved message is a no-op.

ActionTry it

Scan business card

OCR a photo of a business card and extract structured contact fields (name, title, company, email, phone, website, address, notes). Returns JSON with each field nullable when not present on the card. Use when the user uploads or references a business card image and wants to add the contact to CRM. The image must be passed as a base64 data URL (data:image/jpeg;base64,...) of an image format Gemini Vision supports (JPEG, PNG, WebP, HEIC). Max 6 MB.

ActionTry it

Search calendar events

Full-text search across all calendar events for the current workspace. Returns matching events with id, title, start/end times, and calendar info. Use this when the user asks to find a specific event by name or description keyword.

ActionTry it

Search chat messages

Find existing chat messages by keyword, phrase, or topic across the caller's accessible channels. Results include the message id and channel context needed to bookmark, remind, react, reply, or edit that message. Use channel_id to restrict the search to a known channel; this read does not post messages.

ActionTry it

Search mail

Full-text + operator search (Gmail-style: from:, to:, cc:, bcc:, subject:, has:attachment, is:read|unread|starred, in:inbox|sent|drafts|trash|archive, label:, after:YYYY-MM-DD, before:YYYY-MM-DD, size:N, larger:N, smaller:N, "phrase"). cc:/bcc: filter by recipient type. size:/larger:/smaller: filter by body byte size.

ActionTry it

Search palette

Cross-module command-palette search — every module including chat messages. `q` is the query string; `limit` caps results (default 30, max 50). Empty query returns an empty response. Module diversity is preserved. `counts` carries the per-module match total before the per-module cap.

ActionTry it

Search wiki

Case-insensitive substring search across wiki page titles and Markdown content. Returns only pages the caller can view under the effective page-to-space permission rules, with id, title, space, and content snippets. Use this when the user asks to find information in the wiki, look up documentation, or search the knowledge base. More efficient than reading individual pages.

ActionTry it

Search workspace

Search across every module in the user's workspace (docs, sheets, slides, canvas, tasks, contacts, deals, channels, chat messages, wiki, forms, calendar, users, mail, files, teams, and saved Analytics reports for callers who can read them). Returns a flat list of results with module-aware metadata, plus `counts` — the per-module match total before the per-module cap. Optional module filter narrows the search to one or more modules; `sort` picks relevance or recency. Use this when the user asks to find something but you don't know which module it lives in.

ActionTry it

Send draft email

Send a previously created draft email. The draft transitions from the drafts folder to sent, SES delivery is triggered, and recipient inbox copies are created. Use this when the user wants to send a draft they previously saved. A send is not always a delivery: when the sender is an agent limited to workspace recipients and any To/Cc/Bcc address is external, the WHOLE email is queued for a human decision instead of being sent — the response carries `delivery_status: pending_approval` and `pending_approval.review_id`, and nothing has reached the recipients. Report that state; do not report it as sent, and do not re-send it.

ActionTry it

Send email

Send an email from the current user. The body is written in Markdown and automatically converted to a beautifully formatted HTML email for delivery. Use this when the user asks to send an email, message someone, or share something via email. Supports to, cc, and bcc recipients. Recipients are specified by email address. A send is not always a delivery: when the sender is an agent limited to workspace recipients and any To/Cc/Bcc address is external, the WHOLE email is queued for a human decision instead of being sent — the response carries `delivery_status: pending_approval` and `pending_approval.review_id`, and nothing has reached the recipients. Report that state; do not report it as sent, and do not re-send it.

ActionTry it

Send message

Post a NEW message visible to the chat channel's members, or send a thread reply. Use for requested communication, not for finding, bookmarking, or reminding about an existing message: those actions use search_chat_messages/get_channel_messages then save_message/set_reminder on the returned message id. Content is Markdown with @mentions, code blocks, and links. Use the current channel ID when supplied by page context. To reply, set thread_id to the original parent message's id. To attach a file, upload it with drive_file_upload_proxy (source=chat) and include [name](drive://<file_id>) in content.

ActionTry it

Send quote

Send a CRM quote via email to the contact. Marks the quote as 'sent'. By default, sends to the linked contact's email address.

ActionTry it

Send scheduled message now

Deliver a pending scheduled message immediately instead of waiting for its scheduled time. Flips the message to sent and fans it out to the channel right now. Fails if the message has already been sent or cancelled. Use this when the user wants to send a queued message without waiting.

ActionTry it

Send test notification email

Send a test notification email (useful for checking email rendering and deliverability). Requires admin role.

ActionTry it

Set channel archived

Archive or unarchive a chat channel. Archiving freezes writes for everyone. Requires the same administrative authority as the individual archive and unarchive actions.

ActionTry it

Set channel muted

Mute or unmute a chat channel for yourself, including DMs, temporarily or indefinitely. Muting silences ordinary message, keyword and subscribed-thread alerts and removes the channel-presence badge contribution; direct mentions and broadcasts still reach you. This changes the channel mute setting, not its notification preference or a delivery-suppression rule. muted=true optionally accepts until or duration_ms; omit both for indefinite mute. muted=false cannot include timing fields.

ActionTry it

Set deck fonts

Set the heading and/or body font across a whole presentation: every text box, shape and table on every slide and master, group children and per-run rich-text fonts included. Text at 28px or larger takes the heading font; smaller text and tables take the body font. Fonts are a closed list. The saved deck is re-read before responding: a 409 means some elements still use another font, so the change is incomplete and must not be reported as done.

ActionTry it

Set default send as

Set the user's default send-as address.

ActionTry it

Set docs page layout default

Set the caller's default layout for new Docs (`pageless_default: true` = pageless, `false` = pages). Affects only Docs created afterwards; existing Docs keep their layout.

ActionTry it

Set document footnotes

Set footnote body content on a document. Replaces all existing footnoteBody nodes. Each footnote must have a footnoteId and either a text string (auto-wrapped in a paragraph) or a content array (PM JSON). To add inline footnote references in the body text, use update_document with PM JSON content containing footnoteRef nodes with matching footnoteIds.

ActionTry it

Set document headers footers

Set default, first-page, and even-page headers and footers. Each field accepts a plain text string (auto-wrapped in a paragraph), a ProseMirror JSON node, or null to remove. Omit a field to leave unchanged.

ActionTry it

Set email archived

Archive an email or return it to the inbox. archived=true archives; false unarchives. Existing mailbox access rules apply.

ActionTry it

Set email signature

Set the workspace default email signature. Pass null (or omit markdown) to clear. Requires admin role.

ActionTry it

Set mail signature

Set personal email signature. Pass null to clear.

ActionTry it

Set mail thread assignee

Assign a shared-mailbox conversation to a member, or clear its assignment with user_id=null. Does not change its folder.

ActionTry it

Set mail thread muted

Mute or unmute a mail conversation. muted=true moves it out of the inbox and keeps future replies muted; false restores it. mailbox_id selects a shared mailbox.

ActionTry it

Set notification keywords

Replace the current user's notification keyword list. Keywords are case-insensitive, whole-word, and capped at 20 entries (each up to 50 characters). Duplicates/empties are dropped. Use this when the user says 'alert me whenever someone mentions X' or 'stop notifying me about Y'.

ActionTry it

Set pinned header rows

Set the number of pinned (repeating) header rows on a table in a document. Pinned header rows repeat on every printed page when the table spans multiple pages in exported .docx and .pdf files. Set to 0 to clear the pinned header rows attribute.

ActionTry it

Set reaction

Add or remove your emoji reaction on a chat message or a document, task, wiki, mail-thread or Code comment. The target is resolved from ID. present=true adds; false removes. Existing parent visibility, workspace custom-emoji rules, broadcast-message identity, and missing-reaction errors apply.

ActionTry it

Set read receipts default

Toggle the default for new compose windows

ActionTry it

Set reminder

Remind only the signed-in user about an existing chat message at a future time. A channel named in a personal reminder request locates the source message; it is not an audience or a request to post there. When message_id is unknown, first find the original with search_chat_messages or get_channel_messages; an unknown ID does not mean the message is absent. If the target cannot be identified, ask for clarification instead of publishing a replacement. Automatically bookmarks the original in Later. remind_at is an ISO 8601 datetime and must be in the future.

ActionTry it

Set resource starred

Add or remove favorites (star/unstar) for documents, spreadsheets, presentations, canvases, Drive items, forms, channels or teams. Resource type is resolved from ID; existing starring/access rules apply. Tasks-sidebar view/project pins use tasks_favorites_add/remove instead.

ActionTry it

Set sheet validation

Set a data-validation rule on a spreadsheet cell range in A1 notation. Supports dropdown/range lists, numeric/text/date conditions, checkbox values, and custom formulas. Numeric constraints use JSON numbers, not numeric strings. Strict configures invalid-entry rejection rather than warnings in the editor; API cell writes do not enforce these rules.

ActionTry it

Set snooze presets

Set the user's custom snooze quick-presets (up to 10). Pass an empty array to reset to defaults.

ActionTry it

Set swipe actions

Set the caller's own mail-row swipe actions — one action per direction, chosen from archive, trash, read, star, snooze.

ActionTry it

Set task archived

Archive or unarchive a task. Archive is separate from Trash; archived=false does not restore a trashed task. Existing project and task permissions apply.

ActionTry it

Set task subscription

Subscribe or unsubscribe yourself from a task's notifications. When subscribed=true, user_id may select another subscriber under the existing subscription rules; unsubscribe applies only to yourself. Subscription does not grant task access.

ActionTry it

Set undo send setting

Set undo-send duration (seconds).

ActionTry it

Set user dnd

Enable or disable Do-Not-Disturb for the current user. Pass an ISO-8601 timestamp in the future to snooze notifications until that time, or pass null to disable DND immediately. Use this when the user says 'mute me for an hour', 'DND until 5pm', or 'turn off DND'.

ActionTry it

Set user status

Set the current user's chat status — an emoji, short text (<=100 chars), and optional auto-clear timestamp. All fields are optional; pass null to clear a single field. Use this when the user says things like 'set my status to lunch until 1pm' or 'I'm on vacation'.

ActionTry it

Set vacation settings

Update vacation auto-reply settings.

ActionTry it

Set visibility

Set broad access to a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar: restricted removes broad tiers but keeps owner and explicit collaborators; workspace covers current/future workspace humans and agents at workspaceRole; link/public use linkPermission, optionally behind linkPassword until linkExpiresAt. Use this for Everyone/workspace access, not individual grants or the Everyone entry. Calendars allow only restricted/workspace; forms publish responder links separately. Unsupported fields are rejected.

ActionTry it

Shared with me hide

Hide one row from the caller's own Shared-with-me list. Revokes nothing — the grant is untouched and the resource stays reachable by its id or link; only the list entry goes. 404 when the caller holds no live grant or the key lacks that resource's read scope. Idempotent.

ActionTry it

Shared with me list

Everything shared with the calling account through a direct grant, a team grant, or a bound external grant, across docs / sheets / slides, Drive, Wiki, Forms and Calendar — and across every workspace and identity the account owns. Excludes what the account owns, and excludes workspace-tier access, which is standing authority rather than a share. An API key sees only resource families within its read scopes. Newest share first. `scope=workspace` narrows discovery to resources in the authenticated current workspace without changing access.

ActionTry it

Shared with me undo leave

Undo a "Remove me": restore the exact grant the caller removed, from the `undo_token` the leave call returned. The token is bound to the caller, single-use, and lasts ten minutes. An outside grant is re-checked against the workspace's current outside-sharing policy. 400 `undo_token_invalid` / `undo_token_expired` / `undo_token_used`; 403 `outside_sharing_off` / `outside_sharing_domain_not_allowed`; 404 when the resource is gone or the key lacks its read scope.

ActionTry it

Sheet get data

Get the spreadsheet as the structured JSON canvas. Returns the `Sheet` envelope: top-level metadata plus the structured sheet body nested under `data` (see `SheetData`). Read the tab list as `response.data.sheets`; columns and rows are under `response.data.sheets[0]`, not at the response root.

ActionTry it

Sheet update cells

Update specific cells in a spreadsheet. Provide an array of cell updates, each specifying the row index (0-based), column ID, and new value. If the user is currently viewing a sheet, use the sheet ID from the page context.

ActionTry it

Sign add field

Add a signature field to a signing document.

ActionTry it

Sign add signer

Add a signer or CC recipient. An agent user can be a CC recipient but never a signer; adding one as a signer is refused.

ActionTry it

Sign get certificate

Download the Certificate of Completion for a completed document.

ActionTry it

Sign get references

List signing documents that use this document as a source.

ActionTry it

Sign prepare send

Validate signers and render the PDF preview (draft → preview_pending).

ActionTry it

Sign remove field

Remove a field from a signing document.

ActionTry it

Sign remove signer

Remove a signer or CC recipient from a draft signing document.

ActionTry it

Sign reorder signers

Atomically set the sequential signing order: the full ordered list of the document's signer-role ids. Draft only.

ActionTry it

Sign update field

Reassign, reposition, resize, or change requiredness for a field on a draft signing document. The field id is stable — updates never re-create the field.

ActionTry it

Sign verify document

Verify the integrity and signature of a completed document.

ActionTry it

Slide apply template

Apply a slide template — built-in or workspace — to the deck or to a single slide.

ActionTry it

Slide layouts list

List the slide-level layouts the editor knows about.

ActionTry it

Slide save as template

Save an existing deck as a reusable workspace template. Deep-copies the deck with fresh element IDs into a new workspace-visible template document; the source deck is left untouched. Returns the new template's ID.

ActionTry it

Slide star

Star a deck. Idempotent — re-starring is a no-op.

ActionTry it

Slide stars list

List IDs of slide decks the current user has starred.

ActionTry it

Slide templates list

List the built-in slide deck templates.

ActionTry it

Slide unstar

Unstar a deck. Idempotent.

ActionTry it

Slide use template

Start a new deck from a template — built-in or workspace. Deep-copies the template deck with fresh element IDs into a new deck, substitutes `{{key}}` placeholders to bracketed prompts (e.g. `{{client_name}}` → `[Client Name]`), and returns the new deck's ID.

ActionTry it

Snooze email

Snooze an email until a datetime.

ActionTry it

Snooze reminder

Re-snooze an existing saved message by updating its remind_at time. Resets reminded to false so the scheduler picks it up again. Accepts ISO 8601 datetime string; must be in the future.

ActionTry it

Sort sheet

Sort a tab's rows by one column, optionally within an exact filter range. Re-anchors formulas, comment anchors, and cell notes so nothing orphans.

ActionTry it

Start task timer

Start a time-tracking timer on a task for the current user. If another timer is already running for this user, it is stopped automatically (only one active timer per user).

ActionTry it

Stop task timer

Stop the current user's active timer. The duration is accumulated onto the task's time_spent_minutes total. Returns null if no timer is active.

ActionTry it

Submit feedback

Tell Ambiguous what happened in your own words. Only description is required; do not choose a report category or supply a goal outcome. Optional context and attachments are welcome, never required. Ambiguous handles classification and triage. Accepts unauthenticated REST calls; valid credentials optionally identify the submitter. Rate-limited per user when authenticated and per IP otherwise. Body shape: `{title?, description, priority?, screenshotDataUrl?, attachments?, context?}` — see `FeedbackInput`. The submission is stored as a task in Ambiguous's own Feedback project and the 200 carries that task's id as the receipt; there is no receipt without a record, so a storage failure is a 500 and the caller should retry. Returns 503 with `{error: "Feedback reporting not available"}` when the intake is not configured (outside the contract error-code enum, surfaced via raw Response).

ActionTry it

Submit form

Submit a response to a published form, identified by its public slug or form ID. Data is a map keyed by field ID with user answers. Use when an agent is filling out a form on behalf of a user or when completing a structured data-entry task.

ActionTry it

Task asset create

Add an image to a task description as one of its own assets and get back the URL its body should store (`/api/assets/{id}/content`). Send the bytes as `content_base64`, `source_file_id` to copy a Drive file the caller can view, or `source_url` to import a public HTTPS image through the SSRF guard; neither source is referenced afterwards. The type is decided from the bytes and only images are accepted (415 otherwise); SVG uploads are sanitized before storage and refused with 415 when malformed. Stored SVG is sanitized on every read and served inline as image/svg+xml under a restrictive Content-Security-Policy; malformed stored SVG is refused with 404. Drive SVG downloads remain attachments. The bytes count against the container owner's storage (413 past it). The same image added to the same container again returns the asset already held. The asset is never visible in Drive and is readable exactly when the container is.

ActionTry it

Task collaborators add

Share a task with one workspace member: grants `editor` on this task and its subtasks (never on its project) and subscribes them. A projectless task is shared by its creator or assignee; a project task by an editor on that project.

ActionTry it

Task collaborators list

List the collaborators on a task — the people holding `editor` on it (and its subtasks) without a role on its project.

ActionTry it

Task collaborators remove

Revoke a task collaborator's grant. The add-time subscription is left in place — it grants no access on its own.

ActionTry it

Tasks activity

List audit-log activity entries for a task (status changes, assignments, comments, label edits, etc.). Paginated via `limit`/`offset`.

ActionTry it

Tasks batch

Batch-fetch up to 50 tasks by ID. Powers LinkedTaskItem hydration in Docs/Wiki.

ActionTry it

Tasks by key

Resolve a workspace-scoped task key (e.g. `WS-123`) to its task ID. Used by deep links and integrations.

ActionTry it

Tasks delete

Soft-delete a task. Only the creator can delete.

ActionTry it

Tasks export

Export authorized tasks matching the selected filters as CSV (default) or JSON. CSV includes human-readable columns and a task_json column containing the complete public task representation. Owned description images are embedded; an unavailable or malformed owned image refuses the export with its task reference.

ActionTry it

Tasks favorites add

Pin a saved task view or project in your Tasks sidebar. For document, Drive, channel or team favorites, use set_resource_starred.

ActionTry it

Tasks favorites list

List your Tasks-sidebar pins: saved views and projects, not starred documents, Drive items, channels or teams.

ActionTry it

Tasks favorites remove

Unpin a saved task view or project from your Tasks sidebar, matching resource_type and resource_id. For other resource favorites, use set_resource_starred.

ActionTry it

Tasks favorites reorder

Reorder your Tasks-sidebar view/project pins using ordered_ids (favorite-row IDs, top-to-bottom), not resource IDs.

ActionTry it

Tasks inbox count

Count of triage-bucket tasks (untriaged + projects in 'triage' status). Powers the sidebar inbox badge.

ActionTry it

Tasks labels assign

Assign a label to a task. Returns the task's full label list.

ActionTry it

Tasks labels create

Create a workspace task label. Returns 409 if a label with the same name already exists in the group.

ActionTry it

Tasks labels delete

Delete a task label. Existing assignments are removed.

ActionTry it

Tasks labels list

List task labels visible in the workspace, grouped by `group_name`. Without `project_id`, returns workspace-level labels only. With `project_id`, returns workspace-level labels plus labels scoped to that project.

ActionTry it

Tasks labels remove

Remove a label assignment from a task. Returns the task's remaining label list.

ActionTry it

Tasks labels update

Update a task label.

ActionTry it

Tasks pr links

List GitHub pull requests linked to a task (via the integration-links service).

ActionTry it

Tasks relations batch

Batch-fetch every relation type for up to 200 tasks. Powers relation overlays and sweeps.

ActionTry it

Tasks relations create

Create a relation between two tasks. `blocking`/`blocked_by` auto-creates the inverse edge. With `type=duplicate, mark_as_duplicate=true` the source task is cancelled with a system comment.

ActionTry it

Tasks relations delete

Delete a task relation edge. Auto-deletes the inverse edge for blocking/blocked_by pairs.

ActionTry it

Tasks relations list

List edges in the task-relations graph for a task (related, blocking, blocked_by, duplicate).

ActionTry it

Tasks remove subscriber

Remove another user's subscription from a task. Requires task access.

ActionTry it

Tasks sla dashboard

Aggregate SLA metrics for the workspace (compliance rates, avg times, counts per status). Optionally scope to a project.

ActionTry it

Tasks sla thresholds

Get the workspace's SLA thresholds (response + resolution times per priority). Auth-only.

ActionTry it

Tasks subscribed

List task IDs the caller is subscribed to (manual + auto-subscribed via creator/assignee/comment).

ActionTry it

Tasks subscription status

Check whether the current user is subscribed to a task (and the reason if so).

ActionTry it

Tasks subscriptions list

List all users subscribed to a task (with the reason each is subscribed).

ActionTry it

Tasks subtasks

List immediate subtasks of a task (`parent_task_id = :id`).

ActionTry it

Tasks templates delete

Delete a task template. Workspace admins or project admins only.

ActionTry it

Tasks templates get

Get a single task template by ID.

ActionTry it

Tasks templates update

Update a task template. Workspace admins or project admins only.

ActionTry it

Tasks views create

Create a saved task view (filter + layout). Setting `is_shared: true` exposes it to the workspace.

ActionTry it

Tasks views delete

Delete a saved task view.

ActionTry it

Tasks views layout get

Get the caller's layout preferences for a view, or fall back to the view's defaults. `source` indicates which.

ActionTry it

Tasks views layout update

Upsert the caller's layout preferences for a view (per-project scope optional).

ActionTry it

Tasks views list

List task views accessible to the caller (own + shared + system defaults).

ActionTry it

Tasks views update

Update a saved task view (rename, change filters or layout defaults, toggle sharing).

ActionTry it

Teams cancel join request

Cancel your own pending join request for this team.

ActionTry it

Teams get subscription

Get the caller's email-delivery preference for the team. Returns `{team_id, user_id, email_delivery}`.

ActionTry it

Teams join

Join a team. Open teams grant instant membership; request teams create a pending join request; invite teams reject.

ActionTry it

Teams leave

Leave a team. Cannot leave if you're the last admin.

ActionTry it

Teams members list

Paginated member list. Private teams visible only to members or admins.

ActionTry it

Teams members remove

Remove a member. Admin only. Cannot remove the last admin.

ActionTry it

Teams members update role

Change a member's role. Admin only. Cannot demote the last admin.

ActionTry it

Teams requests approve

Approve a join request — adds the user as a member.

ActionTry it

Teams requests deny

Deny a join request.

ActionTry it

Teams requests list

List pending join requests. Admin only.

ActionTry it

Teams searchable

Search teams visible to the caller for the share dialog. Returns the union of public teams and private teams where the caller is a member. Supports case-insensitive name filtering via `q` and a configurable `limit`.

ActionTry it

Teams update subscription

Update the caller's email-delivery preference for the team. Body: `{email_delivery: 'each' | 'daily_digest' | 'weekly_digest' | 'none'}`. `none` is refused on the workspace-wide all-members list, which has no opt-out.

ActionTry it

Transfer ownership

Make another principal owner of a document, spreadsheet, presentation, canvas, Drive item or form. The new owner needs a live explicit share: check list_access and do not re-grant an existing share. The previous owner keeps editor. Wiki and calendars cannot transfer ownership.

ActionTry it

Trash mail thread

Trash all messages in a thread atomically. Moves every message in the thread to the trash folder.

ActionTry it

Unblock sender

Unblock by id or pattern.

ActionTry it

Undo send email

Undo an in-flight send within the undo-send window.

ActionTry it

Unenroll contact from sequence

Permanently remove a contact from a CRM sequence (terminal — sets status to 'unenrolled'). The contact will not receive any further sequence steps. Returns 409 if already in a terminal status. Provide the enrollment ID (not the contact ID — find it via list_sequence_enrollments).

ActionTry it

Unfurl link

Fetch OpenGraph / link-preview metadata for a URL (title, description, image, site name, favicon). Useful for generating rich previews of shared links, or inspecting what a URL would look like when shared in chat. Only http(s) URLs are allowed, and internal/private addresses are blocked.

ActionTry it

Ungroup slide elements

Dissolve a group element on a slide back into independent top-level elements. Children positions are converted from group-relative to absolute coordinates. The group element is removed and its former children become top-level elements on the slide.

ActionTry it

Unprotect range

Remove a protected range from a spreadsheet by its ID. Returns 200 on success, 404 if the range does not exist.

ActionTry it

Unpublish calendar

Revoke the public .ics feed for a calendar, making it private again.

ActionTry it

Unpublish form

Unpublish a form so it stops accepting public responses. Semantic shortcut for PATCH /api/forms/{id} with is_published=false.

ActionTry it

Unsave message

Remove a saved (bookmarked) message from the user's saved list. The message itself is untouched; only the personal bookmark is deleted.

ActionTry it

Untrash email

Restore a trashed email to inbox

ActionTry it

Untrash mail thread

Restore all trashed messages in a thread to inbox. Only affects messages currently in trash.

ActionTry it

Update access

Change an existing named user/team grant on a document, spreadsheet, presentation, canvas, Drive item, form, wiki page, or calendar. id names the resource; exactly one user_id or team_id names the recipient. For the workspace tier use set_visibility and workspaceRole, not the Everyone entry. role and expires_at are set exactly, including shorter expiry.

ActionTry it

Update api key

Update an API key's name, scopes, or rate limit. Requires admin role.

ActionTry it

Update canvas

Update canvas-level metadata (title, preview cover). Use to rename a canvas or set its preview; never touches elements — use the element ops for board content. Coordinates: board units, top-left origin, +x right / +y down. Example: update_canvas({ id: "<boardId>", title: "Renamed board" }).

ActionTry it

Update canvas timer

Control a board's shared brainstorm countdown. Use to time-box a round: start (with duration_ms), pause (banks remaining time), resume (from banked time), or reset (clear). The server stamps `ends_at` from its own clock, so every participant renders the same countdown regardless of local clocks; the timer touches no elements. Coordinates: board units, top-left origin, +x right / +y down (unaffected by the timer). Example: update_canvas_timer({ id: "<boardId>", action: "start", duration_ms: 300000 }) starts a 5-minute countdown.

ActionTry it

Update channel member role

Change a channel member's role to 'admin' or 'member'. Requires channel admin privileges. Use this when the user asks to promote or demote a member in a channel.

ActionTry it

Update chart

Patch a chart's config — type, title, data range, overlay position, or series styling. Only the fields you send are updated; the rest of the chart config is preserved.

ActionTry it

Update conditional format

Update a conditional formatting rule by ID. Partial update: ranges or one canonical rule payload; replacing the kind clears the previous kind.

ActionTry it

Update contact

Update an existing CRM contact's fields. Provide only the fields you want to change. For interrupted sync recovery, read the contact and send expected_updated_at with only remaining changes. A 409 means the contact changed: read again and reconcile; never replay an earlier snapshot over newer values. If the user is currently viewing a contact, use the contact ID from the page context.

ActionTry it

Update contact group

Update an existing contact group's name, color, or sort order. Group name must remain unique within the workspace.

ActionTry it

Update coworker

Update coworker metadata (persona, focus areas, display name, avatar).

ActionTry it

Update crm property definition

Update a custom-property definition's label or select options.

ActionTry it

Update crm view

Update a saved CRM view (rename, change filters, toggle default/shared).

ActionTry it

Update data connector

Update a data connector's name, config, target cells, or refresh schedule.

ActionTry it

Update deal

Update an existing CRM deal's fields. Provide only the fields you want to change. Use this to move a deal to a new stage, update the amount, mark as won/lost, etc. If the user is currently viewing a deal, use the deal ID from the page context.

ActionTry it

Update deal line item

Update a deal line item (quantity, price, discount, name/description). Amount auto-recomputed. If sync_deal_amount defaults true, the deal's total is also refreshed.

ActionTry it

Update deal template

Update a deal template. Providing `line_items` replaces the entire line-item list.

ActionTry it

Update deck settings

Update deck-level settings: theme, aspect ratio, default background. Changing aspect ratio rescales every slide's elements proportionally; changing default background updates slides currently using the old default.

ActionTry it

Update document

Edit an existing document inline. Read the document first (get_document), modify the content, then pass the full updated text — content replaces the entire body. Do NOT create a new document to edit; version history preserves prior states. Accepts Markdown or ProseMirror JSON (HTML tolerated but lossy — drops listed in `import_warnings`). Provide only the fields you want to change.

ActionTry it

Update document page style

Set page-level formatting for a document: margins (PT), page size (letter/A4/legal or {width, height} in PT), orientation (portrait/landscape). 72 PT = 1 inch. These settings control export output (.docx, .pdf). Pass an empty object to reset to defaults.

ActionTry it

Update draft email

Update an existing draft email. Only works on drafts (not sent messages). Use this to refine recipients, subject, or body of a draft across multiple iterations before sending.

ActionTry it

Update event

Update an existing calendar event. Provide only the fields you want to change. Use this to reschedule, change attendees, update the description, or cancel an event. If the user is currently viewing an event, use the event ID from the page context.

ActionTry it

Update form

Update an existing form's title, description, fields, settings, or publish status. Use this when the user asks to edit a form, add/remove fields, publish/unpublish, or change form settings. If the user is currently viewing a form, use the resource ID from page context.

ActionTry it

Update form variant

Update an A/B test variant's name, traffic weight, or active status. Use when the user asks to rename a variant, adjust the traffic split, or pause/resume an experiment.

ActionTry it

Update identity api key

Update name, scopes, or `rate_limit` on the calling user's own API key. Returns the updated key. 404 if the key doesn't belong to the calling user.

ActionTry it

Update mail label

Update a mail label's name, color or sidebar order.

ActionTry it

Update mail rule

Update a mail rule's conditions or actions.

ActionTry it

Update mail template

Update a saved mail template's subject or body.

ActionTry it

Update named range

Update a named range or named expression with either an A1 range or an exact literal Excel expression; optionally rename it with newName. Names are matched case-insensitively. External-workbook expressions are preserved verbatim and remain unresolved.

ActionTry it

Update pipeline

Update a pipeline's name or stages. Providing `stages` replaces the entire stage list — include every stage you want to keep. Reordering is done by the order in the array.

ActionTry it

Update pivot table

Patch a pivot table's config — source range, row/column/value fields, totals toggles, source-tab name. Only the fields you send are updated; the rest of the pivot config is preserved. Pass a `tab` field to move the pivot to a different tab.

ActionTry it

Update product

Update a CRM product's name, price or other fields.

ActionTry it

Update project

Update a project's name, description, icon, or color. Provide only the fields you want to change.

ActionTry it

Update quote

Update a CRM quote. Providing `line_items` replaces the entire line-item list. Totals are auto-recomputed.

ActionTry it

Update resource comment

Update an existing task, wiki, mail-thread or Code comment by its comment ID. content edits text; expected_content checks the original text and rejects stale edits with 409; resolved changes thread resolution. Code content and resolution changes are separate updates. Existing author and resource permissions apply.

ActionTry it

Update role

Update a custom role's name or permissions. Requires admin role.

ActionTry it

Update scheduled message

Edit the content or scheduled send time of a pending scheduled message before it's sent. Fails if the message has already been sent or cancelled. Use this when the user wants to fix a typo in a scheduled message or reschedule it.

ActionTry it

Update scheduler link

Update a scheduler link (rename, change availability, toggle active, etc.).

ActionTry it

Update scoring rule

Update a lead scoring rule (name, field, operator, value, points, is_active).

ActionTry it

Update security settings

Update workspace security settings. Emits a security.updated audit event. Requires admin role. session_timeout_hours takes effect on next login; require_2fa stores the policy flag (enforcement is gated on 2FA implementation).

ActionTry it

Update sequence

Update a sequence (rename, description, toggle active, replace step list). Providing `steps` replaces the entire step list.

ActionTry it

Update settings

Update workspace settings (name, logo, timezone, etc.). Requires admin role. Pass a flat key-value object.

ActionTry it

Update shared drive

Update a shared drive (manager-only).

ActionTry it

Update shared drive member

Update a member role (manager-only).

ActionTry it

Update sheet image

Update editable floating images with cell anchors and CSS pixel geometry. Image src must reference an image asset owned by this sheet.

ActionTry it

Update sheet merges

Replace the complete merged-cell range collection for a sheet tab using zero-based inclusive startRow, startCol, endRow and endCol coordinates. Read the current sheet and retain unrelated entries when changing one merge. An empty merges array clears all merges on that tab.

ActionTry it

Update sheet picture group

Update editable picture groups with cell anchors and CSS pixel geometry. Every leaf references an image asset owned by this sheet; native group transforms use EMU coordinates.

ActionTry it

Update sheet shape

Update editable floating shapes with editable text, cell anchors and CSS pixel geometry.

ActionTry it

Update sheet validation settings

Set worksheet validation prompt suppression without replacing cells, rules, or presentation. Send disablePrompts=null to restore the absent default setting.

ActionTry it

Update sign document

Update a draft signing document.

ActionTry it

Update slicer

Patch a slicer's config — source range, target column, selected values, overlay position, or title. Only the fields you send are updated; the rest of the slicer config is preserved.

ActionTry it

Update slide

Update an existing slide in a presentation. Specify the slide by its 0-based index. You can update the slide properties (background, notes) and/or replace its elements. If the user is currently viewing a presentation, use the presentation ID from the page context.

ActionTry it

Update slide master

Update a master slide's name, background, or elements. Slides using the master resolve the updated elements by reference.

ActionTry it

Update task

Update a task. Status changes to 'done' auto-spawn the next recurrence (when set), trigger CRM activity logging, and emit task.completed events.

ActionTry it

Update team

Update a team's settings (name, slug, description, email, parent, visibility, join policy, posting policy, icon, color). Only team admins or workspace admins can update. If changing parent, validates no cycle in hierarchy. Use this when the user asks to rename a team, move a team under a different parent, or change team settings.

ActionTry it

Update user

Update a member's role, status, or storage quota. Requires admin or owner; the last owner cannot lose ownership.

ActionTry it

Update wiki page

Update an existing wiki page's content, title, icon, or parent. Use this when the user asks to edit a wiki page, update documentation, or move a page to a different parent. If the user is currently viewing a wiki page, use the resource ID from page context.

ActionTry it

Update wiki synced block

Update a synced block's content. All pages embedding this block will reflect the new content. Use this when the user asks to edit shared content or update a reusable snippet.

ActionTry it

Update workspace

Update workspace name or slug. Requires admin role.

ActionTry it

Use mail template

Record template use.

ActionTry it

Use sign template

Create a new draft document from a template, populating fields with placeholder signer roles.

ActionTry it

Users list

List users in the active workspace. Powers @mention pickers, assignee dropdowns, etc. Filterable by q (matches display_name + username, case-insensitive). Limit defaults to 50, hard cap 100. Member-accessible — use this to resolve a name to a user_id when assigning tasks or @mentioning people; the admin list_users tool is admin-gated and 403s for members/coworkers.

ActionTry it

Verify domain

Trigger DNS verification for a workspace domain. Requires admin role.

ActionTry it

Verify domain ownership

Verify custom domain ownership via DNS TXT record. On success, auto-registers with SES to retrieve DKIM/SPF records. Requires admin role.

ActionTry it

Webhooks create

Register a new webhook. Body shape matches `CreateWebhookInput` (url + events + optional description + optional `headers`, e.g. an `Authorization: Bearer …` a receiver requires). Returns the webhook record plus the HMAC signing `secret` (one-time visibility — store it; subsequent reads omit `secret`). Custom header values are likewise write-only — reads carry only `header_names`.

ActionTry it

Webhooks delete

Delete one webhook subscription by id.

ActionTry it

Webhooks deliveries list

List recent delivery attempts (status, response, retries). Paginated via `?limit=` (default 25) and `?offset=` (default 0).

ActionTry it

Webhooks event types

List event types an agent can subscribe to. Includes the `*` wildcard.

ActionTry it

Webhooks get

Get one webhook subscription's config by id.

ActionTry it

Webhooks list

List webhook registrations owned by the caller.

ActionTry it

Webhooks test

Send a test ping payload to the webhook URL.

ActionTry it

Webhooks update

Update a webhook (url, events, description, active, headers). Body shape matches `UpdateWebhookInput`. `headers` replaces the whole custom-header map; `null` or `{}` clears it.

ActionTry it

Wiki database create

Create an inline database on a wiki page. Requires editor role on the host page.

ActionTry it

Wiki database get

Get an inline database with its full row set.

ActionTry it

Wiki database row create

Append a row to an inline database. Requires editor role on the host page.

ActionTry it

Wiki database row delete

Delete a database row.

ActionTry it

Wiki database row update

Update properties or sort order on a database row.

ActionTry it

Wiki database update

Update an inline database's name, schema, or views. Requires editor role on the host page.

ActionTry it

Wiki native backup

Export a separately labeled, digest-bound native Wiki backup containing the complete workspace Wiki graph. This is not DOCX.

ActionTry it

Wiki native restore

Restore a native Wiki backup into its empty source workspace. Preserves spaces, hierarchy, page content, databases, backlinks, synced blocks, permissions, versions, and comments.

ActionTry it

Wiki page asset create

Add an image to a wiki page (its body or its cover) as one of its own assets and get back the URL its body should store (`/api/assets/{id}/content`). Send the bytes as `content_base64`, `source_file_id` to copy a Drive file the caller can view, or `source_url` to import a public HTTPS image through the SSRF guard; neither source is referenced afterwards. The type is decided from the bytes and only images are accepted (415 otherwise); SVG uploads are sanitized before storage and refused with 415 when malformed. Stored SVG is sanitized on every read and served inline as image/svg+xml under a restrictive Content-Security-Policy; malformed stored SVG is refused with 404. Drive SVG downloads remain attachments. The bytes count against the container owner's storage (413 past it). The same image added to the same container again returns the asset already held. The asset is never visible in Drive and is readable exactly when the container is.

ActionTry it

Wiki page backlinks list

List wiki pages that contain `[[link]]` references to this page. Use this to see what pages cite a given page, or to find inbound knowledge links.

ActionTry it

Wiki page children list

List the immediate child pages of a wiki page. Use this to traverse the page tree one level at a time, or to count children before a destructive delete.

ActionTry it

Wiki page database create

Create an inline database on a specific wiki page.

ActionTry it

Wiki page duplicate

Duplicate a wiki page (and optionally its descendants) into a target space + parent. Returns the new top-level page.

ActionTry it

Wiki page export

Export a wiki page to docx, pdf, html, or md. Streams the file with a Content-Disposition attachment header.

ActionTry it

Wiki page permanent delete

Permanently delete a trashed wiki page. Irreversible.

ActionTry it

Wiki page restore

Restore a trashed wiki page and its children.

ActionTry it

Wiki space delete

Delete a wiki space and all of its pages.

ActionTry it

Wiki space get

Get a wiki space by slug, with its full page tree. Supports cursor pagination on `pages`.

ActionTry it

Wiki space member add

Add a user as a direct member of a wiki space with a given role.

ActionTry it

Wiki space member remove

Remove a direct member from a wiki space.

ActionTry it

Wiki space members list

List distinct members of a space — the owner plus everyone with a page-level permission inside it.

ActionTry it

Wiki space update

Update a wiki space. Only the space owner may change settings.

ActionTry it

Wiki trash list

List trashed (soft-deleted) wiki pages in the workspace.

ActionTry it

How the Ambiguous MCP integration works

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

945 actions are available for agents to invoke on your behalf. Every call runs through Ambiguous MCP's own authorization, scoped to the account you connect.

Set up Ambiguous MCP in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

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

  3. 3

    Ask an agent to use Ambiguous MCP in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Ambiguous MCP integration work with Dench?

The Dench Ambiguous MCP integration connects your AI CRM to Ambiguous MCP, so AI agents can work with your Ambiguous MCP 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 Ambiguous MCP via Dench?

The Ambiguous MCP integration currently exposes 945 actions, including Ack mentions activity, Ack thread activity, Add conditional format, Add connected element, Add deal line item, and Add forwarding address. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect Ambiguous MCP to Dench?

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

Is the Ambiguous MCP integration secure?

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

Ambiguous MCP | Dench AI CRM