База знань GetMyBot

Broadcasts

The Broadcasts screen: one content document sent to Telegram, VK, WhatsApp, web chat or email, a segment audience, a pre-send check and a per-channel report. Plus the quick reaction broadcast from the reactions list.

На цій сторінці

GetMyBot has two ways to mass-message subscribers, and both are live at the same time:

  • The Broadcasts screen (/app/broadcasts): a full editor: one content document, a channel selection, a segment audience, a schedule, a pre-send check and a per-channel report. This is the main way.
  • The Broadcast button on a reaction: a quick send of a ready reaction to every active subscriber, with no draft and no pre-send check. This flow is still here and is not going away.

Both need a plan that includes broadcasts and the bot-level Reactions right. Without the plan feature, creating a broadcast answers with a payment error; without the right, the screen shows an empty state instead.

The broadcast editor

Open Broadcasts in the left menu. Create broadcast opens an editor with four blocks.

Name and channels. A name of up to 160 characters and one or more channels: Telegram, VK, WhatsApp, Web chat, Email. Messengers and web chat can be combined in one broadcast; email cannot. Email uses a different content kind, and a broadcast holds exactly one content reference, so picking Email clears the other channels and picking any other channel clears Email.

Content. Pick a published version of a content document of the matching kind: an "email" document for the email channel, a "message" document for every other channel. The broadcast stores the document id together with its version number, so publishing that document again later does not change an existing broadcast. From here you can also create new content or an editable copy of the current one: on save the copy is published and selected for the broadcast. Broadcasts support every composer block, including voice messages, GIFs, video notes and carousels (on VK a carousel goes out as a series of messages).

The same block previews the content per selected channel. Choosing a test recipient renders the preview with that person's data, and Send test delivers the content to that one verified contact. The test goes through the same quota and rate-limit path as a test send from Content studio: it never touches the broadcast's recipient rows, an arbitrary address cannot be typed in, and too-frequent tests are rejected.

Audience and experiment. Either every subscriber of the bot or one ready segment: the picker shows its name and member count. Optionally attach a running A/B experiment.

Schedule. The broadcast timezone, how the time is interpreted, the send time and the rate.

  • Send at is optional: an empty field means "send as soon as it is confirmed".
  • Bot timezone: one absolute moment for everyone, computed in the broadcast's timezone.
  • Recipient local time: the same wall-clock time for each recipient. A person with no timezone, an unrecognised timezone, or a local time that does not exist for them that day gets the message at the broadcast's own time instead. This differs from email campaigns, where such a recipient is suppressed.
  • A send time that does not exist because of a daylight-saving change is rejected by the editor, with a message under the field.
  • Messages per minute: from 1 to 10,000. The send is spread out in batches of that size: at 60, the first 60 recipients get the start time, the next 60 a minute later, and so on.

If the bot has paid broadcasts enabled and Telegram is among the channels, a paid-broadcast toggle (Telegram Stars) appears together with a separate acknowledgement checkbox: the draft will not save without it. If the bot's paid-broadcast opt-in is turned off after the draft was created, the send does not fail: it simply goes out unpaid.

The pre-send check

Check recipients sends nothing. It resolves the audience against the current draft, channels and consent rules and answers how many people would receive the broadcast per channel, how many are suppressed and why, plus the content errors and warnings.

Suppression reasons:

  • no_identity: the subscriber has no contact on that channel;
  • unverified: the contact is not verified;
  • blocked: the subscriber is blocked;
  • channel_disabled: the channel is not connected or not enabled for the bot;
  • email_unsubscribed, email_bounced, email_complained, email_no_consent: the email consent state is not "subscribed";
  • wa_window_closed: no inbound WhatsApp message from that person in the last 24 hours, so a free-form message cannot be sent.

Errors block the launch:

  • content_not_published: the selected content version is missing or not published;
  • audience_not_ready: the segment is missing or has not been recomputed yet;
  • experiment_not_ready: the attached experiment is not running or does not assign by subscriber;
  • empty_audience: nobody would receive the broadcast;
  • per-channel content validation errors: the field names the channel, for example content:wa.

Content warnings appear next to them and do not block anything. The launch button only becomes active with zero errors and at least one recipient.

Launching and controlling a broadcast

Only a draft can be launched, and only from the check block: the button reads Send now or Schedule, depending on whether a send time is set. Launching requires an explicit confirmation and the revision currently on screen.

At that moment the broadcast is materialized in a single transaction: the content version, channels, audience, experiment and schedule are frozen, every eligible recipient gets a queued message with a computed send time, and every suppressed recipient gets a row carrying the reason but no message. A suppressed person can therefore never be mistaken for a failed send later.

After launch the broadcast is immutable: the editor opens read-only and tells you to create a new broadcast if something has to change.

Statuses: Draft, Scheduled, Sending, Paused, Completed, Cancelled, Failed, Archived. Which actions are available from which status:

  • Pause: from Scheduled or Sending. Messages not yet picked up stop being dispatched; those already sending are delivered.
  • Resume: from Paused, back to Sending.
  • Cancel: from Draft, Scheduled, Sending or Paused. Everything not yet delivered is marked cancelled.
  • Archive: from Completed, Cancelled or Failed. Archived broadcasts are shown by the Show archived broadcasts toggle.

Every control action carries the expected revision, so two operators cannot silently overwrite each other: the second one gets "This broadcast was changed elsewhere".

Report and recipients

Clicking a broadcast in the list opens its results. Each channel shows Queued, Sent, Delivered, Failed and Suppressed. While the broadcast is scheduled, sending or paused, the report refreshes itself every 15 seconds.

The Delivered counter stays at zero at this level: the platform knows a message was handed to the channel, but delivery receipts are not collected into this report. For email, the detailed picture: opens, clicks, bounces, complaints: lives in email campaigns.

Recipients opens a paged drill-down: recipient, channel, status (Waiting, Suppressed, Queued, Sending, Sent, Failed, Cancelled) and the suppression reason.

One limitation to keep in mind: if the content expands into several messages for one recipient, a broadcast sends only the first one. A broadcast keeps a single recipient row per (recipient, channel) pair.

Broadcasting a reaction from the reactions list

The older flow works exactly as before. In the Reactions list every reaction has a send-icon button with the "Send reaction to subscribers" tooltip. Clicking it queues the broadcast right away: there is no draft, no pre-send check and no per-channel report here. The dialog can turn on a paid Stars broadcast if the bot allows it. The Broadcast button on the Overview screen leads to the same reactions list.

This broadcast goes to every active subscriber of the bot. Narrowing it by labels is only possible programmatically, through the labels parameter of the API request (see REST API and tokens); there is no label picker in the interface.

Its statuses are its own and shorter: pending, running, done, cancelled, plus a paused flag. Pause, resume and cancel are available over the API, and the broadcast survives a restart: it runs page by page and continues from the stored cursor.

Scheduled broadcasts

A reaction with the "On schedule (dates)" trigger fires at the specified times and is broadcast to active subscribers automatically. This is how you build regular digests and reminders without launching anything by hand. A retry after a failed run may deliver a duplicate to some subscribers: for scheduled announcements a rare duplicate is considered better than a silently lost run.

What's next