WhatsApp Business API by Wassenger
Server Details
Send and read WhatsApp messages, templates, chats and campaigns through the official Business API.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- wassengerhq/whatsapp-mcp
- GitHub Stars
- 6
- Server Listing
- Wassenger WhatsApp MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 60 tools
A large cluster of tools are explicitly documented as aliases of get_whatsapp_chats actions (get_whatsapp_archived_chats, get_whatsapp_assigned_chats, get_whatsapp_unread_chats, get_whatsapp_chats_by_status/by_date_range/by_contact_type, get_whatsapp_chat_by_id, search_whatsapp_chats_by_name), and export_whatsapp_chats / get_whatsapp_chat_statistics duplicate analyze_whatsapp_chats actions, so an agent has several interchangeable routes to the same data. analyze_whatsapp_chat_messages versus get_whatsapp_chat_messages, and download_whatsapp_file versus download_whatsapp_chat_file, also require close reading to separate. The mega-tools (manage_whatsapp_*) further blur boundaries by hiding many operations behind an action parameter.
Most names follow a snake_case verb_noun pattern (get_whatsapp_chats, send_whatsapp_message, manage_whatsapp_groups), but several deviate: camelCase validatePhoneNumbers and verifyWhatsAppNumberExists break the convention, and health_check/ping are bare nouns. Verb usage also mixes 'manage_' bucket tools with specific verbs and swaps singular/plural nouns (get_whatsapp_chats vs get_whatsapp_chat_by_id). It remains readable but is not a predictable pattern.
60 tools is far beyond a comfortable surface, and a meaningful fraction are redundant convenience aliases rather than distinct capabilities. The domain is genuinely broad (messaging, contacts, groups, channels, campaigns, forms, CRM, team, files), which justifies breadth, but the count could be cut substantially without losing function.
Coverage is deep: CRUD across chats, contacts, groups, participants, channels, labels, departments, team, templates, campaigns, deals, pipelines, web forms, flows and files, plus queue control, device health and phone validation. Minor gaps exist (e.g. no explicit message deletion/edit surface, no webhook management), but core workflows and cleanup/confirm flows are present.
Available Tools
60 toolsanalyze_whatsapp_chat_messagesAInspect
WhatsApp chat message analysis tool. Supports delivery-status lookups and chat export. The 'device' parameter accepts a device ID (24-hex), phone number (E.164), or alias — auto-selected if the account has a single device; otherwise the tool errors with the list of available devices so you can ask the user.
Available actions:
delivery_status: Check delivery and read receipts for specific outbound messages (≤30 days old)
export: Export chat messages in JSON, CSV, or TXT format
Inputs: action (required), chat, device, format, +6 more.
analyze_whatsapp_chatsAInspect
Reports and exports of the chats of a WhatsApp number.
Available actions:
statistics: the team's figures for a period (7 days by default, up to 92): new, resolved and reopened chats, messages received and sent, internal notes, average time to the first reply, to each reply, to resolve and to handle a chat, what was in the inbox at the end of the period, the most used labels and a day-by-day breakdown. Add compareFromDate and compareToDate to compare with an earlier period and get the change in percent. Days are cut at midnight in the account timezone, so for whole days pass local midnights with their offset. Times are in seconds. There is no breakdown per agent or per hour.
export: Export chats in JSON, CSV or TXT, filtered by status and date, paging through as many chats as requested
Use this tool for: weekly reports, response time reviews, backups, and feeding chat lists into another system.
Inputs: action (required), device (required), limit, fields, +7 more.
create_whatsapp_templateAInspect
Create a WhatsApp message template and submit it to WhatsApp for review (WhatsApp Business API numbers only). It works in steps. Call it with whatever the user has given so far: if anything is missing or breaks a WhatsApp rule, it returns needsInput with the exact questions to ask, and nothing is created. When everything is valid it returns a preview and a confirmToken, still without creating anything. Show the preview; only after the user approves, call it again with the same fields plus the confirmToken. Supports text, image, video, document and location headers, body variables ({{1}} or {{first_name}}) with sample values, a footer, quick reply, URL, phone number and copy code buttons, and authentication (one-time code) templates.
Inputs: body, name, device, footer, +7 more.
delete_whatsapp_fileAInspect
Delete an uploaded WhatsApp file permanently. This action cannot be undone and will remove the file from storage. The file will no longer be available for sending in messages.
Inputs: fileId (required).
delete_whatsapp_templateADestructiveInspect
Delete one WhatsApp message template, in one language, from a WhatsApp Business API number. It works in two steps: called without a confirmToken it only reports which template would be deleted and returns a token, writing nothing; the deletion happens on a second call carrying that token, after the user approved it. It never deletes more than the template it reported, and it asks which language when the name exists in several.
Inputs: name, device, language, confirmToken.
delete_whatsapp_web_form_submissionsADestructiveInspect
Delete web form submissions, or cancel a booking: delete (one), delete_many (up to 100 ids), forget_contact (every submission of one contact, the contact fields the forms wrote, and the contact's WhatsApp Forms responses, for an erasure request), or cancel_booking (the appointment a submission booked: the time is offered again, the answers stay; with message, the customer is told in the chat). The first call reports what would be erased or cancelled and a confirmToken; call again with the token once the user approved. Only the account owner's key or an admin can delete; a booking can also be cancelled by the agent who sent its link. For WhatsApp Forms (Meta WhatsApp Flows, native in-chat forms on WhatsApp Business API numbers) use send_whatsapp_flow and list_whatsapp_flows instead.
Inputs: action (required), ids, device, formId, +5 more.
download_whatsapp_chat_fileBInspect
Download the content of a received file from a WhatsApp chat. Returns the file content in the specified format: URL only (default) or base64 encoded content.
Inputs: device (required), fileId (required), outputFormat.
download_whatsapp_fileBInspect
Download the content of an uploaded WhatsApp file. Returns the file content in the specified format: URL only (default) or base64 encoded content.
Inputs: fileId (required), outputFormat.
export_whatsapp_chatsBInspect
Export WhatsApp chats list in various formats for backup, analysis, or reporting purposes.
Same as analyze_whatsapp_chats with action "export".
Inputs: device (required), limit, fields, format, +6 more.
get_whatsapp_archived_chatsBInspect
Retrieve archived WhatsApp chats. Useful for accessing historical conversations and managing chat organization.
Same as get_whatsapp_chats with action "archived".
Inputs: device (required), page, sort, limit, +2 more.
get_whatsapp_assigned_chatsAInspect
Retrieve WhatsApp chats assigned to specific agents or departments. Essential for agent workload management and performance tracking.
Same as get_whatsapp_chats with action "assigned".
Inputs: device (required), page, sort, limit, +2 more.
get_whatsapp_chat_by_idBInspect
Retrieve detailed information about a specific chat using its WhatsApp ID. Includes complete metadata, assignment info, and activity details.
Same as get_whatsapp_chats with action "by_id".
Inputs: chat (required), device (required), fields, verbosity.
get_whatsapp_chat_file_detailsBInspect
Get detailed information about a specific received file from a WhatsApp chat by ID. Returns complete file metadata including sender information, chat context, media details, and download URLs.
Inputs: device (required), fileId (required).
get_whatsapp_chat_messagesAInspect
Retrieve WhatsApp chat messages (both inbound and outbound) for a specific device. Backed by the device-scoped Chat Messages endpoint, which requires a Platform subscription on the target device.
Available actions:
recent: Latest messages in a chat (newest first by default)
search: Text search across messages (within a chat or device-wide)
date_range: Messages in a specific time window
by_sender: Messages sent from a specific phone number or WID
by_type: Messages filtered by type (text, image, video, audio, document, location, contact, etc.)
by_id: Fetch a specific message by its WhatsApp message ID
thread: Get conversation context around a specific message (N before + target + N after)
media: Messages containing media files
The 'device' parameter accepts a device ID (24-hex), phone number in E.164 format, or device alias (e.g., "Sales 2") — pass exactly what the user named in their request. If the account has a single device, omit it and it will be auto-selected. If the account has multiple devices and the user didn't name one, the tool returns an error listing available devices — ask the user which one they mean.
Inputs: action (required), chat, limit, query, +16 more.
get_whatsapp_chatsAInspect
Comprehensive WhatsApp chat retrieval tool supporting all chat operations through a unified action-based interface. Perfect for accessing chat lists, searching conversations, filtering by various criteria, and managing chat data. Supports all WhatsApp chat retrieval operations with consistent formatting.
Available actions:
recent: Most recent chats
unread: Chats with unread messages
by_status: Filter by chat status (pending, active, resolved, archived...)
assigned: Chats assigned to an agent or department, or to anyone
unassigned: Chats nobody is handling yet
by_contact_type: Filter by chat type (chat, group, community, channel)
by_id: One chat by its WhatsApp ID
search: Free text search over phone, name, contact, company, metadata and private notes
archived: Archived chats
by_date_range: Chats by last message, first message or last inbound message date
Every action accepts labels, labelsExclude, status and contactTypes as extra filters. To find leads that went quiet, use by_date_range with activityType "lastInbound" and a toDate: those are the chats where the customer has not written since then.
Inputs: device (required), page, sort, limit, +14 more.
get_whatsapp_chats_by_contact_typeBInspect
Filter WhatsApp chats by contact type (individual users, groups, communities, channels). Useful for analyzing different communication patterns.
Same as get_whatsapp_chats with action "by_contact_type".
Inputs: device (required), page, sort, limit, +1 more.
get_whatsapp_chats_by_date_rangeBInspect
Retrieve WhatsApp chats that were active within a specific date range. Perfect for analyzing conversation patterns and generating reports.
Same as get_whatsapp_chats with action "by_date_range".
Inputs: device (required), page, sort, limit, +3 more.
get_whatsapp_chats_by_statusBInspect
Search and filter WhatsApp chats by their platform status (active, pending, resolved, etc.). Useful for workflow management and chat organization.
Same as get_whatsapp_chats with action "by_status".
Inputs: device (required), page, sort, limit, +1 more.
get_whatsapp_chat_statisticsAInspect
Figures of the team for a period: chat and message volumes, response and resolution times, and what was in the inbox at the end of the period, optionally compared with an earlier period.
Same as analyze_whatsapp_chats with action "statistics".
Inputs: device (required), toDate, fromDate, compareToDate, +1 more.
get_whatsapp_device_detailsAInspect
Retrieve comprehensive detailed information about a specific WhatsApp device using its ID. Returns complete device configuration, session status, metrics, and actionable insights. For WhatsApp Cloud API numbers it includes the health Meta reports: quality rating, messaging limit, payment problems, restrictions and the issues Meta lists with their fix. Use it to find out why messages are not going out.
Inputs: deviceId (required), includeMetrics, includeSettings, includeSessionLogs.
get_whatsapp_devicesBInspect
Comprehensive tool to retrieve WhatsApp devices with flexible filtering options. Supports all device query scenarios: get all devices, filter by status/session status, search by terms, get only active/online devices, etc.
Inputs: page, limit, search, status, +9 more.
get_whatsapp_file_detailsAInspect
Get detailed information about a specific uploaded WhatsApp file by ID. Returns complete file metadata including size, type, format, status, expiration, tags, and download URLs.
Inputs: fileId (required).
get_whatsapp_unread_chatsBInspect
Retrieve WhatsApp chats with unread messages. Essential for managing pending conversations and customer support.
Same as get_whatsapp_chats with action "unread".
Inputs: device (required), page, sort, limit, +1 more.
health_checkBInspect
Comprehensive health check of the MCP server and connected WhatsApp devices.
Inputs: no named parameters.
list_whatsapp_flow_responsesARead-onlyInspect
List what customers answered in a WhatsApp Form (Meta WhatsApp Flow), newest first: who answered, each question's label and value, and when. Takes the form's id from list_whatsapp_flows (not its flowId). Only keys of the account owner or an admin can read answers.
Inputs: form_id (required), to, from, page, +3 more.
list_whatsapp_flowsARead-onlyInspect
List WhatsApp Flows available for a device (WABA). Returns flow id, name, status, categories and entry screen. Use this to find a flow to send.
Inputs: device (required), status.
list_whatsapp_templatesARead-onlyInspect
Retrieve WhatsApp templates for a specific device (approved ones by default). Each template includes its components and the variables that must be filled in to send it. This is required for sending template-based messages.
Inputs: device (required), size, status.
manage_whatsapp_campaign_contactsBInspect
Universal WhatsApp campaign contacts management tool that handles all campaign recipient operations through action-based parameters. Supports add, remove, and search operations for campaign recipients: phone numbers and groups. Essential for WhatsApp campaign recipient management.
add keeps the recipients already on the campaign. On a campaign that sends a template (WhatsApp Cloud API numbers), give every variable its component exactly as on manage_whatsapp_campaigns create: body, header, header_location, button_url_N or button_copy_code_N, with N the buttonIndex that list_whatsapp_templates reports. Such a campaign only reaches phone numbers, not groups. On a campaign from a number linked by QR, each variable key fills the {{ key }} placeholder of the campaign message.
Inputs: action (required), campaignId (required), kind, page, +9 more.
manage_whatsapp_campaignsAInspect
Universal WhatsApp campaign management tool that handles all campaign operations through action-based parameters. Supports search, create, update, start, stop, and delete operations for WhatsApp bulk messaging campaigns. Perfect for comprehensive WhatsApp marketing automation.
What a campaign sends depends on the number. Its connector, reported by get_whatsapp_devices and health_check, says which kind it is: cloud for WhatsApp Cloud API, web for a number linked by QR.
WhatsApp Cloud API (WABA) numbers: a pre-approved template is required, and it only reaches phone numbers, never groups. Pass template { name, language } and give each recipient the values its variables need. Read the template first with list_whatsapp_templates: every variable it reports has a location (header, body or buttons) and, for buttons, a buttonIndex starting at 0. Send each value with its component, and for a button variable use button_url_N or button_copy_code_N with that index.
Numbers linked by QR: a message, optionally with a file. Personalize it with placeholders: {{ name }} is the recipient's name, {{ phone }} their number, and each key in a recipient's variables fills {{ key }}. For example message "Hi {{ name }}, your order {{ order }} has shipped" with variables [{ key: "order", value: "A-1043" }]. Write keys and placeholders in lowercase. A placeholder a recipient has no value for disappears from their message; {{ order | on its way }} prints the text after the bar instead.
To send it: create with activate true, which needs settings.date and at least one recipient, or create first and then start, which asks for the same two. If activation fails during create, the campaign is deleted and you have to create it again.
Recipients: pass them on create, up to 2000 per request. To add or remove them afterwards use manage_whatsapp_campaign_contacts. The total a campaign can hold depends on the plan, from 100 on trial to 2000.
What it will cost: before launching a template campaign, estimate_cost gives the price Meta lists per message for each country, in costs: one line per country (or dialling code) with the category of the template and how many messages go there.
Payment problems: when Meta reports one on a Cloud API number's WhatsApp Business account, the templates it sends are rejected (error 131042). A Cloud API number that needs reconnecting stops the same way, because its messages fail until it is reconnected. The three ways to send a campaign (create with activate true, update with activate true, and the start action) then refuse, say why and write nothing. Tell the user, and only repeat the call with confirmPaymentIssue true if they say the payment is already fixed or want to send anyway.
Things that do not undo: delete removes a campaign for good, and stop does not recall messages already handed to WhatsApp.
Inputs: action (required), file, form, name, +18 more.
manage_whatsapp_channel_messagesCInspect
Comprehensive WhatsApp channel message management tool for retrieving and managing channel content. Perfect for monitoring channel activity and accessing channel message history.
Available actions:
get: Get recent messages from a specific channel with filtering options
Inputs: action (required), device (required), channelId (required), page, +7 more.
manage_whatsapp_channelsBInspect
Comprehensive WhatsApp channel management tool supporting all channel operations. Perfect for managing channel lifecycle, membership, and content. Supports all WhatsApp channel operations through a unified action-based interface.
Available actions:
list: List and retrieve channels with filtering options
get: Get detailed information about a specific channel
create: Create new channels with optional profile images
update: Update existing channel information (name, description)
search: Search for public channels by category and keywords
join: Join/follow channels via invite code or URL
leave: Leave/unfollow channels
delete: Delete channels (alias for leave)
update_image: Update channel profile images
Inputs: action (required), device (required), name, page, +18 more.
manage_whatsapp_chatAInspect
Change a WhatsApp chat in the team inbox without sending anything to the customer: hand it to a teammate or department, add or remove labels, resolve or reopen it, leave an internal note, or mark it read or unread. The customer sees none of it. Your team sees the change, and your account's chat webhooks are notified.
Available actions:
assign: give the chat to agentId, agentEmail or departmentId (departments need a plan that includes them). A pending chat becomes active.
unassign: take the chat off its agent and department. It goes back to pending.
add_labels / remove_labels: the labels must already exist on the number, create them first with manage_whatsapp_labels. The chat keeps any label you do not mention.
resolve: close the conversation.
reopen: back to active if someone owns the chat, pending otherwise.
add_note: private note only your team can see (2 to 6000 characters). authorId writes it as that teammate.
mark_read / mark_unread: marking a resolved chat as unread reopens it.
To write to the customer, use send_whatsapp_message instead.
Inputs: chat (required), action (required), device (required), note, +5 more.
manage_whatsapp_contact_actionsBInspect
Manage WhatsApp contact blocking and unblocking operations. Handle contact blocking status with action-based operations to control message reception from specific contacts. Contacts are identified by phone number in E.164 format, not by WhatsApp ID.
Inputs: action (required), device (required), contacts (required).
manage_whatsapp_contactsCInspect
Comprehensive WhatsApp contacts management with action-based operations. Supports listing, searching, creating, updating, deleting contacts, bulk operations, and metadata management. All contact operations including CRUD, filtering, pagination, and metadata handling in one unified tool.
Inputs: action (required), device (required), crm, wid, +48 more.
manage_whatsapp_deal_notesAInspect
Comprehensive WhatsApp deal note management tool supporting all note operations. A note is what somebody wrote on a sales deal; a note that carries a due date IS a task. Perfect for managing sales notes, tracking tasks, and attaching files to deals. Supports both standalone notes and comments nested under deal history events.
Available actions:
list: Retrieve all notes for a deal with filtering and metadata
create: Create a new note (optionally as a task with due date, or as a comment on a deal event)
update: Update note text, due date, completion status, or file attachments
delete: Remove a note (requires confirmation)
Note: The Sales Funnel API is available on the Platform Professional subscription and above. Write endpoints return HTTP 403 when the account's plan does not include it; read endpoints are deliberately NOT plan-gated. Restricted agents (plain agent role) only ever receive their own deals, regardless of filters.
Inputs: action (required), done, skip, text, +7 more.
manage_whatsapp_dealsAInspect
Comprehensive WhatsApp sales funnel deal management tool. A deal is one sales opportunity tied to a WhatsApp contact, sitting in one stage of one pipeline. Supports listing, retrieving, creating, updating, archiving, moving between stages, linking to chats, and fetching event history.
Available actions:
list: Retrieve deals with rich filtering (pipeline, stage, status, agent, contact, device, stalled, chatStatus, unread, updatedAfter/Before, pagination)
get: Retrieve a single deal by ID
create: Create a new deal (requires pipeline, device, contactWid)
update: Update deal fields (title, amount, currency, agent, department) - stage moves are NOT here, use move_stage
archive: Archive a deal (frees the contact's open-deal slot, preserves as sales history)
move_stage: Move a deal to another stage (requires previousStage for atomic compare-and-swap)
link_chat: Link a deal to a WhatsApp conversation by contactWid
events: Fetch deal event history (limit, skip)
Important notes:
move_stage requires previousStage - the stage the client last saw. The server performs an atomic compare-and-swap and answers 409 when it no longer matches. Always read the deal first (action: 'get') and pass its current stage value.
Only ONE open deal may exist per contact per pipeline. The API answers 409 otherwise, and the check spans the @c.us/@lid identity equivalence.
Restricted agents (plain agent role) only ever see their own deals, regardless of filters.
Write operations (create, update, archive, move_stage, link_chat) require the Professional plan or above. Read operations (list, get, events) are not plan-gated.
Inputs: action (required), card, page, size, +24 more.
manage_whatsapp_departmentsBInspect
Comprehensive WhatsApp department management tool supporting all department operations. Perfect for organizing team structure, managing agent assignments, and customizing department appearance. Supports all WhatsApp department operations through a unified action-based interface.
Available actions:
list: List and retrieve all departments with complete information
create: Create new departments with agents, colors, and icons
update: Update existing department information and agent assignments
delete: Delete departments (removes department but preserves agent assignments)
Inputs: action (required), device (required), icon, name, +4 more.
manage_whatsapp_group_participantsCInspect
Universal WhatsApp group participants management tool that handles all participant operations through action-based parameters. Supports add, remove, promote, demote, and approval management operations. Essential for WhatsApp group moderation.
Inputs: action (required), device (required), groupId (required), all, +2 more.
manage_whatsapp_groupsCInspect
Universal WhatsApp group management tool that handles all group operations through action-based parameters. Supports search, create, update, join, leave, and invite management operations. Perfect for comprehensive WhatsApp group administration.
Inputs: action (required), device (required), url, code, +14 more.
manage_whatsapp_labelsBInspect
Comprehensive WhatsApp label management tool supporting all label operations. Perfect for organizing conversations with color-coded categories and managing chat organization systems. Supports both WhatsApp Business and platform-specific labels.
Available actions:
list: Retrieve all available labels with filtering and metadata
create: Create new labels with custom colors and descriptions
update: Update existing label colors and descriptions
delete: Remove labels and cleanup associated chats
Inputs: action (required), device (required), name, color, +5 more.
manage_whatsapp_message_interactionsCInspect
Manage WhatsApp message interactions including replies, forwards, reactions, and poll voting. Handle all message interaction operations with action-based approach for comprehensive message engagement functionality.
Inputs: chat (required), action (required), vote, agent, +9 more.
manage_whatsapp_pipelinesAInspect
Comprehensive sales pipeline management tool for the WhatsApp sales funnel (CRM). A pipeline is a sales board: an ordered list of stages that deals move through, optionally fed by specific WhatsApp numbers. Use it to set up sales boards, inspect their configuration and read their headline numbers.
Available actions:
list: Retrieve all sales pipelines of the account, optionally only those fed by one device
get: Retrieve a single pipeline with its full stage configuration
create: Create a new pipeline with stages, entry rules and behaviour settings
update: Update pipeline properties, stages, lost reasons or settings
delete: Remove a pipeline (refused with 409 while it still holds open deals)
summary: Per-stage deal counts and open amount totals for the board, plus won and lost totals for the last 30 days
Stage ordering matters: a pipeline requires at least one open, one won and one lost stage, and the won and lost stages must come AFTER all the open ones, because a deal advances to the next open stage by position. When no stages are supplied on create, a sensible default ladder is seeded.
Note: the sales funnel is available on the Platform Professional subscription and above. Write operations answer 403 on a plan without it, while reads stay available so an account that downgrades keeps access to its funnel data.
Inputs: action (required), icon, name, color, +10 more.
manage_whatsapp_queueAInspect
Comprehensive WhatsApp queue management tool supporting all queue operations. Perfect for monitoring queue health, controlling message delivery flow, and performing bulk message operations. Supports all WhatsApp queue operations through a unified action-based interface.
Available actions:
get_status: Get comprehensive queue statistics and status information
update_status: Update queue processing status (pause/active/reject/freeze) with optional force delivery
delete_messages: Delete queued messages with flexible filtering options. A call with no messageIds, phoneNumbers, groupIds or dateRange would delete every queued and scheduled message, so it is refused unless confirmEmptyQueue is true
Inputs: action (required), device (required), force, status, +3 more.
manage_whatsapp_statusBInspect
Comprehensive WhatsApp status management tool supporting all status operations. Perfect for managing status lifecycle, publishing immediate or scheduled content, and retrieving status history. Supports all WhatsApp status operations through a unified action-based interface.
Available actions:
get: Search and retrieve status history with comprehensive filtering
publish: Publish immediate status updates with text, images, or videos
schedule: Schedule status updates for future publishing with advanced timing
Inputs: action (required), ack, wid, chat, +26 more.
manage_whatsapp_teamAInspect
Comprehensive WhatsApp team management tool supporting all team operations. Perfect for managing team member lifecycle, device access, and role assignments. Supports all WhatsApp team operations through a unified action-based interface.
Available actions:
search: Search and list team members with filtering options
get: Get detailed information about a specific team member by ID
create: Create a new team member and grant them access to a WhatsApp device (requires device, email, displayName, password, role and color)
update: Update an existing team member's name, email, password, role or color
delete: Delete one or more team members from the account, choosing what happens to their assigned chats
grant_access: Grant an existing team member access to a WhatsApp device
revoke_access: Revoke a team member's access to a WhatsApp device, choosing what happens to their assigned chats
Notes:
New team members are always created against a specific WhatsApp device and are granted access to it immediately.
grant_access and revoke_access operate on a single team member at a time.
delete, and revoke_access when chatAction is "reassign", require reassignTo.
Inputs: action (required), ids, page, role, +20 more.
manage_whatsapp_web_form_appearanceAIdempotentInspect
How the web forms of one WhatsApp number look: business name, description, accent colour, footer, privacy, terms and website links, and the logo. Actions: get, update, set_logo (an https URL or a base64 PNG/JPEG up to 1 MB), remove_logo. Changes reach open forms within about a minute.
On WhatsApp Cloud API numbers, a form goes out as a template outside the 24-hour window, and campaigns there only send templates: link_templates lists the number's templates whose URL button opens a form link (with that button's index), and create_link_template creates one (UTILITY, one URL button) and submits it to WhatsApp for review. Then send it with send_whatsapp_web_form and its template argument. For WhatsApp Forms (Meta WhatsApp Flows, native in-chat forms on WhatsApp Business API numbers) use send_whatsapp_flow and list_whatsapp_flows instead.
Inputs: action (required), device (required), url, name, +10 more.
manage_whatsapp_web_form_linksADestructiveInspect
Manage web form links: one link per chat, bound to the published version of a form. Actions: create (a link without sending it: the token and url are returned once), list (the links of a form, by state: created, sent, opened, started, submitted, expired, revoked), get, revoke, renew (move the expiry forward from now), chat (the web forms sent in one chat, with their answers). revoke answers a preview and a confirmToken first. To send a form as a message, use send_whatsapp_web_form. For WhatsApp Forms (Meta WhatsApp Flows, native in-chat forms on WhatsApp Business API numbers) use send_whatsapp_flow and list_whatsapp_flows instead.
Inputs: action (required), to, chat, from, +14 more.
manage_whatsapp_web_formsADestructiveInspect
Build and manage web forms: forms customers fill in the browser from a short link sent in a WhatsApp chat, with the answers coming back as structured submissions. For WhatsApp Forms (Meta WhatsApp Flows, native in-chat forms on WhatsApp Business API numbers) use send_whatsapp_flow and list_whatsapp_flows instead.
Actions: list, get, create (blank, from a template, or from a definition), update (name, settings, numbers, or the whole draft), edit (operations on the draft, as { type: "addBlock", step, blockType, label, ... }), publish, archive, restore, duplicate, delete, versions, version (one published version with its answers JSON Schema), templates (the gallery), metrics, set_og_image (your own link preview image: an https URL or a base64 PNG/JPEG up to 1 MB, cropped to 1200×630), remove_og_image (back to the automatic one), set_public (a standing public link anyone can open, waform.app/m/..., bound to one number: for ads, bio links and QR codes), unset_public (turn it off).
Edits change the draft only: a published form keeps serving its live version until the next publish. publish, archive, delete and an edit with confirm=true answer a preview and a confirmToken first: show the preview to the user and call again with the token once they approve. To send a form, use send_whatsapp_web_form.
Inputs: action (required), to, ops, url, +28 more.
manage_whatsapp_web_form_submissionsARead-onlyIdempotentInspect
Read what customers answered in web forms, newest first. Actions: list (filters: form, number, chat, contact, phone, agent, source, dates), get (one submission with every answer), export (csv or json, up to 10,000 rows; when the result is too large to show, it answers the count so you can narrow the range). Answers are personal data: show only what the user asked for. Answers marked sensitive are left out. For WhatsApp Forms (Meta WhatsApp Flows, native in-chat forms on WhatsApp Business API numbers) use send_whatsapp_flow and list_whatsapp_flows instead. (their answers: list_whatsapp_flow_responses)
Inputs: action (required), to, ids, chat, +16 more.
pingAInspect
Basic ping test to check MCP server connectivity and response time. Returns server status and timestamp.
Inputs: message.
search_whatsapp_chat_filesBInspect
Search and list received files from WhatsApp chats (inbound files). These are media files that were sent to your WhatsApp number by other users. Supports filtering by chat, file type, date range, and more.
Inputs: device (required), chat, flow, page, +6 more.
search_whatsapp_chats_by_nameBInspect
Search for WhatsApp chats by contact name, group name, phone number, company, metadata or private notes. Perfect for quickly finding specific conversations.
Same as get_whatsapp_chats with action "search".
Inputs: device (required), page, limit, query, +1 more.
search_whatsapp_outbound_filesAInspect
Search and list uploaded WhatsApp files with advanced filtering. Returns outbound files that have been uploaded to the platform for sending as media messages. Supports extensive filtering by filename, file type, size, creation date, tags, and more.
Inputs: ext, kind, mime, page, +12 more.
send_whatsapp_flowAInspect
Send a published WhatsApp Form (Meta WhatsApp Flow) to a chat as a native interactive message: one message instead of asking question after question. Only works within the 24h customer-service window; to start a conversation, send a template whose button opens the form. Pass a token to match the answers to your own record (it comes back in the message:flow:response webhook), and data to prefill the form.
Inputs: cta (required), phone (required), device (required), flow_id (required), +7 more.
send_whatsapp_messageAInspect
Comprehensive WhatsApp message sending with action-based operations. Supports all message types including text, media, location, contact, poll, event messages, with scheduling, live delivery, expiration, agent messaging, and template support. All message sending operations unified in one tool.
Scheduling: pass exactly one of deliverAt, delay or delayTo on the text, media, template, agent or scheduled actions. Leaving all three out sends the message right away. On WhatsApp Cloud API (WABA) numbers a plain text, media or agent message still needs the customer to have written within the last 24 hours at delivery time, so a reminder that lands later than that must use the template action.
Inputs: chat (required), action (required), poll, agent, +19 more.
send_whatsapp_web_formAInspect
Send a published web form to a WhatsApp chat as a message with a short link. The link is minted for that chat only and is put where the message says {{form.url}}, or added at the end. The customer's answers arrive as a submission (see manage_whatsapp_web_form_submissions) and in the form:submitted webhook. For WhatsApp Forms (Meta WhatsApp Flows, native in-chat forms on WhatsApp Business API numbers) use send_whatsapp_flow and list_whatsapp_flows instead.
On WhatsApp Cloud API numbers a free-text message needs the customer to have written within the last 24 hours. Outside that window pass template: an approved template whose URL button opens a form link (list or create one with manage_whatsapp_web_form_appearance, actions link_templates and create_link_template). Pass an idempotencyKey: a retry with the same key is refused instead of sending the form twice.
Inputs: formId (required), chat, phone, device, +7 more.
update_whatsapp_file_metadataCInspect
Update metadata and properties of an uploaded WhatsApp file. You can modify filename, tags, expiration time, access permissions, format, and reference ID to better organize and manage your files.
Inputs: fileId (required), tags, format, message, +4 more.
upload_whatsapp_file_from_urlBInspect
Upload a file from a remote URL to the WhatsApp platform for use in media messages. The file will be downloaded from the provided URL and stored securely. Returns the uploaded file details including ID for use in message sending.
Inputs: url (required), tags, format, filename, +3 more.
validatePhoneNumbersBRead-onlyInspect
Validates the format of given phone numbers according to E.164 standard and checks their potential validity. Can validate up to 500 phone numbers at once.
Inputs: phoneNumbers (required).
verifyWhatsAppNumberExistsBInspect
Checks if a given phone number is associated with an active WhatsApp account.
Inputs: phoneNumber (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Send WhatsApp messages and templates, manage chats, contacts, broadcasts and AI agents.
Send WhatsApp messages from your own number, read the replies and send login codes.
Send WhatsApp messages from your own numbers, read and answer chats, and send sign-in codes.
WhatsApp Business inbox for AI apps: read and answer chats, run campaigns, deploy automations.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables AI agents and tools to send and manage WhatsApp messages, media, statuses, and scheduled sends across multiple linked devices.MIT- AlicenseNot gradedqualityDmaintenanceEnables interaction with WhatsApp Business tools and services through a unified API.2MIT
- AlicenseAqualityBmaintenanceRead WhatsApp chats and messages, and send or schedule messages, from your own WhatsApp number through the Blueticks API.91,047 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables authenticated MCP clients to manage multiple WhatsApp Business numbers through Meta's official Cloud API, including webhook-backed contact and conversation search, message history, and sending text, templates, or media within policy limits.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.