Skip to main content
Glama

enable_whatsapp_calling

Bind a WhatsApp Business number (Meta phone_number_id) to one of this workspace's numbers and start BYOC SIP provisioning. Returns immediately with status "pending" — poll get_whatsapp_calling until it reaches "active" or "failed". Requires an already-connected WhatsApp Business account (connect one in the dashboard; Meta's Embedded Signup is an interactive browser flow). Fails with not_whatsapp_capable if the number lacks the whatsapp capability, or already_enabled if a trunk exists.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "number_id": "<number_id>",
      "phone_number_id": "<phone_number_id>"
    },
    "name": "enable_whatsapp_calling"
  }
}

Input Schema

NameRequiredDescriptionDefault
purposeNoRequired on tools that read data or reports; recommended on every tool. One sentence: what you are doing and why (for example "finding this caller's open ticket to answer them"). Building a report, dashboard, analytics or an export is a SautiDesk Pro feature done by the report tools, not by pulling records.
number_idYestenant number UUID to enable WhatsApp calling on
phone_number_idYesMeta phone_number_id of the WhatsApp number to bind; it must belong to a WhatsApp Business account already connected to this workspace

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply openWorldHint=false and destructiveHint=false, so the description carries the load and does well: it discloses asynchronous behavior (returns immediately with 'pending'), the polling contract, the not_whatsapp_capable and already_enabled failure conditions, and the manual prerequisite. It stops short of saying whether the binding is reversible or what happens to an existing trunk mid-provisioning.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no filler, front-loaded with the action, followed by the async contract, then prerequisites and failure modes in descending priority. Every clause carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a provisioning tool with no output schema, the description covers everything an agent needs: side effect, immediate return value, follow-up tool, prerequisite, and named error conditions. Nothing material is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so number_id, phone_number_id and purpose are already fully documented in the schema, including the constraint that the phone_number_id must belong to a connected WhatsApp Business account. The description reinforces the binding relationship but adds no new syntax, format or edge-case meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb, resource and effect: bind a WhatsApp Business number (Meta phone_number_id) to a workspace number and start BYOC SIP provisioning. It is clearly distinguishable from siblings such as disable_whatsapp_calling, retry_whatsapp_provisioning and get_whatsapp_calling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says this is the entry point and that the agent must then poll get_whatsapp_calling until status is 'active' or 'failed'. It also names the prerequisite (an already-connected WhatsApp Business account, connected via the interactive dashboard flow) and the two failure codes that select a different remediation path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources