Smart alerts are a "when this happens, do these things" rule engine. Follows, subs, Bits, tips, keywords, commands and timers can all be triggers; actions include sending a message, popping an on-screen alert, throwing an object, adding marathon time, and more.
What it solves
Every other module handles one thing, but real stream moments are usually combinations: someone cheers and you want an on-screen alert, a thank-you in chat, and a wheel spin — all at once. Smart alerts separate triggers from actions so you can combine them freely, instead of waiting for a feature that covers each specific pairing.
Getting started
- Start from a template in the gallery, or create a blank rule.
- Choose the trigger: what has to happen.
- Add actions: what to do (several, executed in order).
- Optionally set cooldowns, permissions, and "live only".
Message action details
A message beginning with /reply replies to the triggering message (for command and
keyword triggers); for other triggers it @-mentions whoever caused it. If you type a
native Twitch command such as /marker or /timeout, it is converted into the
matching action on save rather than being sent as plain text.
Common misconceptions
- Using a command as a trigger doesn't require that command to be enabled. But the Commands page's permissions and "live only" setting still apply — the rule bypasses the enable switch, not every gate.
- Actions run in order, and the order matters. Message-then-spin and spin-then-message feel different to the viewer.
- Twitch announcements require MOD. Sending the message as an announcement gives it a highlighted background in chat, but the sending identity must be a MOD of your channel.
- You can't send as your own account until you've joined the channel. Complete that on the "join channel" page first; otherwise messages go out as the official bot.
- The free plan caps the number of actions. At the limit, delete actions you no longer use or upgrade to Pro.
Settings
The text below is taken from the in-app help, so it stays in sync with the actual interface.
| Setting | What it does |
|---|---|
| Full custom | Start from a blank rule and configure everything |
| Throwing trigger | A rule whose main action is throwing — pick a trigger, items and count |
| Alert notification | A rule whose main action is an on-screen alert — pick a trigger, style and message |
| Run as | Which account sends this rule’s messages/commands. |
| Command | Enter the leading ! yourself if your command needs one. |
| Min | Triggers at this value or above (inclusive); 0 = no limit |
| Max | Triggers at this value or below (inclusive); 0 = no limit |
| Reward ID | Optional — pin to one reward when titles collide. |
| Send as announcement | Sends the whole message set as a Twitch announcement, highlighted in chat. The run-as account must be a moderator of this channel. |
| Arguments (optional) | Text appended after the command (optional); supports variables/functions. |
| Run as | As triggering user = runs as if that user typed the command in chat; As bot = runs as the bot. |
| Ignored users | Space-separated logins. |
| Hide the bot badge | When on, this notification looks like an ordinary message from the run-as account — no bot badge next to the name. |
| Payment provider | Triggers only for this provider; "All" = any provider. |
| Trigger count | The {count} template variable; auto-increments by 1 on each trigger. You can override the running total. |
| Per-stream limit (all viewers) | Max triggers for this rule during one stream, across all viewers. 0 = unlimited. |
| Per-stream limit (per viewer) | Max triggers per viewer during one stream. 0 = unlimited. |
| Items | No selection = random among all enabled items. |
| Burst interval (ms) | 0 = use the widget default. |
| Count mode | Scale with value: the number of throws follows bits / gift subs etc. |
| Throw once per N | e.g. 100 = one throw per 100 bits / per 100 gift subs; below N nothing is thrown. |
| Max throws | 0 = unlimited; on-screen density is governed by the Throwing "Max concurrent items" setting. |
| Size multiplier | Multiplies each item's size; 1 = use item settings. |
| Weight multiplier | Multiplies item weight; heavier hits knock back harder and sound louder. |
| Volume multiplier | Multiplies item volume; 100% = use item settings. |
| Style | Look (layout / theme / image / sound) comes from the style. |
| Duration override | 0 = use style setting (3–60 s). |
| Subtitle | Leave empty to hide. |
| Read message aloud | Reads the subtitle (title if none); blocked words mute the read-out while the alert still pops. |
Other notes
- The permission and "only while live" settings from the Commands page still apply. The command itself does not need to be enabled.
- You haven't joined this channel, so you can't send as yourself. Join it on the Join Channels page first.
- Start a message with /reply to reply to the triggering message (command/keyword); other triggers fall back to @mentioning the triggering user.
- During the cooldown, repeat triggers skip only the chat message (to avoid spam); the command actions still run as usual.
- The slider goes up to 300s; use the number field for longer values (max 86400s / 24 hours).
- No roles selected = nobody can trigger this rule. To allow everyone, select all roles.
- Quota and chat permission are bound to this account and cannot be changed.
- This identity's quota
- Voice, speed and pitch live in Alert Box → Style settings and are shared by every rule using that style.
Other settings
These settings have no additional help text in the dashboard; only their names are listed here.
- Select page
- Enable
- Disable
- Delete
- Clear
- Add
- Couldn't load this notification's settings.
- min
- No connected Twitch identity to run as yourself.
- This rule contains an action your current role can't use, so it's read-only for now. Ask the broadcaster or an editor to adjust it.
- Moderation command — runs with elevated permissions and is logged to the audit trail.
- Never runs if the target is a channel moderator, the broadcaster or the official bot. To punish a moderator, /unmod them on Twitch first.
- Advanced
- When it triggers
- What it does
- Limits
- Simple mode
- Advanced mode
- Choose a scenario
- Thank your supporters
- Stream rhythm
- Interactive responses
- Other
- Thank a follow
- Thank a sub
- Thank gifted subs
- Thank a cheer
- Thank a tip
- Welcome a raid
- Reward a watch streak
- Going live
- Stream ends
- Scheduled promo
- Start a raid
- Custom command reply
- Reward redemption
- Keyword response
- Earthquake alert
- Say thanks when someone follows
- Say thanks when someone subscribes
- Say thanks when someone gifts subs
- Say thanks when someone cheers bits
- Say thanks when someone tips
- Welcome viewers when a channel raids you
- Respond when a viewer hits a watch streak
- Announce in chat when the stream starts
- Sign off when the stream ends
- Post a recurring promo on a timer
- Announce when you start a raid
- Reply when a viewer types a command
- Respond when a viewer redeems a reward
- Respond when chat mentions a keyword
- Broadcast an earthquake early warning
- Don't forget to follow so you never miss a stream!
- {username} redeemed a reward!
- Message
- More actions
- Create
- Display
- Chat message
- Announcement
- + Alert Box
- + Throw items
- + Shoutout back
- the stream starts
- the stream ends
- a viewer follows the channel
- another channel raids in
- you start a raid
- a viewer hits a watch streak
- a viewer cheers bits
- a viewer subscribes
- a viewer gifts subs
- a viewer donates AI credits
- a viewer gifts a ChiwaBots paid plan
- a viewer sends a tip
- an earthquake early warning fires
- sends a chat message
- posts a highlighted announcement
- throws items
- shows an Alert Box
- ,
- Sensible defaults applied.
- Limits:
- ,
- only while live
- restricted viewers
- Add message
- Add action
- Pick a random recently-active chatter (optional minutes, default 10).
- All
- Type
- Executor
- Status
- Enabled
- Disabled
- Highlight your message in a chosen color.
- Prompt viewers to follow a channel.
- Add a stream marker (optional comment) at the current time.
- Permanently ban a user from chat. Reason optional.
- Temporarily ban a user from chat (duration and reason optional).
- Remove a ban or timeout on a user.
- Remove a timeout on a user.
- Clear chat history for all viewers.
- Raid another channel, sending your viewers there.
- Cancel a raid.
- Events
- Custom reward redemption
- Custom command
- Timers
- Keywords
- Stream starts
- Stream ends
- Follow
- Incoming raid
- Outgoing raid
- Share watch streak
- Cheer
- Subscribe
- Gift subscription
- AI credits donation
- Gift a ChiwaBots paid plan
- Earthquake early warning
- Tip
- Myself
- Broadcaster
- Official bot
- Send message
- Twitch command
- Built-in command
- Throw items
- Alert Box
- Requires editor role or above
- Requires MOD role or above
- Random
- Sequential
- Block
- Silent (count only)
- As triggering user
- As bot
- Default
- Blue
- Green
- Orange
- Purple
- Triggering user
- Custom
- User
- Channel
- Reason (optional)
- Duration (optional)
- Message
- Description (optional)
- Taipei
- Taoyuan
- Taichung
- Tainan
- Kaohsiung
- Yilan
- Contains
- Starts with
- Regex
- Trigger
- Action
- Limits
- Name
- Trigger type
- Event
- Reward name
- Keyword
- Match mode
- Trigger every (min)
- Min chats
- Gifted only
- Area
- Delay (s)
- Command
- Arguments
- Announcement color
- Argument source
- Command
- Only usable while live
- Global cooldown (s)
- Per-user cooldown (s)
- Viewer Permissions
- Rotation
- Turn on "Usable only while live" first to set a per-stream usage limit.
- Triggered this stream:
- Not currently live
- Reset stream count
- Reset this stream's usage count?
- This zeroes both the "all viewers" and "per viewer" counts for the current stream. The lifetime trigger count is not affected. This cannot be undone.
- Display name
- Login
- Name (Twitch style)
- Amount
- Months subscribed
- Message
- Tier
- Tier (CJK)
- Trigger count
- Magnitude
- Seconds
- Payment provider
- Payment provider (CJK)
- Random symbol
- Random number
- Pick one
- User
- Event
- Command args
- Module
- General
- Unknown variable/function
- Invalid function arguments
- Malformed token
- Not available for this trigger
- Identity expired
- Disabled (role revoked)
- Disabled (over limit)
- Name is required.
- Reward name is required.
- Command is required.
- Keyword is required.
- At least one message is required.
- A message contains an invalid variable/function.
- Select a Twitch command.
- Select a built-in command.
- Alert Box action requires a style.
- Alert Box action requires a title.
- Enter a Twitch username
- Broadcaster
- Over limit — won't fire
- Live broadcast begins!
- The live broadcast is over.
- Thank you for following {username}!
- {username} just raided the channel with {amount} viewers!
- Is ready to raid {username}.
- {username} watched {amount} consecutive streams and sparked a watch streak!
- {username} has cheered {amount} bits!
- {username} just subscribed!
- {username} just gifted {amount} subscriptions!
- Thanks {username} for donate AI Credits {amount}pt!
- Thanks {username} for gifting {months} months of plan time!
- Estimated magnitude {level}, about {seconds}s after arrival.
- Thanks {username} for donate {amount}$! Say: {say}
- All
- ECPay
- OPay
- PAYUNi
- NewebPay
- PayPal
- Unifi Pay
- The Throwing module is disabled — this action will not run until it is enabled.
- All random
- Count
- Min intensity
- Max intensity
- Spawn side
- Fixed count
- Scale with value
- Items per throw
- Auto
- Left
- Right
- Top
- Bottom
- No styles yet — create one on the Alert Box page first.
- Title
