Automations · Twitch events
Start automations from Twitch activity
The Twitch events page lists each automation source for the selected channel. It shows the required Twitch approval and current use.
Ads, countdowns and stream timing
- Ad timing can warn before Twitch's next scheduled ad, observe an ad starting, warn about remaining time, or report its expected end. The end is derived from the observed start and duration; it is not confirmation that viewers finished seeing an ad.
- A changed, snoozed or unavailable ad schedule replaces or removes pending derived warnings. The upcoming ad's duration is not evidence of the previous ad's duration. Ad sources request channel:read:ads only when selected in enabled flows.
- Countdown lifecycle selects a channel-local named timer's Started, Remaining, Finished, Cancelled or Reset event. Remaining fires only on a future crossing from above the chosen threshold. Starting a three-minute timer with a five-minute warning does not fire an immediate warning.
- Scheduled time supports one occurrence, a fixed interval or a weekly local clock time in the selected named time zone. The stored zone and local time resolve to UTC, not the server's local zone. A nonexistent spring-forward time is skipped, with an inspector explanation for the configured gap; a repeated autumn time uses its earlier UTC occurrence only. If an interval starts in a gap, invalid slots on its original local start-plus-interval cadence are skipped. Its first valid slot anchors fixed UTC intervals: London 01:30 with ten-minute slots on 29 March 2026 first runs at 02:00 local (01:00 UTC), then 01:10 UTC.
- Fixed intervals keep their scheduled rhythm, not the preceding flow's completion time. Occurrences missed while the bot is stopped or disconnected are skipped. Live-only occurrences run only when Twitch confirms the stream is live; offline or unknown occurrences are not deferred until it becomes live.
- Stream uptime uses Twitch's current stream identity and start time. Discovering the stream at minute 45 fires a configured minute-30 threshold once. Repeated observations do not repeat that threshold. Recurring uptime intervals skip missed ticks; a disconnect is not a stream end.
Metadata and chat matching
- Channel metadata changed selects title changes, category changes or either, with an optional category identifier filter. The first observation is a baseline, not a change event.
- Chat matching supports case-insensitive whole-word keywords, literal contiguous phrases ignoring case, real Twitch emote identifiers, and a viewer's first observed message in the current stream. The keyword hi does not match this. Phrase matching is not regular-expression matching.
- Bot-authored output cannot trigger these matching sources. Shared-chat messages from another source channel do not become local matching events. Custom-command invocation remains a separate existing source.
- First observed means first seen by this bot during this actual stream, not Twitch's lifetime first-time chatter flag. The stream and seen viewer IDs survive bot restart; the seen list stores no message text. A confirmed stream end or genuinely new stream clears eligibility. An unseen viewer remains eligible after restart.
Committed feature events and cue playback
- Giveaway lifecycle reports a committed opening, closing or selected winners while Points is enabled. Guessing lifecycle reports a committed start or declared result while Guessing is enabled; merely closing answers is not a declared finish.
- Queue lifecycle reports a committed join or call to the next participants while Play with viewers is enabled. It does not expose private queue fields or participant notes. Public winner data follows the giveaway's existing publishing policy.
- Cue lifecycle selects Queued, Started, Finished or Interrupted, with optional cue and Cue player filters. It carries the actual run, cue and target identities while Overlays is enabled. Preview and draft tests do not become real cue lifecycle events.
- Cue outcomes distinguish queued work, server-started-unconfirmed playback, time-derived-end-unconfirmed completion, browser-reported-end-unverified completion and interruption. A connected Browser Source or browser completion report is not a verified rendering or exactly-once playback acknowledgement. Expired, cancelled, unavailable and interrupted work is not labelled successful playback.
Raids, goals, redemptions and moderation
- Outgoing raid observes the actual outgoing channel.raid result while Raid & collaboration is enabled. It is distinct from incoming raids and from channel.moderate raid action metadata; initiating or cancelling a raid is not proof that its raid event appeared in chat.
- Twitch goal selects Started, Progressed, Ended or a configured milestone, using channel:read:goals. The first or reconnected snapshot establishes a baseline without milestone catch-up. An observed crossing fires once per goal and milestone: 99→100→99→100 does not repeat it. A genuinely new goal has new eligibility.
- Redemption updated observes Fulfilled or Cancelled status after the existing redemption owner handles the update. It is separate from a new redemption and does not publish the viewer's private reward input. Rewards & redemptions must be enabled.
- Chat settings changed observes the actual settings update: slow mode and duration, subscriber/emote/follower modes and follower duration, and unique chat. It uses the configured bot's existing chat observation authority, not a new settings-management permission.
- Moderation action supports ban, timeout, unban, untimeout, clear, delete, emoteonly/emoteonlyoff, followers/followersoff, uniquechat/uniquechatoff, slow/slowoff, subscribers/subscribersoff, warn, mod/unmod, vip/unvip, raid/unraid, add/remove blocked or permitted terms, approve/deny unban requests, and shared_chat_ban, shared_chat_timeout, shared_chat_unban, shared_chat_untimeout and shared_chat_delete.
- Moderation uses channel.moderate version 2 and minimum observation approvals: moderator:read:blocked_terms, moderator:read:chat_settings, moderator:read:unban_requests, moderator:read:banned_users, moderator:read:chat_messages, moderator:read:warnings, moderator:read:moderators and moderator:read:vips. Twitch accepts existing manage alternatives for the first six; BlokeBot requests read approvals, not management power. Moderator and VIP read approvals remain required.
- Safe moderation outputs include the action, actual source-channel identity, subject's public name/login, applicable duration/count and moderator actor. Reasons, deleted message bodies, raw terms, private unban requests, warning rules and moderator messages are not automation outputs. Shared-chat source identity is retained; an observation for another subscribed host cannot invoke this host's sources.
Readiness, disabled work and repeated observations
Configure these sources and countdown actions through the existing Toolbox and inspector. The events page reports missing approvals, disconnected observation and unavailable ad/stream evidence separately. Reconnect offers additional read approvals only for selected sources in enabled flows.
Automations and each source's parent feature gate discovery, subscriptions, observation, admission and downstream actions. Disabling preserves saved configuration and history but suppresses new work; re-enabling does not replay old deliveries or skipped schedules. Already admitted Delay runs retain their existing recovery rules.
Each logical source has one owner and route. Exact subscription requirements are reconciled, and a repeated provider occurrence cannot invoke the same source node twice. This is not cross-provider exactly-once delivery: deliberately distinct moderation-action and outgoing-result or settings-state nodes can each run for their distinct observations. Moderation does not synthesize an extra raid or settings event, and no semantic correlation between unrelated provider notifications is guessed.
Read the source list
- Open Automations. Open Twitch events.
- Twitch sources show their subscription. Timing and local feature sources use their own observations, not invented Twitch notifications.
- Each source shows the required approval.
- Each source shows whether an enabled flow uses it today.
- Ready means the source can start flows now.
- Reconnect needed means that the source stays inactive.
- Twitch connection needed also means that the source stays inactive.
- For an inactive source, BlokeBot creates no Twitch subscription and starts no flow.
- Use Reconnect to Twitch on this page. Complete Twitch authorization as the selected channel owner to approve the required permissions.
- A source's Twitch subscription follows the bot runtime and exists only while an enabled flow uses that source.
Channel events
- Stream went live needs no approval beyond the channel's bot connection.
- Stream went offline needs no approval beyond the channel's bot connection.
- New follower needs no approval beyond the channel's bot connection.
- Incoming raid needs no approval beyond the channel's bot connection.
- New subscription and Gifted subscriptions need the channel's subscription-reading permission.
- Cheer needs Bits reading.
- The three Hype Train events need Hype Train reading.
- The page names each required approval exactly.
- The Gifted subscriptions source uses a minimum gift count.
- Cheer uses an inclusive minimum Bits amount and an optional inclusive maximum. Leave the maximum empty for no upper limit. Set both to the same amount to match only that amount.
- Incoming raid uses a minimum viewer count.
- Smaller events do not start a flow.
- Chat notification starts flows from typed Twitch notices such as announcements.
- Chat notification starts flows from typed Twitch notices such as resubs.
- Chat notification starts flows from typed Twitch notices such as gift upgrades.
- Chat notification starts flows from typed Twitch notices such as charity donations.
- You choose the notification type. Chat matching is a separate source with explicit keyword, phrase, emote or first-observed configuration.
Channel Points redemptions
- The Channel Points redemption source starts a flow when a viewer redeems a Custom Reward. It needs the channel's redemption permissions and a Twitch Affiliate or Partner channel.
- A reward filter limits the source to one Custom Reward. Without it, every redemption starts the flow.
- The completion policy controls redemption status after the flow.
- Choose a redemption completion option.
- Completion option: manual completion.
- Completion option: fulfillment after success.
- Completion option: cancellation after failure.
- Cancellation refunds the viewer.
- Automatic completion applies only to rewards that BlokeBot can manage. Redemptions of rewards created elsewhere still start flows, but their status stays unchanged.
Native Twitch events
- Shoutout sent and Shoutout received follow the bot account's moderator approvals and appear only while Raid & collaboration is on.
- Poll started needs the channel's poll-reading permission and appears only while Polls is on.
- Poll progressed needs the channel's poll-reading permission and appears only while Polls is on.
- Poll ended needs the channel's poll-reading permission and appears only while Polls is on.
- Prediction events need the channel's Prediction-reading permission. They appear only while Predictions is on.
- These sources report all polls and Predictions. This includes operations from outside BlokeBot.
Start flows from a custom command
The Custom command source starts a flow after chat uses a selected custom command. It provides the viewer and command text. Create the command. Select Run automation flow under What happens. Custom commands and Automations must both be on.
Absent events
- Check the source badge first. For an inactive source, the badge names the required approval or connection.
- BlokeBot does not replay events from an inactive source.
- BlokeBot does not replay events from a disabled flow.
- BlokeBot does not replay events from a period when Automations was off.
- BlokeBot recognizes a repeated Twitch delivery inside ten minutes and starts nothing extra. This is not a lost event.
- If the page cannot load, retry from the message shown. Your saved automations remain unchanged.