Stateful Executor is the automation plugin for your Stream Deck, enabling execution of HTTP Requests, Apple Shortcuts, Terminal Commands, Shell Scripts with dynamic button state updates based on execution results.
Enable success indicator
: displays the default success indicator when the execution completes without errors. This indicator does take matchers into account.
Note that the error indicator is intentionally not configurable, as it is always shown when the execution fails.
TLDR; if you set icons/titles on the plugin level, make sure to leave the icons/titles empty in Stream Deck's UI (set to default)
IMPORTANT: when using custom icons, place them in a permanent location, as they are referenced by path.
- If you pick an icon or a title using the default Stream Deck's UI, the first icon would represent the matched state, and the second icon would represent the unmatched state FOR ALL MATCHERS. Note that any customization made on the plugin level of the icons/titles would not work in this case.
- If you want to have more states just leave icons/titles blank (set to default) and configure them through the plugin's configuration.
Click
: runs the action on button clickPolling
: runs the action everyn
seconds, wheren
is the polling interval. The polling action will wait the action to finish before running the next one.
You can combine both triggers, but polling will have a higher presentation priority.
request
: executes HTTP request. Use JSON-parsable output if you want to use matchers with requests.shortcut (MacOS only)
: executes Apple Shortcut. UseDictionary
output if you want to use matchers with shortcuts.terminal
: executes terminal command. Make sure to use JSON-parsable output if you want to use matchers with terminal commands.script
: executes shell script. Make sure to use JSON-parsable output if you want to use matchers with shell scripts.shell binary
: the shell binary to use for executing the script. Defaults to/bin/bash
. You can experiment with other binaries, such as python, node, etc.script path
: the path to the script to execute. The script should be executable and have the appropriate shebang.
Matchers currently can only be used with JSON results. Ensure your actions produce JSON-parsable outputs.
Field
: dot-notated json path to the property used for matching. For example, if the output is{"status": "ok"}
, the field would bestatus
.Operator
: the operator to use for matching. Note strings and numbers have different operators.Value
: the value to match against.State Title
: Custom title to use when the matcher is matched.State Icon
: Custom icon path to use when the matcher is matched.