WATI MCP server
23 operations0 webhooks
WhatsApp messaging with WATI - manage contacts, read conversations and their messages, send text, template and file messages, and read templates, channels, campaigns, segments and webhook subscriptions.
Try WATI with your agent
Connect WATI, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in WATI on my account, then run one read-only example and show me the result.
WATI tools and triggers
Tools are what your agent can do in WATI through Corsair's MCP server. Triggers are the WATI events a routine can start from.
Contacts
- CountRead-only
Count the contacts on the workspace
contacts.count
- CreateWrite
Add a contact by WhatsApp number, with a name and custom attributes as name/value pairs
contacts.create
- DeleteDestructive
Remove a contact from the workspace (WATI documents this as a soft delete, not a physical erasure)
contacts.delete
- GetRead-only
Read one contact by wa_id or phone number, including custom attributes and opt-in state
contacts.get
- ListRead-only
Page through contacts, 100 per page at most
contacts.list
Broadcasts
- GetRead-only
Read one campaign
broadcasts.get
- ListRead-only
List campaigns with their delivery counts
broadcasts.list
- RecipientsRead-only
Read per-recipient delivery outcomes for a campaign
broadcasts.recipients
Messages
- Send FileWrite
Send a file from a public URL, with an optional caption
messages.sendFile
- Send TemplateWrite
Send an approved template with bound placeholders, optionally as a named campaign; the only route outside the service window
messages.sendTemplate
- Send TextWrite
Send a free-text message, which only works inside the 24-hour service window
messages.sendText
Segments
- EvaluateRead-only
Evaluate a segment to see how many contacts match, without saving anything
segments.evaluate
- GetRead-only
Read one saved segment
segments.get
- ListRead-only
List saved segments
segments.list
Webhooks
- DeleteDestructive
Delete a webhook subscription, which stops delivery to that URL
webhooks.delete
- GetRead-only
Read one webhook subscription and its event list
webhooks.get
- ListRead-only
List webhook subscriptions; creating one still needs the V2 route, which this plugin does not wrap
webhooks.list
Conversations
- ListRead-only
List conversations newest first, filtered by channel type or channel
conversations.list
- MessagesRead-only
Read the messages in one conversation; the target is a wa_id, phone number or conversation ID, not a bare contact ID
conversations.messages
Templates
- GetRead-only
Read one message template and its components
templates.get
- ListRead-only
List the message templates with their approval status
templates.list
Account
- CreditsRead-only
Read the workspace messaging credit balance
account.credits
Channels
- ListRead-only
List the channels connected to the workspace
channels.list
Connect WATI to Claude, ChatGPT or Cursor
- 1
Connect WATI in Corsair
Add your WATI API key once in Corsair. Corsair stores the credential encrypted and makes the WATI API calls for your agent, so it never goes into a prompt or a config file. Connect WATI
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs WATI. On a ChatGPT personal plan, connect WATI here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. In the default Cautious mode, WATI's read and write operations run right away and its 2 destructive operations wait for your approval. Strict mode asks before every write and refuses destructive operations, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/wati, add the WATI plugin, and connect with an API key. Then call methods like corsair.wati.api.account.credits() from your app. Corsair keeps each tenant isolated.
Yes. WATI requires an API key from your WATI account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit WATI, GitHub, Notion, Stripe, and the rest. Trigger WATI from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for WhatsApp messaging with WATI - manage contacts, read conversations and their messages, send text, template and file messages, and read templates, channels, campaigns, segments and webhook subscriptions. Common builds include sync jobs, admin tooling, and agents that call WATI APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per WATI API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/wati in the open repo. When WATI ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your WATI data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store WATI data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put WATI on a link in Strict mode and every write waits for your approval, while destructive actions are refused. The default Cautious mode asks only before the 2 destructive WATI operations. You can change a link's mode at hub.corsair.dev/me.