Use Case 11: Broadcast
Before you start: read Broadcast vs scenario entry. A connected Telegram channel is recommended for an E2E delivery test.
Required permissions and access
| Module / setting | Why you need it |
|---|---|
| Scenario Builder | Alias entry and MessageKeyboard in the scenario |
| Broadcast | Template, client selection, send |
| Settings → Bots | Channel (Telegram recommended) |
| Runs / Chat preview | Verify alias entry before sending |
Business context
A marketing or service scenario: a mass broadcast with text, an image, and a URL button. The message is built in the scenario (alias entry), and the campaign is launched from the Broadcast module.
Expected result
- Entry point with an alias in the scenario (Latin characters)
- MessageKeyboard: text, image URL, button with URL (
open-url) - Broadcast template → alias action = your alias
- Understanding the difference: one-off broadcast vs subscribe;
send_after/one_time
Architecture
[Alias entry: training_broadcast_entry]
→ MessageKeyboard (text + image + URL button)
→ End / optionally follow-up
[Broadcast module]
→ Template (alias = training_broadcast_entry)
→ Clients → training bot → “now” or on a schedule
Step-by-step implementation
Step 1. Entry alias in the scenario
- In Scenario Builder, add an entry point block (alias).
- Set the alias in Latin characters, for example:
training_broadcast_entry. - Connect the alias to MessageKeyboard.
| MessageKeyboard parameter | Value (example) |
|---|---|
| Text | “Special offer! 10% off until the end of the week.” |
| Image | Public image URL (https://…) |
| Button | Text: “Details” · type: open-url · URL: https://docs.connectiveone.io |
Edges: after display — End or a short “Thank you”.
→ Configure an alias for broadcast
Self-check in Runs: run the scenario via alias entry (not Start) — make sure the keyboard and URL appear in preview.
Step 2. Broadcast template and send
- Broadcast → create a template.
- Field Scenario alias action =
training_broadcast_entry(exact match with the scenario). - Clients tab → select yourself and the training bot.
- Schedule the send or click “now”.
→ Send a broadcast from clients
| Check | Expectation |
|---|---|
| Alias in the template = alias in the scenario | Otherwise entry is not found |
| Client subscribed to the bot + channel | Delivery in Telegram / widget |
| Runs after campaign create | success ≠ instant delivery (see step 4) |
Step 3. Telegram vs Viber
| Channel | URL button | Note |
|---|---|---|
| Telegram | open-url |
Happy path for training |
| Viber | open-url / open-web-app |
Delivery errors possible — document in the result template |
If Viber does not deliver — simplify to text-only, check the button type, record the attempt locally (not an escalation).
Step 4. Subscribe, autobroadcast, and delayed delivery
| Pattern | Semantics | Self-check |
|---|---|---|
action_broadcast__subscribe |
Subscription to a topic for a series of campaigns | Do not confuse with the one-off broadcast in Use Case 11 |
| Broadcast template + alias | One-off / mass campaign from the Broadcast module | Main path of this Use Case |
send_after |
Delay before send (min/hours) | In Runs: create success ≠ instant delivery in the channel |
one_time |
One-time send by event | A repeated trigger does not duplicate the message |
After changing the bot or channel: check the alias entry and channel token in Settings → Bots → Channels.
→ Actions reference — broadcast
Step 5 (optional). MessageKeyboard with URL — native, without Action Jail
For a link button, first use a native URL in MessageKeyboard (open-url). Use Action Jail only if native does not cover your case.
Troubleshooting
| Symptom | What to check |
|---|---|
| Broadcast does not start | Alias in the template = alias in the scenario; bot and channel on the “Clients” tab |
| Button is not clickable | open-url for Telegram; HTML/plain mode |
| Preview OK, Telegram — no | Separate path: channel token, real client in the list |
| Duplicate messages | one_time; do not run the campaign twice for the same client without need |
Self-check (Runs + channel)
Independent task
Compare two campaigns: text-only vs text + image + URL button. Record in the result template which channel you tested and what worked.
Reference links
- Broadcast vs scenario entry
- Configure an alias for broadcast
- Send a broadcast from clients
- MessageKeyboard parameters
Next step (after the advanced level): Use Case 13: Capstone