Staging-verified; production rolling out. Tool names and arguments are stable — treat the MCP server URL as environment-specific until GA.
Tools by scope
How to read a domain page
Every tool entry on the per-domain pages follows the same layout:1
Scope
The exact capability scope the key must carry. If it’s missing, the call returns
Access token is missing the required scope: <scope>.2
Arguments
A table of argument names, types, and behavior — matched verbatim to the tool signature. Defaults are noted; the account id is never an argument (it’s fixed by the
X-Sapot-Account-Id connection header).3
Returns
The response shape the tool hands back, using the envelope conventions below.
Return-envelope conventions
The tools proxy Sapot Chat’s REST API, so responses follow its shapes. Three patterns cover almost everything:
Notes that trip people up:
payloadis the array of records;metaholds the counts and pagination. Readmetabefore assuming there’s a next page.- Some success responses are empty — deletes,
set_conversation_priority, and an “unassign” all return{}. That’s success, not a silent failure. search_knowledgeis the odd one out: it returns{text_context, entries: […]}— the same retrieval the AI runtime uses.
Page sizes
Pagination is per-domain and fixed server-side:
Paginated tools take a 1-based
page argument; increment it and re-call to walk the pages.
Metering
Only allowed, successful (2xx) calls count against your plan’s per-billing-period action quota. A denied (401/403), not-found, or invalid (422) call consumes nothing. When the quota is exhausted, tools return 429 with Agent action quota exceeded for the current billing period; it resets at the next billing-period renewal.
Boundaries shape two domains
Two domains are deliberately narrowed to honor the locked product boundaries — read Safety & Boundaries before relying on them:- Flow agents are intent-level only. You list, inspect, attach inboxes, and publish — but the Designer graph (
graph_data/graph_snapshots/designer_history) is stripped server-side, and there is no build-from-scratch, export, or import tool. - Campaigns are draft-only. A campaign created or edited via an agent key is forced into a non-sending
draftstate. An agent prepares the blast; a human sends it from the dashboard.
The domains
Conversations
Read, search, and filter conversations; reply, assign, resolve, prioritise, and label. (11 tools)
Contacts
Find, create, update, and label contacts; resolve numeric label ids. (7 tools)
Reports
KPI summaries, single-metric time series, leaderboards, and live counts. (5 tools)
AI Knowledge
Curate FAQs, products, and promos, plus the always-on business profile. (8 tools)
WhatsApp Templates
List, create, update, delete, and sync Meta message templates. (5 tools)
Flow Agents
Operate and publish flow agents at the intent level. (5 tools)
Campaigns
Preview audiences and prepare campaign drafts for a human to send. (5 tools)
Not connected yet? Start with the Quickstart at /ai-agents/quickstart, or read the scope model at /ai-agents/authentication.

