{
  "SchemaVersion": 1,
  "Kind": "folder",
  "Name": "Followers_Threshold",
  "Description": null,
  "Tags": null,
  "CreatedUtc": "2026-07-25T10:27:31.636683+00:00",
  "Source": {
    "App": "Streaming Hub",
    "AppVersion": "1.0.0.0",
    "ExportedUtc": "2026-07-25T10:27:31.636781+00:00"
  },
  "Data": {
    "Folder": {
      "Color": "#F59E0B",
      "ConcurrencyEnabled": false,
      "ConcurrencyMode": "Queue",
      "ConcurrencyOptions": {
        "DebounceMs": 500,
        "CooldownMs": 1000,
        "QueueMaxLength": 50,
        "QueueOverflowBehavior": "DropOldest",
        "MaxParallelPerAutomation": 4
      }
    },
    "Automations": [
      {
        "SourceId": "bfc9f3d9-732d-4015-9297-db50627c6c44",
        "Name": "Followers_Goal_Reached",
        "RelativeOrder": 0,
        "IsEnabled": true,
        "Script": {
          "Sequence": {
            "Steps": [
              {
                "ActionId": "OBS.Slot.RestartMedia",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "SlotId": "Followers_Animation",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": ""
                },
                "Body": null
              }
            ],
            "StopOnError": true
          },
          "Signal": {
            "SignalId": "Core.ThresholdReached",
            "Type": "CoreThresholdReached",
            "UnavailableReferenceKind": null,
            "UnavailableReferenceId": null,
            "UnavailableReason": null,
            "OriginalLegacyTypeToken": null,
            "PluginConfig": {},
            "TestPresets": [
              {
                "Id": "7b28edfd628d456b95edfce19e7a4d76",
                "Name": "Default",
                "Settings": {
                  "UserId": "user-1",
                  "UserName": "tester",
                  "Text": "test"
                }
              }
            ],
            "SelectedTestPresetId": "7b28edfd628d456b95edfce19e7a4d76",
            "InstanceId": "33d8c4d8891545a2a3fdff8758253617",
            "TextMatchMode": "Any",
            "TextPattern": null,
            "Channel": null,
            "TimerInterval": "00:01:00",
            "TimerIntervalSeconds": 60,
            "TimerStartDelay": "00:00:00",
            "TimerJitter": "00:00:00",
            "TimerGateVarPath": null,
            "TimerGateExpected": true,
            "TimerOnlyWhenStreamOnline": false,
            "TimerValidationMessage": "",
            "IsTimerConfigurationValid": true,
            "ScheduledMomentMode": "TodayAtTime",
            "ScheduledMomentDate": null,
            "ScheduledMomentTime": "00:00:00",
            "ScheduledMomentStartDelay": "00:00:00",
            "ScheduledMomentGateVarPath": null,
            "ScheduledMomentGateExpected": true,
            "ScheduledMomentEnabled": true,
            "ScheduledMomentDaysOfWeek": null,
            "ScheduledMomentGateMode": "SkipIfFalse",
            "ScheduledMomentGateMaxWait": "00:00:00",
            "ScheduledMomentPastPolicy": "Skip",
            "ScheduledMomentValidationMessage": "",
            "IsScheduledMomentConfigurationValid": true,
            "ThresholdSourceType": "Variable",
            "ThresholdSourceKey": null,
            "ThresholdSourcePath": "vars.new_followers_counter",
            "ThresholdNumericField": null,
            "ThresholdOperator": "Equal",
            "ThresholdTargetValue": 10,
            "ThresholdEpsilon": 0,
            "ThresholdSamplingMode": "EventDriven",
            "ThresholdPollingInterval": "00:00:01",
            "ThresholdCrossingOnly": true,
            "ThresholdRearmMode": "Manual",
            "ThresholdGateVarPath": null,
            "ThresholdGateExpected": true,
            "ThresholdOnce": false,
            "ThresholdResetPolicy": "Manual",
            "ThresholdValidationMessage": "",
            "IsThresholdConfigurationValid": true
          }
        },
        "Execution": {
          "CooldownSeconds": 0,
          "CooldownPerUser": false,
          "ConcurrencyMode": "Queue",
          "ConcurrencyOptions": {
            "DebounceMs": 500,
            "CooldownMs": 1000,
            "QueueMaxLength": 50,
            "QueueOverflowBehavior": "DropOldest",
            "MaxParallelPerAutomation": 4
          },
          "KeySelector": null,
          "DefaultStepTimeoutMs": null,
          "AutomationTimeoutMs": null,
          "OnStepError": "Stop"
        }
      },
      {
        "SourceId": "afc71aa8-2fb8-44fe-9926-6e5919be7eb7",
        "Name": "Follower_Count_Increment",
        "RelativeOrder": 1,
        "IsEnabled": true,
        "Script": {
          "Sequence": {
            "Steps": [
              {
                "ActionId": "Core.Value.Increment",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "TargetPath": "vars.new_followers_counter",
                  "Delta": "1",
                  "ClampMin": "",
                  "ClampMax": "",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": ""
                },
                "Body": null
              },
              {
                "ActionId": "OBS.Source.SetText",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "Slots": "[{\u0022SlotId\u0022:\u0022New_followers_counter\u0022}]",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": "",
                  "Text": "New followers: {vars.new_followers_counter}"
                },
                "Body": null
              }
            ],
            "StopOnError": true
          },
          "Signal": {
            "SignalId": "Twitch.Follow",
            "Type": "Plugin",
            "UnavailableReferenceKind": null,
            "UnavailableReferenceId": null,
            "UnavailableReason": null,
            "OriginalLegacyTypeToken": null,
            "PluginConfig": {},
            "TestPresets": [
              {
                "Id": "e5c55da3d70c45ae8559fb4e86087ad0",
                "Name": "Default",
                "Settings": {
                  "UserId": "user-1",
                  "UserName": "tester",
                  "Text": "test"
                }
              }
            ],
            "SelectedTestPresetId": "e5c55da3d70c45ae8559fb4e86087ad0",
            "InstanceId": "88a9f7d6f57d46308b1c8d199bbaf905",
            "TextMatchMode": "Any",
            "TextPattern": null,
            "Channel": null,
            "TimerInterval": "00:01:00",
            "TimerIntervalSeconds": 60,
            "TimerStartDelay": "00:00:00",
            "TimerJitter": "00:00:00",
            "TimerGateVarPath": null,
            "TimerGateExpected": true,
            "TimerOnlyWhenStreamOnline": false,
            "TimerValidationMessage": "",
            "IsTimerConfigurationValid": true,
            "ScheduledMomentMode": "TodayAtTime",
            "ScheduledMomentDate": null,
            "ScheduledMomentTime": "00:00:00",
            "ScheduledMomentStartDelay": "00:00:00",
            "ScheduledMomentGateVarPath": null,
            "ScheduledMomentGateExpected": true,
            "ScheduledMomentEnabled": true,
            "ScheduledMomentDaysOfWeek": null,
            "ScheduledMomentGateMode": "SkipIfFalse",
            "ScheduledMomentGateMaxWait": "00:00:00",
            "ScheduledMomentPastPolicy": "Skip",
            "ScheduledMomentValidationMessage": "",
            "IsScheduledMomentConfigurationValid": true,
            "ThresholdSourceType": "Variable",
            "ThresholdSourceKey": null,
            "ThresholdSourcePath": null,
            "ThresholdNumericField": null,
            "ThresholdOperator": "GreaterOrEqual",
            "ThresholdTargetValue": 0,
            "ThresholdEpsilon": 0,
            "ThresholdSamplingMode": "EventDriven",
            "ThresholdPollingInterval": "00:00:01",
            "ThresholdCrossingOnly": true,
            "ThresholdRearmMode": "Manual",
            "ThresholdGateVarPath": null,
            "ThresholdGateExpected": true,
            "ThresholdOnce": false,
            "ThresholdResetPolicy": "Manual",
            "ThresholdValidationMessage": "",
            "IsThresholdConfigurationValid": true
          }
        },
        "Execution": {
          "CooldownSeconds": 0,
          "CooldownPerUser": false,
          "ConcurrencyMode": "Queue",
          "ConcurrencyOptions": {
            "DebounceMs": 500,
            "CooldownMs": 1000,
            "QueueMaxLength": 50,
            "QueueOverflowBehavior": "DropOldest",
            "MaxParallelPerAutomation": 4
          },
          "KeySelector": null,
          "DefaultStepTimeoutMs": null,
          "AutomationTimeoutMs": null,
          "OnStepError": "Stop"
        }
      },
      {
        "SourceId": "0273856b-165e-4177-9864-5cf497e84637",
        "Name": "New_Follower_Counter_at_Zero",
        "RelativeOrder": 2,
        "IsEnabled": true,
        "Script": {
          "Sequence": {
            "Steps": [
              {
                "ActionId": "Core.SetVariable",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "VariableName": "vars.new_followers_counter",
                  "ValueTemplate": "0",
                  "TargetsJson": "[{\u0022TargetPath\u0022:\u0022vars.new_followers_counter\u0022,\u0022ValueTemplate\u0022:\u00220\u0022}]",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": ""
                },
                "Body": null
              },
              {
                "ActionId": "OBS.Source.SetText",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "Slots": "[{\u0022SlotId\u0022:\u0022New_followers_counter\u0022}]",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": "",
                  "Text": "New followers: {vars.new_followers_counter}"
                },
                "Body": null
              }
            ],
            "StopOnError": true
          },
          "Signal": {
            "SignalId": "OBS.Stream.Started",
            "Type": "Plugin",
            "UnavailableReferenceKind": null,
            "UnavailableReferenceId": null,
            "UnavailableReason": null,
            "OriginalLegacyTypeToken": null,
            "PluginConfig": {},
            "TestPresets": [
              {
                "Id": "83dbe7c0962e44c19121ee977177970c",
                "Name": "Default",
                "Settings": {
                  "UserId": "user-1",
                  "UserName": "tester",
                  "Text": "test"
                }
              }
            ],
            "SelectedTestPresetId": "83dbe7c0962e44c19121ee977177970c",
            "InstanceId": "7ecff83bdf9144f383cf491c5da5fa1c",
            "TextMatchMode": "Any",
            "TextPattern": null,
            "Channel": null,
            "TimerInterval": "00:01:00",
            "TimerIntervalSeconds": 60,
            "TimerStartDelay": "00:00:00",
            "TimerJitter": "00:00:00",
            "TimerGateVarPath": null,
            "TimerGateExpected": true,
            "TimerOnlyWhenStreamOnline": false,
            "TimerValidationMessage": "",
            "IsTimerConfigurationValid": true,
            "ScheduledMomentMode": "TodayAtTime",
            "ScheduledMomentDate": null,
            "ScheduledMomentTime": "00:00:00",
            "ScheduledMomentStartDelay": "00:00:00",
            "ScheduledMomentGateVarPath": null,
            "ScheduledMomentGateExpected": true,
            "ScheduledMomentEnabled": true,
            "ScheduledMomentDaysOfWeek": null,
            "ScheduledMomentGateMode": "SkipIfFalse",
            "ScheduledMomentGateMaxWait": "00:00:00",
            "ScheduledMomentPastPolicy": "Skip",
            "ScheduledMomentValidationMessage": "",
            "IsScheduledMomentConfigurationValid": true,
            "ThresholdSourceType": "Variable",
            "ThresholdSourceKey": null,
            "ThresholdSourcePath": null,
            "ThresholdNumericField": null,
            "ThresholdOperator": "GreaterOrEqual",
            "ThresholdTargetValue": 0,
            "ThresholdEpsilon": 0,
            "ThresholdSamplingMode": "EventDriven",
            "ThresholdPollingInterval": "00:00:01",
            "ThresholdCrossingOnly": true,
            "ThresholdRearmMode": "Manual",
            "ThresholdGateVarPath": null,
            "ThresholdGateExpected": true,
            "ThresholdOnce": false,
            "ThresholdResetPolicy": "Manual",
            "ThresholdValidationMessage": "",
            "IsThresholdConfigurationValid": true
          }
        },
        "Execution": {
          "CooldownSeconds": 0,
          "CooldownPerUser": false,
          "ConcurrencyMode": "Queue",
          "ConcurrencyOptions": {
            "DebounceMs": 500,
            "CooldownMs": 1000,
            "QueueMaxLength": 50,
            "QueueOverflowBehavior": "DropOldest",
            "MaxParallelPerAutomation": 4
          },
          "KeySelector": null,
          "DefaultStepTimeoutMs": null,
          "AutomationTimeoutMs": null,
          "OnStepError": "Stop"
        }
      }
    ]
  }
}
