Skip to content

MCP server for AI agents

Wabot runs a Model Context Protocol server. Once you connect it, an AI agent can create templates, send WhatsApp messages, read replies and build simple automations in your account.

URL https://api.wabot.shop/mcp (Streamable HTTP)
Auth Your Client ID and Client Secret, sent as headers
Rate limit 60 requests per minute per Client ID

Copy your credentials from Developer → Developer Credentials. That page also has a Copy MCP config button.

Open Settings → MCP, paste the following into mcp.json, then restart Cursor.

{
"mcpServers": {
"wabot": {
"url": "https://api.wabot.shop/mcp",
"headers": { "clientid": "<Client ID>", "clientsecret": "<Client Secret>" }
}
}
}

Once connected, ask your agent something like:

  • “List my WhatsApp numbers and approved templates.”
  • “Create a utility template called order_shipped that says ‘Hi {{name}}, your order has shipped.’ and tell me when it’s approved.”
  • “Send the order_shipped template to +91 94002 94110 with name Asha, then wait for her reply.”
  • “Create an automation: when someone sends ‘price’, reply with the price_list template.”
  1. get_account or list_channels gets the whatsappPhoneId.
  2. find_contact, or create_contact if the contact doesn’t exist.
  3. send_template_message for a first message or when more than 24 hours have passed. send_session_message while the 24-hour window is open.
  4. To create a new template, call create_template, then call get_template_status with sync: true until it is APPROVED.
  5. To receive replies, call subscribe_replies for live notifications, or wait_for_reply for a one-off wait.
Tool What it does
get_account Organisation details and connected phone numbers
list_channels Enabled WhatsApp numbers
Tool Parameters
list_templates status?, search?, page?, pageSize?
get_template name
create_template template_name, category, language, whatsappPhoneId, components, categoryChangeAllowed?
get_template_status template_name, sync? (fetch the latest status from Meta first)
update_template template_name, body
Tool Parameters
create_contact contact_number, name?, email?, group_ids?
find_contact phone
send_template_message whatsappPhoneId, to, templateName, receipentName?, variables?, mediaUrl?, documentName?, carouselData?
send_session_message whatsappPhoneId, receipentPhone, message, mediaUrl?, fileType?, fileName?
Tool Parameters
list_recent_chats page?, pageSize?
get_messages contactId? or phone?, since?, page?, pageSize?
wait_for_reply contactId? or phone?, since?, timeoutMs? (2–30 s, default 25 s)
subscribe_replies contactId? or phone? (no filter means all replies)
unsubscribe_replies contactId? or phone? (no filter removes all subscriptions)
list_reply_subscriptions

After subscribe_replies, replies arrive on the session’s event stream as notifications:

{
"method": "notifications/wabot_reply",
"params": {
"contactId": 123,
"phone": "919400294110",
"messageType": "text",
"text": "Thanks",
"waMessageId": "wamid.HBgN…",
"timestamp": "2026-10-01T09:37:05.353Z"
}
}
Tool What it does
list_workflow_triggers, list_workflow_actions Which triggers, conditions and actions you can use
list_workflows, get_workflow Browse existing workflows
preview_workflow_schematic Get a Mermaid diagram of a workflow
create_master_workflow Create an empty workflow
create_simple_autoflow “When a message matches X, send template Y” in one call
append_autoflow_child Add another rule to an existing workflow
create_chained_autoflow A sequence of 2–10 steps that each wait for the previous one
update_simple_autoflow Change the match text, template, delay and other settings
set_workflow_status Turn a workflow or one of its steps on or off

New automations are created inactive. Pass activate: true or call set_workflow_status to turn them on.

Tool What it does
list_whatsapp_flow_categories, list_whatsapp_flow_field_types What you can build
list_whatsapp_flows, get_whatsapp_flow Browse flows
create_whatsapp_flow, update_whatsapp_flow Build a form from a list of fields (drafts only)
publish_whatsapp_flow, deprecate_whatsapp_flow Publish, or retire a flow

Campaigns and broadcast scheduling, campaign analytics, audience segmentation, deleting workflows, and advanced workflow steps (branching, webhooks, agent handoff, code). Use the Wabot app for these.

Problem Fix
Missing credentials / Invalid credentials Check that both headers are set and copied exactly from Developer Credentials
Unauthorized … required_grant: /x Your client is missing that grant. Contact support
“24-hour customer-care window is closed” Send an approved template instead of a session message
Template stuck in PENDING Meta review can take from minutes to hours. Poll get_template_status with sync: true
“Template name already exists” Use a unique name, e.g. offer_20261002_1030
No reply notifications arrive Make sure your client keeps the event stream (GET) open, and call list_reply_subscriptions