Workflows
Workflows are Pipe Bomb's automation system. A workflow is a sequence of steps that runs when a trigger fires.
Concepts
- Trigger - watches for a condition and activates the workflow when it fires (e.g., a cron schedule, server startup)
- Step - an action that runs as part of the workflow (e.g., scan all libraries, run a task, run another workflow)
- Workflow - a named trigger + ordered list of steps
Each workflow has at most one trigger and any number of steps. Steps run in order; if a step fails, the workflow stops.
Built-in triggers
| Trigger ID | Description |
|---|---|
server-start |
Fires once, ~5 seconds after the server finishes starting |
cron |
Fires on a cron schedule (standard 5-field cron expression). Optional "allow rerun" setting controls whether the workflow can run again if it's still running from the previous fire. |
Plugins can register additional triggers via the workflow client (see development/Workflow-Steps).
Built-in steps
| Step ID | Description |
|---|---|
run-workflow |
Activates another workflow. Options: which workflow, allow rerun, wait for finish. |
run-task |
Runs a task and waits for finish. Options: which task and subtask. |
Plugins can register additional steps via the workflow client (see development/Workflow-Steps).
Creating a workflow
- Go to Settings → Workflows
- Click the plus button - give it a name
- Add a trigger - choose the trigger type and configure its options
- Add steps - pick step types in order and configure each one
- The workflow is live immediately after saving the trigger
Workflow state
A workflow is either idle or running. If a trigger fires while the workflow is already running:
- If "allow rerun" is enabled on the trigger, a second instance starts
- Otherwise the fire is ignored
Options system
Both triggers and steps can declare typed options that are configured in the UI:
| Option type | Values |
|---|---|
string |
Free text |
boolean |
Checkbox |
integer |
Whole number |
decimal |
Decimal number |
enum |
Dropdown from a fixed list |
The enum option list is dynamic - for example the "run-workflow" step's workflow picker is populated from the live list of workflows.
Related pages
- development/Workflow-Steps — registering custom triggers and steps from a plugin
- development/Plugin-System — how plugins integrate with workflows
- users/Libraries — scanning libraries via workflow