Broadcasts
Send a one-off message to opted-in contacts in four steps: compose, choose the audience, decide on the 24-hour window and schedule it.
Sidebar: Automate → Broadcasts. A one-off message to a chosen audience. Where a sequence is timed from when each person joins, a broadcast goes out to everyone at once.
Growth and up. Sending needs the send_broadcast capability — owner and admin only. This is the one gate that genuinely changes what an agent sees, and deliberately: sending to your whole audience has always been an owner/admin action, so the sidebar row is hidden from a role that would be refused at send.

Compose a broadcast — the four steps
The composer is a numbered form with a live phone preview.
1 — Your message
- Write the message, e.g.
We just restocked your size — grab it before it's gone. - Use merge tags — First name, Last name, Username, plus your custom fields.
- Optionally add up to 3 buttons. Each has a label (20 characters max, e.g.
Shop now) and a URL (https://your-store.com/new). Each button link is tracked, so you can see who taps. - Or send an image instead: a broadcast is EITHER text (+ buttons) OR one image — setting an Image URL turns it into an image-only message, the button editor disappears, and the text is not sent. Clear the image to get text back.
- WhatsApp template (shown when WhatsApp is connected on your workspace): pick one of your approved templates for WhatsApp contacts who are outside the 24-hour window. Contacts inside the window get the message above; those outside get the template. Fill each
{{1}},{{2}}slot — merge tags work there too, and a contact with no value for a tag gets "there", because a slot can't be empty. Templates with a media header or a dynamic link button are listed greyed out for now. Template deliveries are billed at Meta's template rate.
2 — Who gets it
Either apply a Saved segment from the dropdown, or build the audience inline:
- Opted-in only — a toggle, on by default. You can switch it off to widen the count, but consent is still enforced by the compliance gate at send. With WhatsApp connected it becomes a channel choice: Instagram, WhatsApp, or Any channel (each contact's consent is still checked on their own channel at send). If you attached a template, choose WhatsApp or Any — an Instagram-only audience has no WhatsApp contacts in it, and the composer says so.
- TikTok contacts can never receive a broadcast (TikTok only lets a business reply after the customer messages first) — any in the audience are recorded as skipped, and the composer says so above the audience count.
- Has all of these tags — pick tags; a contact needs all of them.
- Field condition — a field, an operator and a value, same vocabulary as Contacts.
- Messaging window — Any, Inside 24h (reachable now), or Outside the window.
A live counter under the audience builder shows how many contacts match right now, and says plainly that the list is re-resolved when the broadcast actually sends — so the number is a preview, not a promise.
If your audience is too large to resolve in one pass the counter says so and the send is refused until you narrow it. That is deliberate: a send that reached only part of your intended audience, silently, would be worse than a refusal.
3 — Out-of-window contacts
Instagram has no paid re-open mechanism. A contact outside the 24-hour window cannot be reached until they message you again — there is no template message that buys you back in. WhatsApp is different: with a template attached in step 1, WhatsApp contacts outside the window get the template, and the choice below applies to them only when no template is attached. So you must choose:
| Option | What happens |
|---|---|
| Skip them | Send only to reachable contacts; record the rest as skipped. |
| Queue them | Record them as queued. There is no auto-resend — they're reached only if they message you again. |
Neither option can deliver to a closed window. The difference is only how it is recorded.
4 — Send or schedule
- Name the broadcast, e.g.
Spring restock. - Either:
- Send now
- Pick a Schedule for date and time, then Schedule
- Save draft
Scheduled times are read in your workspace timezone (Settings → Workspace) — the composer names the zone under the picker.
The broadcasts list
Rows show the broadcast, its audience, when, and actions. Statuses:
| Status | Means |
|---|---|
| Draft | Saved, not sent |
| Scheduled | Will send at the chosen time |
| Sending | In progress |
| Sent | The run completed — this counts messages sent; Instagram doesn't report delivery |
| Canceled | You cancelled it |
| Didn't send | It failed — the row shows why |
Draft and scheduled rows offer Send now, Edit and Cancel; finished rows offer Delete. Once a broadcast is Sending it can no longer be canceled. Sent rows show a funnel — sent → skipped → clicked (clicked appears when the message carries a tracked link or buttons).
Every send still passes the gate
A broadcast message goes through the same compliance gate as everything else: consent, the 24-hour window, and per-channel rate caps. Broadcasts are unavailable below Growth — on Free and on Starter; from Growth up, the gate still governs delivery.
Results land in the Activity log and the Analytics compliance row.
Common questions
Why is my audience count smaller than my contact count? Broadcasts only go to contacts opted in on the channel, and your tag/field/window filters narrow it further.
Can I send to people outside the 24-hour window? Not on Instagram, by any mechanism — you can record them as queued, but nothing is sent until they message you. On WhatsApp, yes: attach an approved template in step 1 and those contacts receive it (billed at Meta's template rate). Templates are submitted in Settings → WhatsApp and reviewed by Meta first.
Why can't I see Broadcasts in the sidebar? Your role lacks send_broadcast (owner/admin only). Plan never hides the row — a below-Growth owner still sees it, and saving or sending is refused with the upgrade message instead.
Sequence or broadcast? Sequence = timed from when each person joins, personal clock. Broadcast = everyone, one moment. See sequences.md.
Can I schedule in a specific timezone? Yes — the time you pick is read in your workspace timezone, set in Settings → Workspace. Scheduling 9:00 AM sends at 9:00 AM in that zone, wherever the servers run, and daylight-saving changes are handled for you. The composer shows which zone applies right under the picker; if it's wrong, fix it in Settings before scheduling.
More in Campaigns
- Track link taps and see what convertsEvery link HyperDM sends is tracked. Here is where the taps show up — the Automations list, sent broadcasts and Analytics — and how to read them honestly.Read
- SequencesBuild a drip campaign: steps and waits, the send window, how people join and leave, and why every send still passes the compliance gate.Read
- Automation rulesEvent automations: when a tag is added, a field changes or a date arrives, run an action once per contact, with every rule visible in one list.Read
Try HyperDM for free
50 free conversations a month, no card. Connect Instagram and follow the guide you just read.