WhatsApp Business API by Wassenger
REMOTE · API.WASSENGER.COM
Send and read WhatsApp messages, templates, chats and campaigns through the official Business API.
Available components
Last scanned (13 hours ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Communication
Recent critical change
Authorization (27 Oct 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_whatsapp_template). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability72
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 16614 tokens (~307/item across 54 items; 54 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety81
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_whatsapp_message" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
- Tool “manage_whatsapp_queue” rewrote its description, which is the text the model reads security
- “manage_whatsapp_message_interactions” added an optional parameter “idempotencyKey” cosmetic
- “manage_whatsapp_queue” added an optional parameter “confirmEmptyQueue” cosmetic
- “send_whatsapp_flow” added an optional parameter “idempotencyKey” cosmetic
- “send_whatsapp_message” added an optional parameter “idempotencyKey” cosmetic
- 28 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 27 Oct 26 +30
- Authorization: Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_whatsapp_template). critical
- Transport: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Destructive annotations: 25 functional
- First check of Schema quality: fail functional
- First check of Schema quality: good functional
- First check of Tool coverage: 100 functional
- 25 Oct 26 33
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://api.wassenger.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.wassenger.com | CN=WR3,O=Google Trust Services,C=US | 23 Sept 2026 | 22 Dec 2026 | RSA 2048 | SHA256-RSA | 554549955820bcbc1023f3c7614a8a94 |
| SANs: api.wassenger.com | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.wassenger.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| wassenger.com. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.wassenger.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.wassenger.com/mcp | HTTPS enforced | 301 | https://api.wassenger.com:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_whatsapp_chat_messages ~297
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
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform for WhatsApp message analysis operations |
| chat | string | – | WhatsApp chat ID (required for export) |
| device | string | – | Target WhatsApp device — accepts device ID (24-hex), phone number in E.164 format, or device alias. Optional: if the account has a single device, it is auto-selected; otherwise specify which one. |
| format | string | – | Export format |
| fromDate | string | – | Export period start date |
| includeMedia | boolean | – | Include media file information in export |
| includeMetadata | boolean | – | Include full message metadata in export |
| maxMessages | number | – | Maximum messages to export (paginated under the hood) |
| messageIds | array | – | Message IDs to check status for (required for delivery_status, max 20) |
| toDate | – | – | Export period end date |
No output schema declared.
No examples provided.
analyze_whatsapp_chats ~458
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Chat analysis action to perform |
| compareFromDate | string | – | Statistics only: start of an earlier period to compare with. Requires compareToDate |
| compareToDate | string | – | Statistics only: end of the earlier period to compare with |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fields | array | – | Explicit dot-path allowlist for the json format. Overrides verbosity when set. |
| format | string | – | Export format |
| fromDate | string | – | Start of the period, e.g. 2026-09-11T00:00:00+02:00. Statistics: defaults to 7 days before toDate. Export: only chats whose last message is after this date |
| limit | number | – | Maximum number of WhatsApp chats to export (max 1000, fetched in pages of 500) |
| status | array | – | Export only: filter by chat status |
| toDate | string | – | End of the period. Statistics: defaults to now. Export: only chats whose last message is before this date |
| verbosity | string | – | Response detail level for the json format |
No output schema declared.
No examples provided.
create_whatsapp_template ~491
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.
| Name | Type | Req | Description |
|---|---|---|---|
| authentication | object | – | Options for AUTHENTICATION templates only |
| body | string | – | Message body, up to 1024 characters. Mark per-message values with {{1}}, {{2}} or named variables like {{first_name}}; never at the very start or end, and never next to each other. Not used for AUTHE… |
| bodyExamples | object | – | One realistic sample value per body variable, keyed by the variable: {"1": "Maria"} or {"first_name": "Maria"}. Ask the user for them; never invent them. |
| buttons | array | – | Optional buttons: up to 10 in total, at most 2 URL, 1 PHONE_NUMBER and 1 COPY_CODE, with quick replies grouped together |
| category | string | – | MARKETING (promotions and offers), UTILITY (order, account or appointment updates) or AUTHENTICATION (one-time codes) |
| confirmToken | string | – | Token returned with the preview. Pass it only after the user approved that exact preview. |
| device | string | – | WhatsApp Business API device ID (24 hex characters) that will own the template. Use get_whatsapp_devices to find it. |
| footer | string | – | Optional footer, up to 60 characters, without variables |
| header | object | – | Optional header shown above the body |
| language | string | – | WhatsApp language code of the template text, e.g. en_US, es, pt_BR |
| name | string | – | Template name: lowercase letters, numbers and underscores, e.g. order_ready |
No output schema declared.
No examples provided.
delete_whatsapp_file ~58
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | string | yes | File ID (24 character hexadecimal string) |
No output schema declared.
No examples provided.
delete_whatsapp_template ~186
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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmToken | string | – | Token returned with the confirmation. Pass it only after the user approved deleting that exact template. |
| device | string | – | WhatsApp Business API device ID (24 hex characters) that owns the template |
| language | string | – | Language code of the template to delete, e.g. es or en_US. Required when the name exists in several languages. |
| name | string | – | Name of the template to delete |
No output schema declared.
No examples provided.
download_whatsapp_chat_file ~103
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.
| Name | Type | Req | Description |
|---|---|---|---|
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fileId | string | yes | File ID (24 character hexadecimal string) |
| outputFormat | string | – | Download format: url (download URL only) or base64 (encoded file content) |
No output schema declared.
No examples provided.
download_whatsapp_file ~79
Download the content of an uploaded WhatsApp file. Returns the file content in the specified format: URL only (default) or base64 encoded content.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | string | yes | File ID (24 character hexadecimal string) |
| outputFormat | string | – | Download format: url (download URL only) or base64 (encoded file content) |
No output schema declared.
No examples provided.
export_whatsapp_chats ~276
Export WhatsApp chats list in various formats for backup, analysis, or reporting purposes. Same as analyze_whatsapp_chats with action "export".
| Name | Type | Req | Description |
|---|---|---|---|
| compareFromDate | string | – | Statistics only: start of an earlier period to compare with. Requires compareToDate |
| compareToDate | string | – | Statistics only: end of the earlier period to compare with |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fields | array | – | Explicit dot-path allowlist for the json format. Overrides verbosity when set. |
| format | string | – | Export format |
| fromDate | string | – | Start of the period, e.g. 2026-09-11T00:00:00+02:00. Statistics: defaults to 7 days before toDate. Export: only chats whose last message is after this date |
| limit | number | – | Maximum number of WhatsApp chats to export (max 1000, fetched in pages of 500) |
| status | array | – | Export only: filter by chat status |
| toDate | string | – | End of the period. Statistics: defaults to now. Export: only chats whose last message is before this date |
| verbosity | string | – | Response detail level for the json format |
No output schema declared.
No examples provided.
get_whatsapp_archived_chats ~148
Retrieve archived WhatsApp chats. Useful for accessing historical conversations and managing chat organization. Same as get_whatsapp_chats with action "archived".
| Name | Type | Req | Description |
|---|---|---|---|
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fromDate | string | – | Start date (for by_date_range and archived actions) |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| sort | string | – | Result order. Defaults to the API order (most recent activity first) |
| toDate | – | – | End date (for by_date_range and archived actions) |
No output schema declared.
No examples provided.
get_whatsapp_assigned_chats ~151
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".
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | – | Filter by assigned agent ID (for assigned action) |
| departmentId | string | – | Filter by assigned department ID (for assigned action) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| sort | string | – | Result order. Defaults to the API order (most recent activity first) |
No output schema declared.
No examples provided.
get_whatsapp_chat_by_id ~190
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".
| Name | Type | Req | Description |
|---|---|---|---|
| chat | string | yes | WhatsApp chat ID (e.g., 1234567890@c.us for phone numbers, 123456789000000000@g.us for groups, 123456789000000@newsletter for WhatsApp channels) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fields | array | – | Explicit dot-path allowlist, e.g. ['id','name','contact.phone','unreadCount']. Overrides verbosity when set. |
| verbosity | string | – | Response detail level: summary = curated high-signal fields (default, token-lean); standard = broader set; full = complete chat objects (escape hatch). |
No output schema declared.
No examples provided.
get_whatsapp_chat_file_details ~81
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.
| Name | Type | Req | Description |
|---|---|---|---|
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fileId | string | yes | File ID (24 character hexadecimal string) |
No output schema declared.
No examples provided.
get_whatsapp_chat_messages ~710
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform for WhatsApp message retrieval operations |
| chat | string | – | WhatsApp chat ID. Required for all actions except by_id and search (which accepts device-wide search when chat is omitted) |
| contextAfter | number | – | Messages after target message (thread action) |
| contextBefore | number | – | Messages before target message (thread action) |
| device | string | – | Target WhatsApp device — accepts device ID (24-hex), phone number in E.164 format, or device alias. Optional: if the account has a single device, it is auto-selected; otherwise specify which one. |
| fields | array | – | Explicit dot-path allowlist, e.g. ['id','date','flow','body']. Overrides verbosity when set. |
| fromDate | string | – | Lower bound of the date range (maps to REST `after`) |
| includeFileDetails | boolean | – | Return full media file metadata (media action) |
| includeMedia | boolean | – | Reserved for compatibility — media is always included when present |
| includeQuotes | boolean | – | When true, request quoted message details from the API (off by default to keep responses lean) |
| includeReactions | boolean | – | Reserved for compatibility — reactions are returned inline by the REST API when available |
| limit | number | – | Maximum messages to retrieve per request (REST API caps at 50) |
| mediaTypes | array | – | Filter by specific media types (media action) |
| messageId | string | – | Specific message ID (required for by_id and thread actions) |
| messageTypes | array | – | Types of messages to retrieve (required for by_type action) |
| query | string | – | Text to search for (required for search action) |
| sender | string | – | Phone number or WID of message sender (required for by_sender action) |
| sortOrder | string | – | Sort order by date (default: desc) |
| toDate | – | – | Upper bound of the date range (maps to REST `before`) |
| verbosity | string | – | Response detail level: summary = curated high-signal fields (default, token-lean); standard = broader set; full = complete message objects (escape hatch). |
No output schema declared.
No examples provided.
get_whatsapp_chat_statistics ~184
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".
| Name | Type | Req | Description |
|---|---|---|---|
| compareFromDate | string | – | Statistics only: start of an earlier period to compare with. Requires compareToDate |
| compareToDate | string | – | Statistics only: end of the earlier period to compare with |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fromDate | string | – | Start of the period, e.g. 2026-09-11T00:00:00+02:00. Defaults to 7 days before toDate |
| toDate | string | – | End of the period. Defaults to now |
No output schema declared.
No examples provided.
get_whatsapp_chats ~631
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Chat retrieval action to perform |
| activityType | string | – | Which date the range applies to: last message of any side, first message ever, or last message received from the customer |
| agentId | string | – | Filter by assigned agent ID (for assigned action) |
| chatId | string | – | Specific chat ID (required for by_id action) |
| contactTypes | array | – | Filter by chat type (required for by_contact_type action, optional elsewhere) |
| departmentId | string | – | Filter by assigned department ID (for assigned action) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fields | array | – | Explicit dot-path allowlist, e.g. ['id','name','contact.phone','unreadCount']. Overrides verbosity when set. |
| fromDate | string | – | Start date (for by_date_range and archived actions) |
| labels | array | – | Only chats carrying at least one of these labels. Use ["*"] for any label. Cannot be combined with labelsExclude |
| labelsExclude | array | – | Exclude chats carrying any of these labels. Use ["*"] to exclude every labelled chat |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| query | string | – | Free text to search for (required for search action) |
| sort | string | – | Result order. Defaults to the API order (most recent activity first) |
| status | array | – | Filter by chat status (required for by_status action, optional elsewhere) |
| toDate | – | – | End date (for by_date_range and archived actions) |
| verbosity | string | – | Response detail level: summary = curated high-signal fields (default, token-lean); standard = broader set; full = complete chat objects (escape hatch). |
No output schema declared.
No examples provided.
get_whatsapp_chats_by_contact_type ~146
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".
| Name | Type | Req | Description |
|---|---|---|---|
| contactTypes | array | – | Filter by chat type (required for by_contact_type action, optional elsewhere) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| sort | string | – | Result order. Defaults to the API order (most recent activity first) |
No output schema declared.
No examples provided.
get_whatsapp_chats_by_date_range ~188
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".
| Name | Type | Req | Description |
|---|---|---|---|
| activityType | string | – | Which date the range applies to: last message of any side, first message ever, or last message received from the customer |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fromDate | string | – | Start date (for by_date_range and archived actions) |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| sort | string | – | Result order. Defaults to the API order (most recent activity first) |
| toDate | – | – | End date (for by_date_range and archived actions) |
No output schema declared.
No examples provided.
get_whatsapp_chats_by_status ~145
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".
| Name | Type | Req | Description |
|---|---|---|---|
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| sort | string | – | Result order. Defaults to the API order (most recent activity first) |
| status | array | – | Filter by chat status (required for by_status action, optional elsewhere) |
No output schema declared.
No examples provided.
get_whatsapp_device_details ~139
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.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceId | string | yes | WhatsApp device ID (24 character hexadecimal string) |
| includeMetrics | boolean | – | Include device metrics and statistics |
| includeSessionLogs | boolean | – | Include recent session logs |
| includeSettings | boolean | – | Include device settings and configuration |
No output schema declared.
No examples provided.
get_whatsapp_devices ~254
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.
| Name | Type | Req | Description |
|---|---|---|---|
| activeOnly | boolean | – | Only include active/operational devices (authorized, verified, operative) |
| exactMatch | boolean | – | Whether to use exact match for search (only applies when search is provided) |
| includeMetrics | boolean | – | Include device metrics (chat counts, contacts, etc.) |
| includeSessionDetails | boolean | – | Include detailed session information |
| includeSessionLogs | boolean | – | Include recent session logs |
| includeSettings | boolean | – | Include device settings and configuration |
| limit | number | – | Maximum number of devices to retrieve |
| minUptime | number | – | Minimum session uptime in seconds (for online devices) |
| onlineOnly | boolean | – | Only include devices that are currently online |
| page | number | – | Page number for pagination (0-based) |
| search | string | – | Search term: phone number, alias, or device ID |
| sessionStatus | array | – | Filter by session connectivity statuses |
| status | array | – | Filter by device operational statuses |
No output schema declared.
No examples provided.
get_whatsapp_file_details ~60
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | string | yes | File ID (24 character hexadecimal string) |
No output schema declared.
No examples provided.
get_whatsapp_unread_chats ~146
Retrieve WhatsApp chats with unread messages. Essential for managing pending conversations and customer support. Same as get_whatsapp_chats with action "unread".
| Name | Type | Req | Description |
|---|---|---|---|
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| labels | array | – | Only chats carrying at least one of these labels. Use ["*"] for any label. Cannot be combined with labelsExclude |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| sort | string | – | Result order. Defaults to the API order (most recent activity first) |
No output schema declared.
No examples provided.
health_check ~21
Comprehensive health check of the MCP server and connected WhatsApp devices.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_whatsapp_flow_responses ~181
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | string | – | Only answers to this campaign |
| device | – | – | Only answers received on this number |
| form_id | string | yes | The form id ("id" from list_whatsapp_flows, 24 hex characters) |
| from | string | – | First day, YYYY-MM-DD (UTC) |
| page | integer | – | Page, from 0 |
| size | integer | – | Answers per page (default 25, max 100) |
| to | string | – | Last day, YYYY-MM-DD (UTC) |
No output schema declared.
No examples provided.
list_whatsapp_flows ~74
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.
| Name | Type | Req | Description |
|---|---|---|---|
| device | string | yes | Target WhatsApp device ID (24 character hex string) |
| status | string | – | Filter by flow status |
No output schema declared.
No examples provided.
list_whatsapp_templates ~96
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.
| Name | Type | Req | Description |
|---|---|---|---|
| device | string | yes | Target WhatsApp device ID (24 character hex string) |
| size | number | – | Maximum number of templates to retrieve |
| status | string | – | Filter templates by status (defaults to APPROVED) |
No output schema declared.
No examples provided.
manage_whatsapp_campaign_contacts ~362
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on campaign contacts |
| campaignId | string | yes | WhatsApp campaign ID |
| channels | array | – | Channel IDs to remove (for remove action) |
| contacts | array | – | Contacts to add to campaign (for add action) |
| groups | array | – | Group IDs to remove (for remove action) |
| kind | array | – | Filter by contact type (for search action) |
| page | number | – | Results page number (for search action) |
| phones | array | – | Phone numbers to remove (for remove action) |
| search | string | – | Search contacts by phone number, name, or group ID (for search action) |
| size | number | – | Results page size (for search action) |
| status | array | – | Filter by delivery status (for search action) |
| target | array | – | Filter by contact target: phone number or group WhatsApp ID (for search action) |
| wids | array | – | WhatsApp message IDs to remove (for remove action) |
No output schema declared.
No examples provided.
manage_whatsapp_campaigns ~1,173
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,…
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp campaigns |
| activate | boolean | – | Start the campaign right after creating it. Needs settings.date and at least one recipient; without them the campaign is created and left as a draft |
| after | string | – | Filter campaigns created after this date (for search action) |
| before | string | – | Filter campaigns created before this date (for search action) |
| campaignId | string | – | WhatsApp campaign ID (required for get, update, start, stop, delete actions) |
| confirmPaymentIssue | boolean | – | Only after telling the user that Meta reports a payment problem on the number, or that it needs reconnecting: true to activate or start the campaign anyway, because they say it is already fixed or re… |
| contacts | array | – | Campaign recipients, for the create action only. Max 2000 per request, and the total a campaign can hold depends on the plan (100 on trial, 500 to 2000 otherwise). To add or remove recipients later u… |
| costs | array | – | For estimate_cost: one line per country of the recipients, with the template category and the number of messages. Up to 100 lines |
| device | string | – | WhatsApp device ID (required for create action) |
| file | string | – | Uploaded file ID. On a template campaign this is the header media, and only for a template whose header is an image, video or document: on a template without a media header the API sends a header the… |
| group | array | – | Filter campaigns by group IDs (for search action) |
| message | string | – | Campaign message, for numbers linked by QR. On a WhatsApp Cloud API number use template instead. Personalize it with {{ name }}, {{ phone }} and {{ key }} for each key in the recipients' variables |
| name | string | – | Campaign name (required for create action) |
| owner | array | – | Filter by owner user IDs (for search action) |
| page | number | – | Results page number (for search action) |
| phone | array | – | Filter campaigns by recipient phone numbers (for search action) |
| settings | object | – | Campaign delivery settings (for create/update actions) |
| size | number | – | Results page size (for search action, max 100) |
| status | array | – | Filter campaigns by status (for search action) |
| template | object | – | Pre-approved template to send. Required on WhatsApp Cloud API numbers, and not accepted on numbers linked by QR |
| unsubscribe | object | – | Unsubscribe settings (for create/update actions) |
No output schema declared.
No examples provided.
manage_whatsapp_channel_messages ~211
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
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp channel messages |
| channelId | string | yes | WhatsApp channel ID to get messages from |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| fromDate | string | – | Get messages from this date onwards |
| includeDeleted | boolean | – | Include deleted messages in results |
| includeMedia | boolean | – | Include media message details |
| limit | number | – | Number of recent messages to retrieve (max 100) |
| messageTypes | array | – | Filter by specific message types |
| page | number | – | Page number for pagination (0-based) |
| sortOrder | string | – | Sort order by timestamp |
| toDate | – | – | Get messages up to this date |
No output schema declared.
No examples provided.
manage_whatsapp_channels ~541
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
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp channels |
| category | string | – | Category of channels to search for (for search action) |
| channelId | string | – | WhatsApp channel ID (required for get, update, leave, delete, update_image actions) |
| countries | array | – | Country codes to filter channels by (e.g., ["US", "GB"]) |
| description | string | – | Channel description (up to 2048 characters) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| imageData | string | – | Base64-encoded image data (JPG or PNG, max 1MB) |
| imageSource | string | – | Source type for channel image |
| imageUrl | string | – | URL of image to use as channel profile picture (JPG or PNG, max 1MB) |
| include | array | – | Include related entities in response |
| inviteCode | string | – | Channel invitation code (required if joinMethod is "code") |
| inviteUrl | string | – | Channel invitation URL (required if joinMethod is "url") |
| joinMethod | string | – | Method to join the channel (for join action) |
| limit | number | – | Number of results to retrieve (max 250) |
| name | string | – | Channel name (required for create, optional for update) |
| page | number | – | Page number for pagination (0-based) |
| permission | string | – | Filter channels by permission type (for list action) |
| searchQuery | string | – | Text to search for in channel names and descriptions (for search action) |
| sort | string | – | Sort field and order (e.g., "-createdAt", "name") |
| sortField | string | – | Field to sort search results by |
| sortOrder | string | – | Sort order for search results |
| uploadImage | boolean | – | Whether to upload a profile image (for create action) |
No output schema declared.
No examples provided.
manage_whatsapp_chat ~447
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to change on the chat |
| agentEmail | string | – | Teammate email to assign the chat to, instead of agentId (for assign) |
| agentId | string | – | Teammate user ID to assign the chat to (for assign) |
| authorId | string | – | Teammate user ID the note is written as. Defaults to the API key owner (for add_note) |
| chat | string | yes | The chat: a phone number in international format, or its WhatsApp chat ID as returned by get_whatsapp_chats |
| departmentId | string | – | Department ID to assign the chat to (for assign). Look it up with manage_whatsapp_departments |
| device | string | yes | WhatsApp number (device) ID the chat belongs to |
| labels | array | – | Label names (for add_labels and remove_labels) |
| note | string | – | Internal note text, WhatsApp formatting allowed (for add_note) |
No output schema declared.
No examples provided.
manage_whatsapp_contact_actions ~117
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp contact blocking/unblocking |
| contacts | array | yes | Array of contact phone numbers in E.164 format to block or unblock (max 50) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
No output schema declared.
No examples provided.
manage_whatsapp_contacts ~1,026
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp contacts |
| address | string | – | Contact address (for create, update actions) |
| after | string | – | Filter contacts created after this date (for list action) |
| altPhone | – | – | Alternative phone number (for create, update actions) |
| assign | – | – | Assign contact to specific agent (for create action) |
| before | – | – | Filter contacts created before this date (for list action) |
| birthday | string | – | Contact birthday in YYYY-MM-DD format (for create, update actions) |
| city | string | – | Contact city (for create, update actions) |
| companyCode | string | – | Company code (for create, update actions) |
| companyCountry | string | – | Company country 2-letter ISO code (for create, update actions) |
| companyEmail | string | – | Company email (for create, update actions) |
| companyName | string | – | Company name (for create, update actions) |
| companyPhone | – | – | Company phone number (for create, update actions) |
| companyRole | string | – | Contact role in company (for create, update actions) |
| companyTaxId | string | – | Company tax ID (for create, update actions) |
| companyWebsite | string | – | Company website (for create, update actions) |
| contactWid | string | – | WhatsApp contact ID (required for get, update, delete, update_metadata, upsert_metadata actions) |
| contacts | array | – | Array of contacts to create (max 1000, for bulk_create action) |
| country | string | – | Contact country 2-letter ISO code (for create, update actions) |
| crm | string | – | CRM system name (for create, update actions) |
| crmRef | string | – | CRM reference ID or URL (for create, update actions) |
| currency | string | – | Contact currency 3-letter ISO code (for create, update actions) |
| description | string | – | Contact description (for create, update actions) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| string | – | Contact email address (for create, update actions) | |
| fields | array | – | Explicit dot-path allowlist, e.g. ['wid','phone','info.email']. Overrides verbosity when set. |
| gender | string | – | Contact gender (for create, update actions) |
| include | array | – | Include related entities in response |
| kind | string | – | Contact category (for create, update actions) |
| limit | number | – | Number of contacts to retrieve (max 200, for list action) |
| metadata | array | – | Contact metadata key-value pairs (for create, update, update_metadata, upsert_metadata actions) |
| metadataKey | array | – | Filter contacts with specific metadata keys (for list action) |
| metadataValue | array | – | Filter contacts with specific metadata values (for list action) |
| name | string | – | Contact first name (for create, update actions) |
| notes | string | – | Private notes about the contact (for create, update actions) |
| owner | array | – | Filter contacts assigned to specific agents (for list action) |
| page | number | – | Page number for pagination (0-based, for list action) |
| phone | – | – | Phone number for create action, or array of phone numbers for list filtering |
| postalCode | string | – | Contact postal code (for create, update actions) |
| removeFields | array | – | Fields to remove/clear from contact (for update action) |
| search | string | – | Search contacts by name, surname, phone, email, company, address, or notes (for list action) |
| sort | string | – | Sort field and order (e.g., "-createdAt", "name", for list action) |
| status | array | – | Filter contacts by status (for list action) |
| surname | string | – | Contact surname/last name (for create, update actions) |
| timezone | string | – | Contact timezone (for create, update actions) |
| title | string | – | Contact title (Mr., Mrs., Dr., etc., for create, update actions) |
| type | array | – | Filter contacts by type (for list action) |
| updatedAfter | – | – | Filter contacts updated after this date (for list action) |
| updatedBefore | – | – | Filter contacts updated before this date (for list action) |
| upsert | boolean | – | Update the contact if it already exists instead of failing with 409 (for create and bulk_create actions) |
| verbosity | string | – | Response detail level for list/get: summary = curated high-signal fields (default, token-lean); standard = broader set; full = complete contact objects (escape hatch). |
| wid | array | – | Filter contacts by WhatsApp IDs (for list action) |
No output schema declared.
No examples provided.
manage_whatsapp_deal_notes ~506
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on deal notes |
| confirmDeletion | boolean | – | Confirmation flag required for delete action |
| dealId | string | – | Deal ID (required for all actions) |
| done | boolean | – | Completes the task (true) or reopens it (false). Update only. |
| dueAt | – | – | ISO 8601 date-time string. A note that has one IS a task. On update, passing null turns the task back into a plain note. |
| event | string | – | Id of one of the deal's own history events. Create only, set at birth and never moved. Makes the note a comment nested under that event. |
| files | array | – | Ids of previously uploaded files to attach. Upload them first with the file-upload tools (POST /files). On BOTH create and update this means the COMPLETE list the note carries afterwards, never a del… |
| limit | integer | – | Maximum number of notes to return (1-200, default 50). List only. |
| noteId | – | – | Note ID (required for update and delete) |
| skip | integer | – | Number of notes to skip (>= 0). List only. |
| text | string | – | Note body (required for create, optional for update) |
No output schema declared.
No examples provided.
manage_whatsapp_deals ~923
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: 1. 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. 2. 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. 3. Restricted agents (plain agent role) only ever see their own deals, regardless of filters. 4. Write operations (create, update, archive, move_stage, link_chat) require the Professional plan or above. Read operations (list, get, events) are not plan-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on deals |
| agent | – | – | Assigned agent user ID. Filter value on list; on update, pass null to unassign |
| amount | – | – | Deal amount. On update, pass null to clear it |
| card | object | – | Display-only card seed |
| chatStatus | string | – | State of the deal's WhatsApp conversation (requires pipeline, only for open deals) |
| chatWid | – | – | WhatsApp ID of the chat the deal was created from |
| confirmDeletion | boolean | – | Confirm deal archiving (required for archive action) |
| contact | string | – | Deals for one contact (spans @c.us/@lid identity equivalence) |
| contactWid | – | – | WhatsApp ID of the contact (required for create and link_chat) |
| currency | – | – | ISO 4217 currency code. Defaults to the pipeline currency; on update, pass null to clear it |
| dealId | string | – | Deal ID (required for get, update, archive, move_stage, link_chat, events) |
| department | – | – | Department ID. On update, pass null to clear it |
| device | – | – | WhatsApp device ID. A single ID when creating a deal; one or more IDs when filtering a list |
| limit | integer | – | Number of events to return (default 50) |
| lostReason | string | – | Reason for losing the deal (only meaningful when moving to a lost stage) |
| page | integer | – | Page number (1-based) |
| pipeline | – | – | Filter by pipeline ID |
| previousStage | – | – | The stage the client last saw (required for move_stage). Must be the current stage value from a prior get. Server answers 409 if stale. |
| size | integer | – | Page size (default 50) |
| skip | integer | – | Number of events to skip |
| stage | string | – | Stage ID within the pipeline |
| stalled | string | – | Deals stuck in their stage (requires pipeline) |
| status | string | – | Deal status filter (defaults to open) |
| title | string | – | Deal title (defaults to contact name) |
| unassigned | boolean | – | Only deals with no agent (cannot be combined with agent) |
| unread | boolean | – | Only deals whose conversation has unread messages |
| updatedAfter | string | – | ISO 8601 date-time, e.g. 2026-08-01T00:00:00.000Z (half-open range [after, before)) |
| updatedBefore | string | – | ISO 8601 date-time, e.g. 2026-08-01T00:00:00.000Z (half-open range [after, before)) |
No output schema declared.
No examples provided.
manage_whatsapp_departments ~232
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)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp departments |
| agents | array | – | Array of agent IDs to include in the department (required for create, optional for update) |
| color | string | – | Department color for visual identification |
| departmentId | string | – | Department ID (required for update, delete actions) |
| description | string | – | Department description (max 300 characters) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| icon | string | – | Department icon identifier |
| name | string | – | Department name (required for create, optional for update) |
No output schema declared.
No examples provided.
manage_whatsapp_group_participants ~160
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on group participants |
| all | boolean | – | Apply action to all participants/pending members (for remove, approve, reject actions) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| groupId | string | yes | WhatsApp group ID |
| participants | array | – | Participants to add with admin status (for add action) |
| phones | array | – | Phone numbers of participants (for remove, promote, demote, approve, reject actions) |
No output schema declared.
No examples provided.
manage_whatsapp_groups ~335
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp groups |
| code | string | – | Group invitation code (for join action) |
| description | string | – | Group description (for create/update actions) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| ephemeral | string | – | Ephemeral messages duration (for create/update actions) |
| groupId | string | – | WhatsApp group ID (required for get, update, leave, get_invite, revoke_invite actions) |
| include | array | – | Include additional data in response |
| kind | array | – | Filter groups by type (for search action) |
| name | string | – | Group name (required for create action) |
| page | number | – | Results page number (for search action) |
| participants | array | – | Group participants (required for create action) |
| permissions | object | – | Group permissions and settings (for create/update actions) |
| remove | boolean | – | Remove group from chat list after leaving (for leave action) |
| search | string | – | Search groups by name or description (for search action) |
| size | number | – | Results page size (for search action) |
| sort | string | – | Sort field and order (for search action) |
| status | array | – | Filter groups by status (for search action) |
| url | string | – | Group invitation URL (for join action) |
No output schema declared.
No examples provided.
manage_whatsapp_labels ~253
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
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp labels |
| activeOnly | boolean | – | Only return active labels (for list action) |
| color | string | – | Label color from predefined palette (required for create, optional for update) |
| confirmDeletion | boolean | – | Confirm label deletion and removal from all chats/contacts (required for delete action) |
| description | string | – | Label description (optional for create, required for update) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| filterByScope | string | – | Filter labels by scope for list action |
| includeMetadata | boolean | – | Include additional label metadata like scope and active status |
| name | string | – | Label name (required for create, update, delete actions) |
No output schema declared.
No examples provided.
How do I install the WhatsApp Business API by Wassenger MCP server?
WhatsApp Business API by Wassenger is a hosted endpoint at https://api.wassenger.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.wassenger.com
claude mcp add --transport http com-wassenger-whatsapp 'https://api.wassenger.com/mcp'
What is the WhatsApp Business API by Wassenger MCP server?
WhatsApp Business API by Wassenger is an MCP server listed in the public MCP registry as com.wassenger/whatsapp. Send and read WhatsApp messages, templates, chats and campaigns through the official Business API. This page covers its hosted endpoint (https://api.wassenger.com/mcp).
Is the WhatsApp Business API by Wassenger MCP server safe to use?
WhatsApp Business API by Wassenger scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the WhatsApp Business API by Wassenger MCP server expose?
WhatsApp Business API by Wassenger exposes 54 tools: send_whatsapp_message, manage_whatsapp_message_interactions, verifyWhatsAppNumberExists, validatePhoneNumbers, get_whatsapp_chats, and 49 more. Their descriptions and schemas cost roughly 16,614 tokens of context every time the server is loaded.
Does the WhatsApp Business API by Wassenger MCP server require authentication?
No. We connected to WhatsApp Business API by Wassenger without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the WhatsApp Business API by Wassenger MCP server still maintained?
WhatsApp Business API by Wassenger is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the WhatsApp Business API by Wassenger MCP server?
VerifyMCP ran 13 checks on WhatsApp Business API by Wassenger, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.