{
  "SchemaVersion": 1,
  "Kind": "folder",
  "Name": "Twitch Rewards",
  "Description": null,
  "Tags": null,
  "CreatedUtc": "2026-07-27T10:50:03.1692161+00:00",
  "Source": {
    "App": "Streaming Hub",
    "AppVersion": "1.0.0.0",
    "ExportedUtc": "2026-07-27T10:50:03.1693219+00:00"
  },
  "Data": {
    "Folder": {
      "Color": "#38BDF8",
      "ConcurrencyEnabled": true,
      "ConcurrencyMode": "Queue",
      "ConcurrencyOptions": {
        "DebounceMs": 500,
        "CooldownMs": 1000,
        "QueueMaxLength": 50,
        "QueueOverflowBehavior": "DropOldest",
        "MaxParallelPerAutomation": 4
      }
    },
    "Automations": [
      {
        "SourceId": "dd2d0f7d-39c3-4530-a46e-93d38548f25c",
        "Name": "Reward 1",
        "RelativeOrder": 0,
        "IsEnabled": true,
        "Script": {
          "Sequence": {
            "Steps": [
              {
                "ActionId": "Macros.CallMacro",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "MacroId": "efe966ad-da4b-4030-821c-fecdfbe15e9f",
                  "InputsJson": "{\u0022slot_name\u0022:\u0022Reward 1\u0022}",
                  "OutputsJson": "{}",
                  "MaxDepth": "10",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": ""
                },
                "Body": null
              }
            ],
            "StopOnError": true
          },
          "Signal": {
            "SignalId": "Twitch.ChannelPointRedeemed",
            "Type": "Plugin",
            "UnavailableReferenceKind": null,
            "UnavailableReferenceId": null,
            "UnavailableReason": null,
            "OriginalLegacyTypeToken": null,
            "PluginConfig": {
              "RewardFilterMode": "SelectFromList",
              "SelectedRewardId": "51fdbb0a-0b7e-46c1-9444-f01226696eea"
            },
            "TestPresets": [
              {
                "Id": "628bc47a7c3241a291dc29f405510c33",
                "Name": "Default",
                "Settings": {
                  "UserId": "user-1",
                  "UserName": "tester",
                  "Text": "test"
                }
              }
            ],
            "SelectedTestPresetId": "628bc47a7c3241a291dc29f405510c33",
            "InstanceId": "372544b5dcfa4333bcde698e92f3dd9f",
            "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": 10,
          "CooldownPerUser": true,
          "ConcurrencyMode": "Queue",
          "ConcurrencyOptions": {
            "DebounceMs": 500,
            "CooldownMs": 1000,
            "QueueMaxLength": 50,
            "QueueOverflowBehavior": "DropOldest",
            "MaxParallelPerAutomation": 4
          },
          "KeySelector": null,
          "DefaultStepTimeoutMs": null,
          "AutomationTimeoutMs": null,
          "OnStepError": "Stop"
        }
      },
      {
        "SourceId": "14fdd998-9420-4e12-9638-41300cb8a073",
        "Name": "Reward 2",
        "RelativeOrder": 1,
        "IsEnabled": true,
        "Script": {
          "Sequence": {
            "Steps": [
              {
                "ActionId": "Macros.CallMacro",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "MacroId": "efe966ad-da4b-4030-821c-fecdfbe15e9f",
                  "InputsJson": "{\u0022slot_name\u0022:\u0022Reward 2\u0022}",
                  "OutputsJson": "{}",
                  "MaxDepth": "10",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": ""
                },
                "Body": null
              }
            ],
            "StopOnError": true
          },
          "Signal": {
            "SignalId": "Twitch.ChannelPointRedeemed",
            "Type": "Plugin",
            "UnavailableReferenceKind": null,
            "UnavailableReferenceId": null,
            "UnavailableReason": null,
            "OriginalLegacyTypeToken": null,
            "PluginConfig": {
              "RewardFilterMode": "SelectFromList",
              "SelectedRewardId": "e2771bab-f3ac-48ea-a147-a6c9603055be"
            },
            "TestPresets": [
              {
                "Id": "628bc47a7c3241a291dc29f405510c33",
                "Name": "Default",
                "Settings": {
                  "UserId": "user-1",
                  "UserName": "tester",
                  "Text": "test"
                }
              }
            ],
            "SelectedTestPresetId": "628bc47a7c3241a291dc29f405510c33",
            "InstanceId": "372544b5dcfa4333bcde698e92f3dd9f",
            "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": "",
          "DefaultStepTimeoutMs": null,
          "AutomationTimeoutMs": null,
          "OnStepError": "Stop"
        }
      },
      {
        "SourceId": "292da8a9-6b56-4e2e-92ab-43d2d8ae1869",
        "Name": "Reward 3",
        "RelativeOrder": 2,
        "IsEnabled": true,
        "Script": {
          "Sequence": {
            "Steps": [
              {
                "ActionId": "Macros.CallMacro",
                "When": null,
                "Condition": null,
                "TimeoutMs": null,
                "OnError": null,
                "Parameters": {
                  "MacroId": "efe966ad-da4b-4030-821c-fecdfbe15e9f",
                  "InputsJson": "{\u0022slot_name\u0022:\u0022Reward 3\u0022}",
                  "OutputsJson": "{}",
                  "MaxDepth": "10",
                  "IsEnabled": "True",
                  "UseRunCondition": "False",
                  "RunConditionExpression": ""
                },
                "Body": null
              }
            ],
            "StopOnError": true
          },
          "Signal": {
            "SignalId": "Twitch.ChannelPointRedeemed",
            "Type": "Plugin",
            "UnavailableReferenceKind": null,
            "UnavailableReferenceId": null,
            "UnavailableReason": null,
            "OriginalLegacyTypeToken": null,
            "PluginConfig": {
              "RewardFilterMode": "SelectFromList",
              "SelectedRewardId": "ee7856bc-3219-4457-a1d8-0bac315648b5"
            },
            "TestPresets": [
              {
                "Id": "628bc47a7c3241a291dc29f405510c33",
                "Name": "Default",
                "Settings": {
                  "UserId": "user-1",
                  "UserName": "tester",
                  "Text": "test"
                }
              }
            ],
            "SelectedTestPresetId": "628bc47a7c3241a291dc29f405510c33",
            "InstanceId": "372544b5dcfa4333bcde698e92f3dd9f",
            "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"
        }
      }
    ]
  }
}