Skip to content

Events module

The Events module fires configurable rewards when Twitch events meet thresholds you define. Use it to celebrate community milestones, incentivise bits and gifted subs, run giveaways, and build cross-event reward chains — each earn is recorded, announced in chat, and tracked through a claim/complete fulfilment pipeline.

Requires the Affiliate tier or higher. See Module access by tier. Below Affiliate, the Events pages are still visible, read-only.

Capability What it does
Reward rules Eleven trigger types (bits, tips, charity donations, gifted subs, new sub, resub, chat phrase, follow, raid, channel points, meta) fire when a threshold is crossed
Rule actions Post a templated chat message, an AI-generated message (Partner+), or grant giveaway entries
Events (windows) Rules are grouped into events — containers with optional dates and goals; only one event is active at a time
Date repairs Trim to dates and Pull in activity line up what an event collected with its start and end dates
Cumulative mode Bits, tips, charity and gifted-subs thresholds can apply to a viewer’s running total for the event, with retroactive backfill
Meta rules Compound rewards that fire when a viewer has earned other rewards, with optional “must also have” / “must not have” conditions (Partner+)
Fulfilment pipeline Every earn is a record you move through pending → claimed → completed, with notes
Manual grants Grant any rule’s reward by hand for off-Twitch actions (other donation services, Throne, IRL)
Giveaways Keyword and automatic entry methods, eligibility filters, weighted draws, time limits, claim windows, rerolls, and chat commands
Leaderboards & reports Per-event totals, top gifters/cheerers/tippers/resubbers, per-rule earn counts, top earners, plus Twitch’s lifetime gift totals for the channel
Stream overlays Event totals, recent rewards, goal progress, and counters exposed to the Widgets module
Public Event Page streamercatalyst.com/e/<your-twitch-name>, plus a matching OBS browser source

The Events dashboard has five tabs:

  • Overview — a card per event (archived ones excluded) with its pending, completed and total rewards, plus totals across all events. Click a card to open that event.
  • Manage Events — create, edit and enable events, and add rules to them.
  • Giveaways — open, run and review giveaways.
  • Event Page — set up the public Event Page and its browser source.
  • Settings — channel-wide defaults.

Opening an event (from an Overview card, or Open on Manage Events) shows three more tabs: Pending Rewards, Leaderboard and Report.

Rules fire for every channel with Events on its plan: a rule fires when its event is the channel’s active event and the rule itself is enabled. There is no channel-wide switch. Every rule belongs to an event, and while no event is active, activity isn’t counted toward any event.

The old Enable Events switch in Settings was removed. Channels that had it off, including those that turned it off on purpose, now fire their enabled events and rules too. To stop rules firing, disable the event or the rules. The core mechanics apply to all trigger types:

  • Threshold crossings. A rule fires once per threshold multiple. A 5,000-bit cheer against a 500-bit rule earns it 10 times; a cheer of exactly the threshold earns it once. The exception is raid, which earns at most once per qualifying raid regardless of size.

  • Multiple rules can match one event. A 5,000-bit cheer triggers both a “500 bits” rule and a “1,000 bits” rule.

  • Unlock lower rewards. When several bits, tips, charity, gifted-subs, follow, or raid rules match the same event, the highest-threshold rule always fires and lower ones follow the Unlock Lower Rewards setting (each rule can override it). Three choices:

    • Every time (default) — a lower rule is earned once per threshold crossing, so a $100 tip earns a $10 rule ten times.
    • Once each — every lower rule still fires, but earns only once no matter how far the event overshot it: that same $100 tip earns the $10 rule once. Use this when a big cheer or tip is flooding your pending list with copies of a small reward.
    • Not at all — only the highest matching rule fires.

    “Once each” applies to any rule that has a larger rule above it in the same event, even when the event was too small to reach that larger rule — so a $50 tip can’t earn more copies of the $10 reward than a $100 tip does. A rule with nothing above it is never capped. A per-rule override of Yes or Yes, but once still fires the rule as a lower reward when the channel setting is “Not at all”.

  • One chat message per rule per event. When a single cheer, tip, donation or gift earns a rule several times, each earn is recorded separately but the chat notification is collapsed into one message — use $(reward_count) in the template to show how many times it fired.

  • Earn caps. Each rule can set Max total earns (across all viewers) and Max earns per viewer; both default to unlimited. Once a cap is reached the rule stops earning. Earns that Trim to dates detached no longer count toward a cap.

  • Anonymous cheers and gifts can still earn non-cumulative rules, but they can’t use cumulative mode, never trigger meta rules (there is no viewer to track), and are left out of the leaderboards.

Every earn is recorded as an earned reward with status pending and (optionally) announced in chat — see Earned rewards.

An event is a container for rules, typically matching a stream or a subathon. Create one in Events → Manage Events → + New event with:

Field Limits
Event name Required, up to 100 characters
Description Optional, up to 500 characters — shown on the event in the dashboard
Event Goal (total rewards) Optional, 1 – 1,000,000 — a target number of rewards earned across the event, used by goal-progress overlays
Start / End date-time Optional; entered in your browser’s time zone

A new event is created disabled — press Enable to start it. Only one event can be active at a time: enabling an event disables every other event on the channel. An event collects from the moment it’s enabled, whatever its start date says. It stops collecting at its end time, as an exact instant, and is switched off automatically within a minute. A rule belongs to the event it was created in; to reuse rules in a new event, Duplicate the event.

Per-event counters — follow counts, chat-phrase counts, per-viewer sub/resub counts, redemption counts, and cumulative bits/tip/donation/gift totals — are scoped to the event. Starting a different event starts all of them from zero; the old event’s data is kept for its leaderboards and reports.

Anyone with access to the dashboard can Open an event; the other buttons on the event card are for the broadcaster and Lead Mods:

  • Open — the event’s Pending Rewards, Leaderboard and Report.
  • Enable / Disable.
  • Edit — name, description, goal and dates.
  • Duplicate — see below.
  • Recalc — recomputes cumulative totals from the event’s recorded activity and backfills any missed earns for bits, tips and gifted-subs rules, respecting earn caps. Backfilled earns appear as pending rewards without posting to chat. Other kinds of rule are earned only live. Recalc doesn’t run meta rules: a meta that becomes due from backfilled earns catches up one earn at a time on the viewer’s later earns.
  • Trim to dates and Pull in activity — see below.
  • Archive — hides the event and disables it; its data is kept. Archived events are listed under Archived Events, where you can Open, Unarchive (which does not re-enable), Duplicate or Delete them.
  • Delete — removes the event and all of its rules. This cannot be undone.

While an event is disabled, Edit, Archive, its rule list and + New rule are unavailable until you enable it again. Open, Enable, Duplicate, Recalc, Trim to dates, Pull in activity and Delete still work.

An event’s dates don’t move activity by themselves

Section titled “An event’s dates don’t move activity by themselves”

Cheers, subs, gifts, follows, chat, redemptions, raids, tips and donations count toward whichever event is running when they happen, and Recalc only works on what an event already holds — so changing the dates, or creating an event with a start time that has already passed, changes nothing on its own. Two actions line an event up with its dates. Both preview what they will do and ask you to confirm, and each can be run 6 times an hour per channel:

  • Trim to dates — for an event that was enabled before it really started, or kept collecting past its end. It needs a start or end date. Activity the event collected outside its dates stops counting toward it (the records are kept, just unlinked). Pending rewards earned on that activity are deleted; claimed or completed ones are kept but no longer counted. Manual grants are never trimmed. The event card shows a notice, This event existed before its start date, when the event was created before its own start — a hint that it may have collected early; the button gives the real answer.
  • Pull in activity — for an event created after its start time, such as a subathon set up in the evening to start that morning. It needs a start date. Activity from inside its dates that another event collected (or that no event holds any more) moves onto it, and its bits, tips and gifted-sub rules are then recalculated on what moved, as Recalc does. Nothing is taken from the event that is running right now — the preview lists what stays put. The other events’ pending rewards on the moved activity are withdrawn (other kinds of rule are not re-earned for past activity), and their claimed or completed rewards are kept but stop counting toward their old event. The event card shows a notice, This event starts before it was created, when the start date is more than five minutes before the event was created.

Neither can undo chat messages already sent, alerts already shown on stream, or giveaway entries already granted. If the data can’t be read when you press either button, it says so and asks you to try again — it never reports a clean event it couldn’t check. Pull in activity moves nothing until it can read everything.

Duplicate copies an event’s settings and all of its rules under a new name. The start and end date-times are cleared, the copy is disabled and unarchived (so it appears in the normal Events list), and no earned rewards, transactions, cumulative totals or leaderboard data come with it — the copy starts from zero. Rules that your plan no longer allows (meta rules below Partner, or rules past your per-event limit) are skipped, and the confirmation says how many. A copied meta rule’s source, Must also have earned and Must not have earned lists point at the copied rules; if one of them named a rule that wasn’t copied, that meta rule is copied disabled so it can’t fire more widely than the original.

Trigger Fires when… Threshold counts
Bits A viewer cheers, buys a Power-up, or spends bits in an Extension Bits in a single spend (or the viewer’s event running total in cumulative mode)
Tips A viewer tips through the Tipping module The amount of a single tip (or the viewer’s event running total in cumulative mode)
Charity Donation Someone donates to your Twitch Charity campaign or linked Tiltify campaign The amount of a single donation (or the viewer’s event running total in cumulative mode)
Gifted Subs A viewer gifts subs Subs in a single gift event, optionally tier-multiplied (or running total in cumulative mode)
New Subscribe A viewer self-subscribes at the configured tier That viewer’s new-sub count within the event
Resub A viewer shares a resub message at the configured tier That viewer’s resub count within the event
Chat Phrase A viewer’s message matches a phrase That viewer’s match count within the event
Follow Anyone follows the channel The channel-wide follow count within the event
Raid An incoming raid meets a minimum viewer count Single-shot — one earn per qualifying raid
Channel Points A viewer redeems a specific channel-point reward That viewer’s redemption count for the reward within the event
Meta (cross-rule) A viewer’s earned rewards reach a cross-rule milestone See Meta rules

A rule’s trigger type is fixed once created. Default threshold in the editor is 500. A rule can be duplicated within its own event — the copy carries every setting under a new name and starts disabled, so you can adjust it before it fires.

Bits rules count all three ways a viewer can spend bits on your channel:

  • Cheers in chat count in full.
  • Power-ups count in full.
  • Bits in Extensions count at 80%, the share Twitch pays you. Twitch doesn’t send these as events, so they are worked out from Twitch’s bits leaderboard: only viewers in your top 100 can be counted. While you’re live they arrive about two minutes after the spend; offline spend is picked up by an hourly pass and counts toward whichever event is active when it’s picked up. A later correction to an Extension figure adjusts the viewer’s cumulative total but never fires or takes back a reward.

A cheer is never counted twice. Rules are per-spend by default; switch a rule to cumulative with the per-rule Cumulative bits (this rule) setting (bits rules do not follow the global Cumulative Gifts toggle — it is per-rule only).

Fires on settled tips from the Tipping module — your public tip page, manual tips recorded by hand, and positive goal adjustments all count. The threshold is entered in your channel’s tip currency (a 10 threshold means a $10 tip), and the rule fires once per multiple: a $100 tip against a $10 rule earns it ten times unless Unlock Lower Rewards caps it. Switch a rule to cumulative with Cumulative tips (this rule) to reward a viewer’s running tip total across the event instead.

Anonymous tips still fire non-cumulative rules, but — like anonymous cheers — they can’t accumulate a per-viewer total or feed meta rules, because there’s no viewer to track.

$(amount) renders a formatted currency string (“$25.00”), not a raw number. If a tip is later refunded or charged back, its earned rewards stay in your list with a funding reversed badge rather than disappearing — you decide whether to still honour them — and the viewer’s cumulative total is rolled back. A refunded tip is also left out of any later rebuild of that total (Recalc, a cumulative backfill, or a date repair).

Fires on donations to a charity campaign:

  • Twitch Charity — donations to a charity campaign you run on Twitch.
  • Tiltify — donations to the Tiltify campaign you’ve linked in the Integrations module.

The threshold is entered in the campaign’s currency, which Events learns from the first donation it sees; until then the rule editor shows no currency label. Like tips, a donation earns the rule once per threshold multiple, $(amount) renders as formatted currency, and $(charity) names the charity (“the campaign” when no name is given).

  • Cumulative mode (Cumulative donations (this rule)) totals a viewer’s Twitch donations for the event in one currency. A donation in a different currency from the viewer’s running total counts on its own rather than being added to it.
  • Tiltify donors have no Twitch account. A Tiltify donation earns per donation only: it can’t build a cumulative total, trigger meta rules or count toward a per-viewer cap. The donor’s name as given on Tiltify is shown in Pending Rewards and used as $(username).
  • No giveaway entries. Donations never grant giveaway entries — entries bought with charity money would read as pay-to-enter.
  • No refunds. Twitch doesn’t report refunds of individual donations, so charity earns are never flagged as funding reversed.

With Tier Multipliers enabled in Settings, gifts are converted to points before the threshold check: Tier 2 gifts count ×2 and Tier 3 gifts ×5. With multipliers off, one gift = one point. Cumulative mode follows the per-rule setting, falling back to the channel-wide Cumulative Gifts toggle.

Both are tier-specific: a rule fires only for subs at its configured Subscription tier (Tier 1, 2, or 3). Counts are per viewer per event, so a “Resubs needed: 1” rule rewards each sharing resubber once per event.

Twitch can report one purchase twice — as a subscription and as the resub message the viewer shares (a renewal, a lapsed re-sub, or a tier upgrade). Events counts each purchase once, as either a new sub or a resub:

  • A new sub waits about five seconds before it counts, so a resub message for the same purchase can claim it first. When it does, only the resub counts.
  • A viewer who has already resubbed during the event isn’t counted as a new subscriber in it.
  • If the resub message arrives later, after the new sub was counted, the purchase becomes a resub: the new sub’s pending rewards (and any meta rewards it set off) are taken back, along with its Event Reward Only giveaway entries, and the resub earns instead. If you’ve already claimed or completed the new-sub reward, the purchase stays a new sub and the resub doesn’t earn again. Chat messages already sent aren’t retracted, and the purchase never gets a second giveaway entry.

Count Twitch Prime (global and per-rule) lets you exclude Prime subs from firing Tier 1 rules. Twitch’s subscribe events don’t say whether a sub is Prime — only the chat sub notice does — so Events listens for those notices and remembers who is Prime. If the notice arrives moments after the sub was already counted, the earn is corrected retroactively (rows are removed; any chat message already sent is not retracted). Prime detection needs the chat-notice permission — the Events page will prompt you to re-authorise if it’s missing. Viewers who have opted out of audience analytics are never recorded as Prime.

Matches each viewer’s messages against the rule’s Chat phrase (up to 200 characters) with a Match mode of contains (default), starts_with, or exact, case-insensitive unless Case sensitive is on. The invisible characters some chat clients add to repeated messages (to get past Twitch’s duplicate-message filter) are ignored, so a viewer’s second identical message still matches. The rule fires each time a viewer’s personal match count crosses a multiple of the threshold — e.g. threshold 5 rewards a viewer on their 5th, 10th, 15th… matching message in the event. Messages from the broadcaster’s own account and from StreamerCatalyst’s bots (the shared bot or your custom bot) never count, so test a phrase rule from a second account.

During a Twitch Shared Chat session, chat messages sent in the other channels of the session don’t count toward your chat-phrase rules or giveaway keywords.

A channel-wide milestone counter: the rule fires each time the event’s total follow count crosses a multiple of the threshold, and the viewer whose follow crossed the line earns the reward. “Every 100 followers” is a single rule with threshold 100.

Fires when an incoming raid brings at least the threshold’s viewer count. The raiding broadcaster earns the reward, once per qualifying raid — a huge raid does not multiply the earn. The raid’s viewer count is available as $(viewers) in the message template. A raid from another channel that also uses StreamerCatalyst counts once.

Pick one of your channel’s custom rewards from the Channel point reward dropdown (loaded live from Twitch; a reward you’ve since deleted stays selected and is marked “no longer in channel rewards”). The rule counts each viewer’s redemptions of that reward within the event and fires on threshold multiples — set Redemption count per viewer to 1 for every redemption, or higher for loyalty-style rewards (“redeem 10 times”). An optional Max triggers per hour rate-limits the rule; while limited, redemptions still count but the rule doesn’t fire. A redemption is processed once even if another module (such as Modomation) also watches that reward. After you save a channel-points rule, the dashboard asks for permission to manage your channel-point rewards; declining leaves the rule saved.

Each rule performs one Action when it fires:

  • Plain message — a chat message from the template below.
  • AI-generated message — Workers AI composes a fresh message from your prompt (Partner tier and above).
  • Grant giveaway entries — no chat message; grants Entries to grant (default 1) to the Target giveaway: Active giveaway (held as pending entries if none is open) or Next giveaway (always held for the next one). Entries are granted on every earn, whether or not Chat on Earn is on. See Giveaways.

Advanced settings in the rule editor hold the per-rule overrides: Rule Goal (a target number of times the rule should fire during the event, used by goal-progress overlays), cumulative mode, Max total earns, Max earns per viewer, Unlock lower rewards, chat on earn/claim/complete with custom claim and complete messages, and (for sub rules) Count Twitch Prime.

Templates are up to 500 characters. Substitution variables depend on the trigger:

Variable Value Available for
$(username) (alias $(user)) Viewer’s display name (a Tiltify donor’s name as given) All triggers
$(amount) (alias $(count)) The trigger amount — bits spent, subs gifted, formatted tip or donation amount, resub months, raid viewers, the viewer’s phrase/new-sub/redemption count, the event’s follow total (always 1 for meta) All triggers
$(tier) Subscription tier (Tier 1/2/3) Gifted subs, new sub, resub
$(months) Total months subscribed Resub
$(streak) Current streak months (0 when the viewer didn’t share one) Resub
$(reward_count) How many times this rule fired for this event notification Bits, tips, charity, gifted subs
$(viewers) Raid viewer count Raid
$(charity) The charity’s name (“the campaign” when none is given) Charity
$(phrase) The rule’s chat phrase Chat phrase
$(reward) The channel-point reward’s name, as Twitch titles it now Channel points

The editor lists the variables for the selected trigger, warns about emote-like words that aren’t in your channel’s emote set, and includes a browser to insert real channel emotes.

Set the action to AI-generated message and write a system prompt (up to 2,000 characters) describing the voice and lore to draw on. When the rule fires, the AI receives the viewer’s name and what they did (e.g. “cheered 1500 bits”), plus up to 50 of your channel’s emote names so it can use them naturally. Output is capped at 500 characters.

AI messages consume your channel’s daily AI token allowance (shared with the AI module; see Tier comparison). If the allowance is exhausted, the channel is below Partner tier, or generation fails, no message is sent — there is no fallback to a plain template, so keep at least one plain-message rule for must-announce milestones.

Bits, tips, charity and gifted-subs rules can apply their threshold to a viewer’s running total for the event instead of a single spend. A 1,000-bit cumulative rule rewards a viewer who cheers 400 + 400 + 200 across the stream. Totals are per event — a new event starts everyone at zero. Bits, tips and charity rules are cumulative only when the rule says so; gifted-subs rules fall back to the channel-wide Cumulative Gifts toggle.

Turning cumulative on for an existing rule (or enabling the channel-wide Cumulative Gifts toggle) triggers a backfill: totals are recomputed from the event’s recorded history and rewards are retroactively created for viewers who already crossed the threshold, respecting the rule’s earn caps. Retroactive earns arrive as pending rewards without a chat announcement.

Anonymous cheers, gifts and tips, and Tiltify donations, are excluded from cumulative totals.

A meta rule (Partner tier and above) fires when a viewer’s other earned rewards in the same event reach a milestone. Like chat-phrase and channel-points rules, it fires each time the viewer reaches the next milestone, not on every earn after the first one:

  • Any-count (Earn N rewards from a set of rules) — fires each time the viewer earns another N rewards from the Source rules list: at N, 2N, 3N and so on. With an empty list it counts any non-meta rule in the event: earns of meta rules don’t count toward an empty list, so two such rules can’t keep setting each other off. (Two meta rules that name each other as sources don’t count each other either.)
  • All-of (Earn each of these rules at least once) — fires each time the viewer completes the set: once they’ve earned every source rule at least once, again once they’ve earned every one of them twice, and so on.

The Source rules list offers the event’s ordinary rules. On top of either condition, two optional lists narrow who qualifies. Both can include ordinary rules and other meta rules:

  • Must also have earned — the viewer must have earned every rule ticked here at least once in this event.
  • Must not have earned — the viewer must not have earned any rule ticked here in this event.

A rule can’t be in both lists — ticking it in one unticks it in the other. An all-of meta can’t exclude any of its own sources, and an any-count meta can’t exclude all of them, since either could then never fire.

Meta rules are checked after every recorded earn, including manual grants and other meta earns, so a meta can unlock another meta that lists it under Must also have earned. Each earn can fire each meta rule at most once, however many meta rules you have, and a meta that another meta names is checked first. A viewer can’t earn a meta any faster than its sources allow, and repeating the same activity only fires it again at the next milestone. A meta that is owed several earns at once — one added mid-event, or one whose sources were backfilled by Recalc — catches up one earn per later earn by that viewer.

Earn caps apply to meta rules like any other rule. For a one-time badge, set Max earns per viewer to 1. Anonymous earns and Tiltify donations never trigger meta evaluation. If you delete a rule a meta names, its past earns still count, and a requirement on it holds the meta back until you clear it from the list. If your plan drops below Partner, meta rules stop firing.

Say your follow rule (“1 Follow for 50 Points”, Max earns per viewer 1) only fires for viewers who follow during the event, and you want one Trifecta for existing followers and another for new ones:

Meta rule Condition Must also have earned Must not have earned
Regular Trifecta Any 3 from its list — the follow rule
New Follower Trifecta Any 3 from its list the follow rule Regular Trifecta

Once a viewer follows during the event, Regular Trifecta is off the table for them. A viewer who reached Regular Trifecta before following doesn’t also get the New Follower one. Repeat the pattern for a second tier (say, GOAT versions of both). Each New Follower meta then excludes the Regular meta of its own tier. To keep a viewer who reached any Regular meta off the New Follower path entirely, tick every Regular meta under Must not have earned.

Every earn creates a record on the event’s Pending Rewards tab with status pending. Each row shows the viewer, the rule, when it was earned and what triggered it (for example “🎉 1,500 bits”, “💜 $25.00”, “📯 Raid (40 viewers)” or “✋ Manual”). Filter the list by status. The broadcaster and any moderator move rewards through the pipeline with per-row actions:

Status Meaning Transition
pending Earned, not yet actioned → Claim
claimed The viewer has claimed it → Complete
completed Fulfilled → Reopen (back to pending)

Each reward supports a free-text note (up to 1,000 characters). Optional chat announcements fire on claim and complete, using templates with $(username) and $(reward):

  • Claim default: $(username) just claimed their $(reward) reward!
  • Complete default: $(username)'s $(reward) reward has been completed!

Both are off by default (Chat on Claim / Chat on Complete in Settings, overridable per rule with custom messages).

Tips taken through the Tipping module fire Tips rules automatically, and Twitch Charity and linked Tiltify donations fire Charity Donation rules. Other donation services (StreamLabs, StreamElements, Ko-fi) and Throne purchases don’t reach Events, so they can’t. Instead, the broadcaster or any moderator can use + Grant manually on the Pending Rewards tab: pick a rule and enter the viewer’s Twitch username (validated against Twitch).

  • Bits and gifted-subs rules ask for an amount (and, for gifts, a tier). The grant earns the rule once per threshold multiple (⌊amount ÷ threshold⌋, tier multipliers included, capped at 1,000 earns per grant), and the amount must reach the threshold at least once.
  • Raid and resub rules ask for the raid’s viewers or the months subscribed (plus an optional streak), and charity rules for an optional charity name, so the chat message’s $(viewers), $(months), $(streak) and $(charity) read what you entered.
  • Every other rule earns once per grant.

The grant flows through the normal pipeline: chat notification, meta-rule evaluation, and earn caps all apply. An optional reason field (up to 500 characters) records the source.

The Leaderboard tab shows the event’s totals (gifted subs, bits, tips, new subs, resubs) and top-10 boards: top gifters, top single gift, top cheerers, top single cheer, top tippers, top single tip, recent subs, and top resubbers by months. Bits include Power-ups and the credited share of Extension bits. Anonymous cheers, gifts and tips are left out.

It also shows Lifetime Gifts (Twitch): Twitch’s all-time gift count for your channel, not just this event. Anonymous gifts, gifters who hide their total, and viewers who opted out of audience analytics aren’t included.

The Report tab shows per-rule counts (earned, pending, claimed, completed), the top 20 reward earners, cumulative gift totals, and a per-viewer, per-reward breakdown. The earner tables list Twitch accounts only, so Tiltify donors appear in Pending Rewards but not here.

Run giveaways from Events → Giveaways. One giveaway is active at a time; end the current one before opening another. The page also shows how many viewers have Pending Entries waiting for the next giveaway, and a History of past giveaways.

Option Behaviour
Giveaway name Optional label, up to 200 characters — shown in chat and giveaway history
Eligibility filter anyone (default), followers only, subscribers only, Tier 1+/Tier 2+/Tier 3 only, or VIPs only — checked live against Twitch at entry
Require claim Winner must type !claim within the claim window or is disqualified
Claim window 30 – 3,600 seconds, default 300
Revalidate at draw Re-check each entrant’s eligibility at draw time (entries earned through reward rules skip revalidation)
Time limit Optional expiry, set as a duration or as an end time — entries close automatically when it runs out. Not available for Event Reward Only giveaways
Event Reward Only Entries come only from a chosen event’s earned rewards (disables all other entry methods)
Allow multiple entries Viewers accumulate entries instead of one each; draws are weighted by entry count

Entry methods are chosen when the giveaway opens and locked once it starts:

Method Options
Keyword Viewers type the exact keyword (up to 100 characters, case-insensitive) in chat
Bits Minimum bits required, bits per entry, entries per trigger
Subscribe Minimum tier, entries per sub
Gifted Subs Minimum gifts required, gifts per entry, entries per trigger
Channel Points Optional reward ID to match, entries per redemption
Reward rules Any rule with the Grant giveaway entries action feeds its entries to the active or next giveaway

Bits entries count cheers, Power-ups and Extension bits alike. Charity donations never grant entries.

Entries targeted at the next giveaway (from reward rules, or earned while no giveaway is open) are held as pending entries for up to 14 days and flushed in automatically when the next giveaway opens.

An Event Reward Only giveaway takes its entries from the chosen event’s earned rewards: one entry per earn, or one per earner when Allow multiple entries is off. When it opens it enters everything already earned in that event, and while it’s open every new earn in that event — live, manual, meta or backfilled by Recalc — enters the viewer too. An earn that is taken back (a new sub replaced by its resub, or a late Prime correction) withdraws its entry. Trim to dates doesn’t withdraw entries.

A giveaway can be given an optional time limit when it opens — either a duration (1 minute to 30 days from now) or an absolute end time (read in your browser’s time zone). Chat announces the limit alongside the giveaway, then posts countdown reminders on the way down (a longer giveaway gets coarser reminders; a very short one gets few or none).

When the limit runs out, entries close automatically and chat is told, exactly as if a mod had pressed Close entries. If Announce winner automatically was switched on, a winner is drawn and announced in the same moment — with Require claim on, that starts the usual claim window. Leave it off and the giveaway simply stops taking entries, so you can draw whenever you’re ready.

Closing, picking or ending the giveaway yourself before the limit cancels it. A time limit is not available for Event Reward Only giveaways, and the !giveaway open chat command doesn’t take one — set it from the dashboard.

The giveaway’s name can be changed while it is running, from the Active Giveaway card. It is a label only — the entry keyword, entry methods and time limit are fixed once the giveaway opens, chat is not re-announced, and any remaining countdown reminders use the new name.

Pick winner draws randomly, weighted by entry count. If Require claim is on, the winner is announced and must type !claim in chat within the claim window; unclaimed wins are disqualified automatically and the giveaway reopens for a redraw. Reroll disqualifies the current winner and draws again. End giveaway closes everything out. All transitions are announced in chat.

Moderators (Lead Mods included) and the broadcaster can drive giveaways from chat:

Command Effect
!giveaway open <keyword> Open a keyword giveaway
!giveaway close Close entries (draw still possible)
!giveaway pick Draw a winner
!giveaway reroll Disqualify the current winner and redraw
!giveaway end End the giveaway
!claim (Winner only) claim within the claim window

Entrant limits are tier-based: 1,000 entrants on Affiliate, 10,000 on Partner and above. See Tier comparison.

  • Announcements are posted as the broadcaster (this module does not use the shared/custom bot identity — that applies to Chatters and Modomation).
  • Earn messages from one Twitch event go out about 2 seconds apart. Past the fifth, the rest are queued and sent at the same spacing over the following minutes, so earn announcements from a big gift bomb trickle out rather than flooding chat.
  • All chat messages are truncated to 500 characters. Giveaway announcements are limited to 20 per minute per channel.
  • A Twitch event delivered more than once is counted once, so redeliveries never double-earn.
  • If a chat send fails, the earn is still recorded — the reward appears in Pending Rewards even when the announcement didn’t go out.

Events → Event Page gives the channel a public page at streamercatalyst.com/e/<your-twitch-name> — a link to drop in chat that shows the night as it happens: the event’s countdown and totals, the subathon clock, the goals ladder, what viewers can earn, the open giveaway, the wheel, the leaderboards, the tip goal and your charity campaign. It refreshes itself every 30 seconds without reloading, so a viewer can leave it open.

The tab has two panes — Public page and Broadcaster view — and each carries its own style, its own card list and its own live preview. Style, cards, headline and the publish switch are one record: Save changes saves them together and Discard drops unsaved edits. The Live preview is the real page, including the style and card order you haven’t saved yet; viewers and your browser source get the saved version.

Public page is what viewers see, and it starts off. The page is private until you turn Publish this page on: before that the link answers “This event page isn’t published” to everyone but you, so you can lay it out, style it and preview it first. Turning the toggle back off takes it down again — within about a minute the link stops working for viewers, and nothing about your event is exposed while it is off. Headline (up to 80 characters) replaces your channel name at the top of the page. If Events isn’t on your plan, the page doesn’t serve to viewers; you see a note that it will publish once Events is active on your plan.

Broadcaster view is the same event rendered bare for OBS: no navigation, no sign-in, no footer. Copy the browser-source URL into an OBS Browser source at 1920×1080. From top to bottom it draws an optional totals strip, the subathon ring clock and the goals as a milestone track, an optional row of full cards (reward ladder, leaderboards, recent earns), then tiles (giveaway, last wheel spin, top gifter, tip goal, charity). That URL carries your overlay token, so it is broadcaster and Lead Mod only, and revoking the token in the Widgets module invalidates it. It is not affected by the Publish toggle — that switch governs the public page only, so your own overlay keeps working whether or not viewers can reach the page. An open browser source picks up a save on its next refresh, within a minute or two.

Both panes use the same controls as the Widgets Style tab: six accent presets plus a colour well and a hex field, a background theme, a font, a font colour (Auto follows the theme), and Base Size / Font Size sliders. The public page has Dark and Light; the browser source adds Transparent, which drops every surface so it composites over your scene. Reset style puts these controls back to their defaults and leaves the pack alone. The preview is the real page — not a mock-up — so what you see is what it renders.

Packs. When skins are available to your channel, a Pack picker appears at the top of each pane’s Style card, chosen separately for each pane. A pack replaces the page’s colours and fonts; Base Size and Font Size still apply, and Transparent still works on the browser source. The controls it overrides are hidden while it’s on, and your own settings come back when you switch to None. Some packs dress your own style instead of replacing it, and leave every control showing.

  • A pack marked 🔒 isn’t in your plan: picking it previews it, watermarked, in your preview only, and it can’t be saved.
  • A pack you saved before losing access to it keeps drawing, marked “no longer in your plan”, but switching away removes it.
  • If the pack list can’t be loaded, the picker says so and offers Retry.

Drag to reorder, or use the arrows; the toggle turns a card off. On the public page the order is the order viewers scroll through. On the browser source the totals, timer and goals keep their place at the top, and the order applies within the panel row and within the tiles.

Public page card Default
Subathon timer, Subathon goals, Reward ladder, Your Event Numbers, Giveaway, Wheelspin, Leaderboards, Tip goal, Charity campaign On
Recent earns Off
Browser source card Default
Subathon timer, Subathon goals, Giveaway, Wheelspin, Top gifter, Tip goal On
This event totals, Reward ladder, Leaderboards, Recent earns, Charity campaign Off

A card with nothing behind it is left out entirely. A channel with no subathon widget gets no clock; a channel with no wheelspin gets no wheel; a channel with no charity campaign gets no charity card. And a figure we could not read is shown as an em dash with a sentence saying so — never as a zero, because “nobody cheered tonight” and “we could not reach the service that counts cheers” are different things.

  • Reward ladder (“What you can earn”) lists every enabled rule in the event with its trigger, a short threshold label and how many times it has been earned, four to a page. On the public page viewers swipe or use Previous/Next; on the browser source the pages turn by themselves every 10 seconds. Rules carry no public description, so name them for viewers. A chat-phrase rule shows how many times it’s needed, never the phrase itself — put the phrase in the rule’s name if you want viewers to know it.
  • Subathon goals follows your Subathon goals widget’s settings: its style (Ladder, Milestone Track or Spotlight), header title, how many goals are visible, and whether completed goals and the overall meter show. The browser source always draws it as a milestone track.
  • Leaderboards has Gifters, Cheerers and Tippers tabs on the public page; the browser source shows every board side by side.
  • Charity campaign shows your Twitch Charity campaign or linked Tiltify campaign: the amount raised, the goal, and a Donate button that leads to Tiltify or to your Twitch channel. A campaign that ended during the event stays as “Raised …”; between events only a running campaign shows. A linked Tiltify campaign’s milestones show as marks on the raised bar, with a line naming the next one and how much is left.
  • Recent earns lists the latest earns in the event.

The top of the page carries the event’s countdown and a stat strip (Subs, Bits, Gifted subs, New follows, Rewards earned).

While an event is running, the stat strip and the leaderboards cover the whole event, whether or not you’re live: every sub, bit, gifted sub and follow the event collected, and the same totals the reward ladder counts its earns from. Subs count each subscriber once a month, so a tier upgrade isn’t counted twice, and a re-follow is one follower. Between events they show your stream instead: the one running now, or the last one that ended. Rewards earned drops out, since nothing is earned outside an event. The strip and the leaderboards both say which one you’re looking at (“This event”, “This stream”, “Last stream”).

  • Live this event is the time you were actually live inside the event’s dates — not the time since it started. It appears once the event has a start date that has passed.
  • The countdown reads “Starts in 1d 02:00:00” before the event’s start date, then “2d 23:59:48 left” until its end date, and switches over by itself at the start. With a start and no end date, it disappears once the start passes. After the end it reads “Event ended” until the event switches off (within a minute) and the page drops it. The page counts down to the start even though the event is already collecting — see Events and the active event window.

A viewer can sign in with Twitch to see Your Event Numbers: their entries in the current giveaway, what they have given this event (gifted subs, bits and tips, each with its unit), and their rank. The rank is by giveaway entries when the event has its own giveaway with multiple entries allowed, otherwise by rewards earned when the event has reward rules, otherwise their best place on the gifter, cheerer or tipper leaderboard. The card says which one it’s showing, and says “Unranked” when there’s nothing to rank on yet. Between events there is no window to measure “what you gave” against, so those figures are withheld rather than widened to a lifetime total — the panel says so. It asks for no permissions at all — the name is the whole point of it, nothing is posted on anyone’s behalf, and no viewer account is created. The identity is a signed cookie scoped to the Event Page and nothing else, and it expires on its own after 30 days.

Signed-out viewers see everything except that one panel.

Event data — running totals for gifted subs and bits, recent rewards, top gifters/cheerers, goal progress (the Event Goal and each rule’s Rule Goal), and single-stat counters — is exposed to OBS browser sources through a per-channel widget token (a 64-character key; revoking it invalidates every running overlay). Overlay setup lives in the Widgets module; the retired Events → Widgets tab redirects there.

The Event Page’s browser source (see The public Event Page) is a second overlay surface — the same event, rendered for OBS from the Broadcaster view pane.

Rule earns can also be worth points on the subathon goals ladder — set that up in Widgets → Subathon goals → Settings → Events rules. An earn that is later taken back (a new sub replaced by its resub) comes off the ladder too.

Twitch events are connected automatically — there’s nothing to register by hand:

  • Always connected for a channel with Events on its plan: cheers, Power-ups, gifted subs, and chat sub notices (used for Prime detection and lifetime gift totals).
  • Connected on demand: follows, chat messages, channel-point redemptions, new subs, resubs, raids and charity donations are subscribed only while at least one enabled rule of that trigger exists.

New subscriptions can take a few minutes to appear. When an enabled rule’s events aren’t connected yet, Manage Events shows a Twitch events not connected yet banner naming them, with Recheck to look again and Re-authorise for when a missing Twitch permission is the cause.

See Events — Authentication & permissions for the OAuth scopes and EventSub subscription details.

  • Broadcaster and Lead Mods can do everything: manage events, rules, giveaways, the Event Page and settings, grant rewards manually, add notes, and move rewards through Claim / Complete / Reopen.
  • Regular mods can view everything — events, rules, Pending Rewards, leaderboards, reports, giveaways and the Event Page pane. On the Pending Rewards tab they can also grant rewards manually, add notes, and Claim / Complete / Reopen. They can’t change events, rules, giveaways, the Event Page or settings from the dashboard, though they can still run giveaways from chat with the !giveaway commands.
  • Read-only masquerade sessions cannot change anything.
  • The Event Page’s browser-source URL is broadcaster and Lead Mod only: it carries the channel’s overlay token. Regular mods see the rest of the pane.

Events → Settings (defaults in parentheses):

Setting Effect
Tier Multipliers (off) Convert gifted subs to points: Tier 2 ×2, Tier 3 ×5
Cumulative Gifts (off) Channel-wide default for gifted-subs rules without a per-rule cumulative setting; switching it on backfills totals
Count Twitch Prime (on) Count Prime subs toward Tier 1 rules; off excludes them (detected via chat sub notices)
Unlock Lower Rewards (Every time) What lower-threshold matching rules do: fire on every time they’re crossed, once each per event, or not at all
Chat on Earn (on) Announce earns in chat (doesn’t affect giveaway entry grants)
Chat on Claim (off) / Chat on Complete (off) Announce status changes, with editable templates

Most of these can be overridden per rule in the rule editor’s Advanced settings.

Feature Affiliate Partner / Partner+
Events module ✓ ✓
Rules per event 5 Unlimited
AI-generated messages — ✓
Meta rules — ✓
Giveaways ✓ (1,000 entrants) ✓ (10,000 entrants)

See Tier comparison for the full matrix.

Idea How
Bits ladder Three Bits rules at 500 / 1,000 / 5,000 with escalating rewards; leave Unlock Lower Rewards on “Every time” so a 5,000 cheer earns all three
Tip ladder without the spam Tip rules at $10 / $50 / $100; set Unlock Lower Rewards to “Once each” so a $100 tip earns one of each instead of ten $10 rewards
Charity milestone thanks Charity Donation rule at $25: “💜 $(username) just gave $(amount) to $(charity)!”
Sub-a-thon milestone Follow rule, threshold 100: “🎉 $(username) was our 100th new follower of the event!”
Community gift chase Cumulative gifted-subs rule at 20: “$(username) has gifted $(amount) subs this stream — legend!”
Loyalty redemption Channel-points rule, threshold 10: reward a viewer’s 10th redemption of a hydrate reward
Raid welcome Raid rule, threshold 10, AI message prompted to welcome the raider by name and viewer count
Hype phrase counter Chat-phrase rule on your channel catchphrase, threshold 25, contains-match
Super-fan badge Meta all-of rule over a Bits rule + a Gifted Subs rule + a Resub rule, with Max earns per viewer at 1 — fires once, only for viewers who did all three
Giveaway feeder Bits rule with the Grant giveaway entries action so every 100 bits adds an entry to the next giveaway

See Inspiration / recipes for cross-module automations that build on these rules.

See Events — API endpoints for the full list of HTTP endpoints.

See Events — Authentication & permissions for the OAuth scopes this module uses and the EventSub subscriptions it registers.