Skip to main content
The Broadcasting Agent is your assistant for the Broadcasts tab. Open that tab and the chat sidebar switches to it. Like the Code Agent, it’s a full agent in its own right — a peer, not a sub-feature of Broadcasts — with its own tab and its own set of tools. It knows about your contacts, your segments, your templates, and your past broadcasts. It’s most useful for the things the forms make tedious:
“How many opted-in contacts do we have tagged vip?”
“Make a segment of everyone who tapped Book now in the last 30 days.”
“Draft a utility template telling people we’re closed on the 24th.”
“Put together a campaign for that segment using the closed_notice template, for Friday at 9am.”
It can never send a broadcast on its own. Its most it can do is assemble a campaign and hold it for your approval — there’s no tool to send, launch, approve, cancel, or retry a broadcast. Asking it to “just send it” won’t work; approving is yours to do in the Broadcasts tab.

What it can do

Answer questions

Explains your broadcasts, segments, templates, and audience sizes — with real numbers pulled live, never guessed.

Check an audience

Counts how many contacts an audience reaches before you commit. The number it gives is the same one a real send would use.

Build segments

Creates and edits saved segments, including targeting by buttons people tapped — something the Segments form can’t do.

Author templates

Drafts a template, shows it to you, and only submits it to Meta once you say so — then tells you whether Meta has approved it yet.

Assemble campaigns

Combines an audience, a template, its variables, and a schedule into one campaign, held for your approval.

Enforce opt-in

Refuses to assemble a marketing campaign to an audience that isn’t restricted to opted-in contacts.

The tools it uses

The agent’s own system prompt groups its eleven tools into two tiers: tools that only read your data, and tools that write — creating segments, authoring templates, and staging a campaign. Nothing in either tier ever sends a message.

Read

list_broadcasts

Lists your broadcasts newest-first, with their status and delivery counts (queued, sent, delivered, read, failed, canceled).

list_segments

Lists your saved audience segments, each with its filter and a live contact count.

list_templates

Lists your WhatsApp templates from Meta with their approval status — only APPROVED templates can actually be sent.

preview_audience

Returns the live count of contacts an audience would reach right now, for a saved segment or an ad-hoc filter. Opted-out and not-on-WhatsApp contacts are always excluded.

get_template_status

Looks up the current Meta approval status of a template (PENDING, APPROVED, REJECTED) by name and language.

list_button_interactions

Lists the buttons and list items your contacts have actually tapped, with labels and tap counts — so you can pick one to target.

Write

create_segment

Saves a new reusable segment from a filter (opt-in, tags, or a button-tap criterion) and returns its live count.

update_segment

Updates a saved segment’s name or filter, then re-resolves its live count.

draft_template

Composes a new template and returns a structured preview. This never touches Meta — it only validates and formats the draft.

submit_template

Submits an approved draft to Meta, which creates it on your WhatsApp Business Account. Meta approval is asynchronous — minutes to hours.

assemble_campaign

Stages a complete campaign — audience, template, variables, schedule — and holds it in a pending approval state. This never sends and never schedules a real send.

It never sends anything

The agent cannot send, launch, approve, cancel, or retry a broadcast. There’s no tool for it, and the system refuses to send a campaign in the state the agent leaves it in. assemble_campaign only builds the campaign and holds it as pending approval — it never arms a real send. Approving is yours to do.
That’s deliberate. An agent that could send a promotion to four thousand people because it misread a sentence is not a good agent.

The approval card

When you ask it to assemble a campaign, a card appears in the chat with everything laid out: the name, how many recipients, the estimated cost, the schedule, a preview of the template as your customers will see it, and each variable with what it resolves to. Three buttons:
  • Approve — you’re happy. The campaign is scheduled and sends at its time.
  • Edit — tell the agent what to change and it reassembles.
  • Reject — discard it.
Approve means it will send. If the campaign has no schedule, or a time that’s already passed, approving sends it at the next opportunity — within minutes. Your Approve click is the decision, so check the schedule line on the card before you click.
If the campaign uses a template Meta hasn’t approved yet, the agent still assembles it — the campaign waits, and sends by itself once Meta approves and the scheduled time arrives. If Meta rejects the template instead, the campaign is cancelled and you’ll get a Campaign needs attention notification.

Marketing templates and opt-in

The agent refuses to assemble a marketing campaign to an audience that isn’t restricted to opted-in contacts, and tells you to fix the audience. Marketing messages to people who never opted in are exactly the thing that gets a WhatsApp number restricted.
The manual wizard doesn’t enforce this — you can untick Opted in only and pick a marketing template there. The agent is stricter than the form on purpose. Being stopped here is a reason to reconsider the audience, not to go and do it by hand.
It also won’t assemble a campaign with no audience at all, rather than quietly targeting every contact you have.