Skip to main content
Glama
kiriminow
by kiriminow

send_waba_template

Send approved WhatsApp templates for business-initiated chats via the official Business API. Use WABA ID, phone number, template name, and optional header/body variables.

Instructions

Send an approved WhatsApp template through the official WhatsApp Business API. Business-initiated conversations MUST use a template. Templates cannot be replaced with free text. WABA cannot send to groups and is addressed by waba_id, not device_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesPhone number in international format without + (e.g. 6281234567890)
headerNoHeader component. Required when the template has a media or dynamic text header, e.g. {"type":"document","link":"https://.../file.pdf","filename":"file.pdf"}
waba_idYesWhatsApp Business Account ID (not the device ID)
variablesNoBody variables in order, filling {{1}}, {{2}}, and so on
template_nameYesApproved template name, e.g. hello_world

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does reveal important platform constraints: templates cannot be replaced with free text, WABA cannot send to groups, and the addressing uses waba_id rather than device_id. Yet it omits prerequisites like template sync, delivery semantics, error behavior, or permission requirements, leaving notable gaps for a mutation-style tool.

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 with no filler: the first states the core action, the second mandates template usage, and the third sets hard limits. Every sentence adds distinct value and the purpose is front-loaded.

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

Completeness3/5

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

The description covers the most critical WABA-specific constraints and the schema fully documents all parameters. However, with no output schema and no annotations, it lacks mention of response/acknowledgment behavior, template sync prerequisites (e.g., using waba_sync_templates first), or error cases, so it is complete enough for basic selection but not for full confident execution.

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 description coverage is 100%, so the baseline is 3. The description reinforces waba_id being distinct from device_id, but the schema already states this. It adds no additional meaning for to, header, variables, or template_name beyond what the input schema provides.

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?

The description uses a specific verb and resource ('Send an approved WhatsApp template through the official WhatsApp Business API') and immediately differentiates this tool from siblings by emphasizing WABA-specific addressing and the free-text prohibition. An agent can distinguish it from send_message, broadcast_message, and waba_reply without inspecting schemas.

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

Usage Guidelines4/5

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

The description clearly establishes a key usage context: business-initiated conversations MUST use a template and cannot substitute free text. It also excludes group sends. However, it does not explicitly name alternative tools or state when to use send_message instead, so it lacks the full explicit when/when-not alternative guidance for a 5.

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