A trigger is the event that starts a flow. Every flow has at least one. Most triggers can be narrowed to exactly what you care about, so a reward trigger can fire for one specific reward, and a keyword trigger can fire only on the words you choose.
Every trigger
Triggers cover the things that happen on your channel, your chat, your modules and your moderation. Here is the full menu, grouped the way it appears when you add a trigger node:
Subs & bits
Someone followsFires when a viewer follows the channel.
Someone subscribesFires on any subscription (new, resub, gift, Prime, and more).
Someone cheers bitsFires when a viewer cheers bits in chat.
Someone tipsFires on a tip (our own PayPal IPN, normalized to USD).
Someone buys merchFires when a viewer buys merch (Fourthwall).
A subscription endedFires when a subscription lapses (bookkeeping, never a celebration).
Someone reaches a new bits badge tierFires when a viewer crosses a new Bits badge tier threshold.
Raids & shoutouts
Someone raids youFires when another streamer raids the channel.
You receive a shoutoutFires when a moderator gives a shoutout to another channel.
Stream
A clip is createdFires when a clip of your stream is created, by anyone.
Title or category changesFires when the stream title, category, or language changes.
Stream goes liveFires when the channel goes live.
Stream goes offlineFires when the channel goes offline.
An ad break beginsFires when an ad break starts.
An ad break endsFires when an ad break finishes.
On a scheduleFires at a time you set, optionally limited to certain days or only while live.
Channel points
A reward is redeemedFires when a viewer redeems a channel-point reward.
A Power-up is usedFires when a viewer uses a Twitch Power-up (Gigantify an Emote, Celebration, Message Effect).
Giveaways
A giveaway winner is drawnFires when a giveaway winner is revealed.
A giveaway startsFires when a giveaway opens for entries.
Someone enters the giveawayFires when a viewer enters the running giveaway.
Hype train
Hype train starts or levels upFires when a hype train begins or reaches a new level.
Hype train endsFires when a hype train finishes.
Polls & predictions
A poll endsFires when a Twitch poll finishes (completed, ended early, or archived).
A prediction endsFires when a Twitch prediction resolves or is canceled.
Chat
Someone sends a messageFires on every chat message.
Someone hits a watch streakFires when a viewer reaches a Watch Streak milestone (consecutive streams watched).
A message matches a keywordFires when a chat message contains a keyword or phrase (or matches a regular expression).
A first-time chatter speaksFires the first time a viewer ever sends a message.
A returning regular speaksFires when a known regular sends their first message of the stream.
A command is usedFires when one of your chat commands is run.
Moderation
A message is deletedFires when a moderator deletes a single chat message.
A user's messages are clearedFires when a user's messages are cleared (timeout or ban, undifferentiated).
A user is timed outFires when a moderator times out a user.
A user is bannedFires when a moderator bans a user.
A user is unbannedFires when a moderator removes a ban.
A user is warnedFires when a moderator warns a user.
AutoMod holds a messageFires when AutoMod holds a message for review.
A held message is resolvedFires when an AutoMod-held message is approved or denied.
Counters
A counter changesFires when a counter value changes.
Queue
Someone joins the queueFires when a viewer joins the queue.
Someone leaves the queueFires when a viewer leaves the queue.
The next viewer is brought upFires when the next person in the queue is pulled up.
Media requests
A song is requestedFires when a viewer requests a song.
A song startsFires when a requested song starts playing.
A song is skippedFires when a song is skipped.
A song finishesFires when a requested song finishes playing.
Timers
A timer firesFires when one of your chat timers posts.
Goals
A goal makes progressFires when a goal advances toward its target.
A goal is reachedFires when a goal hits its target.
Welcome
Someone is greetedFires when the welcome module greets a chatter.
Watchable values
A value crosses a thresholdFires once when a watchable value crosses a threshold (a counter reaches N, hype reaches a level, uptime passes a time, the subathon clock drops below a time).
Chat velocity spikesFires when a burst of chat messages arrives within a time window.
Flows
A custom event firesFires when another flow emits a named custom event via the "Emit a custom event" action.
Narrowing a trigger
Most triggers have a filter so the flow only runs for the case you want. A few examples:
A reward is redeemed lets you pick one reward, or "Any reward" to fire on all of them.
A message matches a keyword lets you match a word or phrase, or switch to a regular expression for precise matching. The Regex Assist helper can write the expression for you.
A command is used lets you pick which of your commands fires the flow.
A subscription can be limited to a tier, a gift, or a resub.
One flow can watch more than one thing
You can put more than one trigger in a single flow. Each trigger only starts its own branch, so a flow with a chat trigger and a song trigger keeps the two paths separate.
Built-in rewards and Power-ups
Twitch has two kinds of channel-point reward: the custom ones you create, and the built-in ones (Highlight My Message, Unlock an Emote, and so on) plus Power-ups. The reward trigger lists your custom rewards next to the built-in ones, so you can flow off either. Power-ups (Gigantify an Emote, Celebration, Message Effect) have their own trigger.
Built-in rewards have no listed cost
Twitch does not share the price of the built-in rewards with apps ahead of time, so only your custom rewards show a point cost in the picker.
Newer triggers
Chat velocity spikes fires on a burst of messages inside a rolling window, and can optionally count only messages that contain some text or match a regex. It carries a messages list, each entry with the message text, the chatter's login, their display name and their id, so you can reference the first, the last, a random one, or join them together.
On a schedule fires at a time of day you set. Limit it to weekdays, or to only while you are live, and it reads the clock in your Bot Settings timezone.
A value crosses a threshold fires once, the moment a tracked value crosses a line you set. See Watchables below for what you can track.
A custom event fires fires when another flow runs the "Emit a custom event" action with a matching name, so you can pair two flows together. Leave the name blank to match any custom event.
Values you can watch
The threshold trigger works off a fixed set of values the platform tracks for you:
Value
Example
Counter's value
When deaths reaches 100.
Hype train level
When the train reaches level 3.
Stream uptime
When uptime passes 2h.
Viewer count
When viewers rise above 500.
Goal progress
When the follower goal reaches 75%.
Subathon time remaining
When it drops below 5m.
Queue length
When the queue reaches 10.
Giveaway entries
When entries reach 100.
Ask the docs
Have a question?
Thinking it through...
Answer
Get an answer instantly; our model is trained on every feature of our streaming suite.