Skip to main content
Glama

Send broadcast

send_broadcast
Destructive

One-shot broadcast: create a campaign and immediately schedule it to send, in a single call. Pass either an audienceId, segmentId, topicId, or fully-qualified filter. Provide html OR templateSlug. Before calling, confirm with the user: show them the recipients (or the recipient count), the sender and the subject, and wait for a clear yes. Send16 can refuse a send. 429 SEND_RAMP_LIMIT: new and free workspaces have hourly and daily sending limits while they build reputation; the error details give the window, the limit and how many remain. Tell the user how many can go now and that the rest can go once the window resets (or after upgrading), and do not split the send or retry in a loop to get around it. 403 SENDING_PAUSED: sending from the workspace is paused while the Send16 team reviews it. Nothing was sent. Tell the user to check the workspace owner's email or contact support, and do not retry. 422 MESSAGE_NEEDS_REVIEW: the content looked like it might be impersonating a government agency, bank, toll operator or delivery company, so it was held and not sent. Tell the user it is held for review and they can contact support if it is legitimate. Do not reword it and try again; repeated flags pause the workspace.

Input Schema

NameRequiredDescriptionDefault
htmlNoFull HTML body (one of html/templateSlug required)
nameYesInternal campaign name
apiKeyNoSend16 API key (overrides SEND16_API_KEY env var)
replyToNo
subjectYes
topicIdNoSend to all subscribers of this topic
fromNameYes
fromEmailYesMust be a verified domain
segmentIdNoSend to all contacts matching this segment
audienceIdNoSend to all contacts in this audience
scheduleAtNoISO-8601 future datetime; omit to send immediately
previewTextNo
templateSlugNoWorkspace template slug to use

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / fromEmail / pattern
      Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • changedInput schema / properties / replyTo / pattern
      Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and idempotentHint=false, and the description substantiates that with concrete failure modes: SEND_RAMP_LIMIT throttling with window/limit/remaining in the error, SENDING_PAUSED workspace review, and MESSAGE_NEEDS_REVIEW content hold. It also discloses the human-confirmation requirement and the escalation risk of repeated flags, none of which the annotations convey.

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 the core action and required inputs in the first two sentences, then batches error handling. The error paragraphs are long and repeat 'do not retry' across cases, but each case carries distinct recovery instructions, so the length is mostly earned rather than padding.

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

Completeness4/5

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

For a 13-parameter mutation tool with no output schema, the description covers inputs, human-confirmation prerequisites, throttling, pause states, and content-review holds thoroughly. It does not say what the call returns (e.g., a campaign id or status) or confirm the response shape after a successful send.

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

Parameters4/5

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

At 69% schema coverage the description materially adds meaning by stating the mutual exclusivity of audienceId/segmentId/topicId and the html-vs-templateSlug choice, which the flat schema does not enforce. Minor inconsistency: it mentions a 'fully-qualified filter' but no filter property exists in the schema, which could mislead an agent.

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 with clear scope: 'create a campaign and immediately schedule it to send, in a single call.' The phrase 'one-shot' and 'single call' distinguishes it from the create_campaign + schedule_campaign sibling pair an agent might otherwise compose.

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?

Gives real selection rules: pass exactly one of audienceId/segmentId/topicId/filter, and html OR templateSlug. It also specifies a pre-call workflow (confirm recipients, sender, subject, wait for a clear yes) and several explicit when-not-to-retry conditions. It stops short of naming sibling alternatives like schedule_campaign or send_email.

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.