Skip to main content
Glama

DripRaven WhatsApp campaigns

send_broadcast

Destructive

Send or schedule a broadcast: one approved template to every contact in a segment. Omit scheduled_at to send immediately. Validates the template is APPROVED and that every body placeholder is mapped to a contact field — a template with any unmapped placeholder is REJECTED with TEMPLATE_VARIABLES_UNMAPPED (the error's meta.unmapped_placeholders lists which). If you hit that, map them with set_template_variables, then retry. Call preview_broadcast FIRST to show the user the rendered message and catch this before sending. Returns { campaign_id, contact_count, scheduled_at } — use campaign_id with get_campaign_stats. If the response has warnings, relay each one to the user: a warning about the WhatsApp Business Account (locked, unpaid, restricted) means the schedule stands but sends will fail until the user fixes it in WhatsApp Manager. For a new or unfamiliar workspace, call get_started FIRST and complete any missing setup steps before scheduling — otherwise the broadcast will not be delivered. On failure the error's meta field explains the fix: CHANNEL_NOT_CONNECTED means no WhatsApp number is connected (use whatsapp_connect_link); SUBSCRIPTION_REQUIRED or MONTHLY_LIMIT_REACHED means no active plan (use get_subscribe_link). Give the user the link, then retry.

Input Schema

NameRequiredDescriptionDefault
segment_idYes
template_idYes
scheduled_atNoISO 8601 datetime with offset; omit to send now
timezone_modeNo"account" (default): one send time for everyone

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare destructive/openWorld/non-idempotent, but the description adds substantial context beyond them: the APPROVED-template and placeholder validation gate, the exact error code TEMPLATE_VARIABLES_UNMAPPED and its meta.unmapped_placeholders payload, warning semantics for locked/unpaid WhatsApp Business Accounts, and the fact that a bad schedule still stands while sends fail.

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

Conciseness4/5

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

Front-loads purpose and the preview-first rule, and nearly every clause carries actionable detail (error codes, meta fields, links). It is dense and long, with several recoveries packed into one paragraph, which slightly hurts scanning but does not waste sentences.

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 destructive, open-world mutation with no output schema, the description covers validation behavior, return shape ({ campaign_id, contact_count, scheduled_at }), follow-up routing (get_campaign_stats), and failure remediation. Nothing essential to a correct call is missing.

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 only 50%, and the description mostly restates what the schema already says about scheduled_at ('omit to send immediately'). timezone_mode is never explained in the description (its enum values matter for delivery semantics), and segment_id/template_id get no added meaning. Baseline rather than compensation.

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 and resource ('Send or schedule a broadcast') plus the exact scope ('one approved template to every contact in a segment'), which immediately separates it from preview_broadcast and create_template.

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?

Gives explicit ordering ('Call preview_broadcast FIRST', 'call get_started FIRST' for new workspaces) and named recovery paths with the sibling to use (set_template_variables, whatsapp_connect_link, get_subscribe_link). Also states the send-now condition for omitting scheduled_at.

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