Celebrate a follower goal with Threshold Reached
Count new Twitch followers during the current stream, display the total in OBS, and restart an animation when the counter reaches a goal.
AlphaResult
This guide creates a follower goal for the current broadcast:
- Starting the stream resets a Number variable to zero.
- Every Twitch follow increments the variable and updates an OBS text source.
- When the value changes from below the target to exactly
10, a Threshold Reached signal restarts a celebration animation.
The workflow is split into three small automations so the counter, display, and goal reaction remain independent.
Before you start
This guide assumes you already know how to create automations, add actions, create project variables, connect Twitch and OBS, and configure OBS Slots.
You need:
- a connected Twitch account that can receive Follow events;
- a connected OBS profile;
- one Number variable;
- one OBS Text Slot;
- one OBS Media Slot.
Step 1. Prepare the OBS sources
In OBS, create a text source named:
New_followers_counter
Set its initial text to:
New followers: -
Add a Media Source named:
Followers_Animation
You can use the example video from this guide:
Download followers-animation.mp4
In the Media Source properties, disable Restart playback when source becomes active. The source can remain available in the scene while Streaming Hub explicitly restarts it with an OBS action.
Step 2. Create the OBS Slots
In the Streaming Hub OBS tab, create and bind:
| Slot type | Slot name | OBS binding |
|---|---|---|
| Text | New_followers_counter | Text source New_followers_counter |
| Media | Followers_Animation | Media Source Followers_Animation |
Using Slots keeps the downloaded folder portable across OBS profiles. The Slot definitions and Bindings themselves are project-specific and are not included in the folder export.
Step 3. Create the counter variable
Create a project variable:
| Field | Value |
|---|---|
| Name | new_followers_counter |
| Type | Number |
| Initial value | 0 |
The three automations will share this value through:
vars.new_followers_counter
Step 4. Reset the counter when streaming starts
Create an automation named:
New_Follower_Counter_at_Zero
Use the OBS Stream Started signal. If another service is the authoritative source for your live state, you can instead use vMix Stream Started, Twitch Online, or YouTube Online.
Add Core Set Variable:
| Field | Value |
|---|---|
| Target Path | vars.new_followers_counter |
| Value Template | 0 |
Then add OBS Source Set Text:
| Field | Value |
|---|---|
| Text Slot | New_followers_counter |
| Text | New followers: {vars.new_followers_counter} |
When the stream starts, the variable becomes 0 and OBS immediately shows:
New followers: 0
Step 5. Increment the counter for every follow
Create an automation named:
Follower_Count_Increment
Select the Twitch Follow signal.
Add Core Increment Value:
| Field | Value |
|---|---|
| Target Path | vars.new_followers_counter |
| Delta | 1 |
| Clamp Min | Empty |
| Clamp Max | Empty |
Copy Source Set Text from the reset automation and place it after Increment Value:
| Field | Value |
|---|---|
| Text Slot | New_followers_counter |
| Text | New followers: {vars.new_followers_counter} |
The order matters: Streaming Hub increments the value first, then sends the updated total to OBS.
Step 6. Create the threshold automation
Create a third automation named:
Followers_Goal_Reached
Select the Core Threshold Reached signal and configure:
| Field | Value |
|---|---|
| Source Path | vars.new_followers_counter |
| Comparison | Equal |
| Target Value | 10 |
| Epsilon | 0 |
| Sampling Mode | Event Driven |
| Crossing Only | Enabled |
| Once | Disabled |
| Rearm Mode | Manual |
With Crossing Only enabled, the signal fires when the condition changes from false to true. During normal counting, the values progress from 9 to 10, so the equality condition becomes true once. At 11, it becomes false again.
If another action later reduces the counter below 10 and it reaches 10 again, the threshold can fire again while Once is disabled.
Step 7. Restart the celebration media
Add OBS Slot Restart Media:
| Field | Value |
|---|---|
| Media Slot | Followers_Animation |
When the follower counter reaches 10, OBS restarts the bound Media Source from its beginning.
This is different from showing and hiding the source: the media can remain in the scene, and every threshold event explicitly moves playback back to the first frame.
Step 8. Optional: announce the goal in chat
The downloaded folder matches the core example and restarts only the OBS media. To announce the goal as well, add Twitch Send Message after Slot Restart Media:
We reached {vars.new_followers_counter} new followers this stream! Thank you!
You can replace Twitch with YouTube or another supported chat service. If the same announcement should work across several services, call a shared chat macro instead of duplicating the goal logic.
Step 9. Group the automations
Create a folder named:
Followers_Threshold
Move these automations into it:
Followers_Goal_ReachedFollower_Count_IncrementNew_Follower_Counter_at_Zero
The downloadable folder at the end of this guide contains all three automations.
Verify the complete workflow
Test the system without waiting for a real broadcast:
- Set
new_followers_counterto a nonzero value. - Test New_Follower_Counter_at_Zero and confirm both the variable and OBS text return to
0. - Test Follower_Count_Increment several times and confirm the variable and OBS remain synchronized.
- Set the variable to
9, then test the Follow automation once. - Confirm that the value becomes
10andFollowers_Animationrestarts. - Test another Follow event and confirm the value becomes
11without another goal reaction. - If you added Send Message, confirm the chat announcement runs after the media restart.
If it does not work
- The counter does not reset: test the selected Stream Started or Online signal and confirm it belongs to the service that reports your actual broadcast state.
- The Twitch Follow automation does not run: reconnect Twitch and inspect the incoming signal in Logs.
- The variable changes but OBS does not: verify the Text Slot Binding and place Source Set Text after Increment Value.
- Threshold Reached never runs: confirm that the source is a Number variable, the Source Path includes
vars., and the value changes from below10to exactly10. - The animation does not restart: bind a Media Slot, not a generic Source Slot, and confirm that the OBS source is a Media Source.
- The animation restarts when changing scenes: disable Restart playback when source becomes active in the OBS Media Source properties.
- The goal runs more than once: check whether another automation decreases or resets the counter before it returns to
10; enable Once if the threshold must remain disarmed after its first run.
Adapt it
- Replace Twitch Follow with subscriptions, raids, donations, channel-point rewards, or another numeric event.
- Put the target in a Number variable and reference it in the threshold settings when you want to change goals without editing the automation.
- Use
GreaterOrEqualwhen the source can jump past the exact target instead of increasing one point at a time. - Add OBS filter, scene, or source actions to build a larger celebration.
- Add another threshold at
25,50, or100for tiered milestones. - Store a lifetime total separately while resetting only the per-stream counter.
- Use a shared macro to update both Twitch and YouTube chat when the goal is reached.
Related
Download the ready-made script
Import it into Streaming Hub, then follow this guide to add your own variables and connect the required services.
Download the follower goal folder