Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

orion-cli workflows

Manages workflows. Alias: rules.

Synopsis

orion-cli workflows <subcommand> [args] [flags]

Description

diff answers the question import would act on. It matches local items to stored ones by workflow_id, the key an import collides on. It compares the server’s content_hash when the file carries one, as an exported artifact does. For a hand-authored file it falls back to the importable fields, the same projection the server hashes, so the two answers cannot disagree. Fields that a re-import never writes (version, status, created_at) are ignored, so a file exported and diffed straight back reports every workflow unchanged.

For promoting a whole service rather than one resource kind, use orion-server package diff, which covers channels and connectors too and compares the closure as a unit.

Subcommands

SubcommandDescription
listList workflows; filter with --status and --tag. Sorts by priority, name, status, created_at, updated_at.
get <id>Show a workflow; --verbose includes condition and tasks.
createCreate a workflow from JSON: -f <file>, -d <json>, or --stdin; --id sets the workflow id instead of generating one.
update <id>Replace a workflow definition. Only drafts accept updates.
delete <id>Delete a workflow; prompts unless --yes.
activate <id>Activate a draft workflow. --dry-run pre-flights; --defer-reload batches.
archive <id>Archive an active workflow. Same two flags.
dependencies <id>Show the workflow’s connectors and channel_call targets. Alias: deps.
validateValidate a definition without creating it. Exits 1 when invalid.
rollout <id> -p <n>Update the rollout percentage. --defer-reload batches.
versions <id>List version history; pages with --limit / --offset.
new-version <id>Create a new draft version from the active one.
test <id>Dry-run the workflow with sample data; --metadata <json>, --trace.
exportExport workflows as JSON; filter with --status, --tag.
import -f <file>Bulk-import from a JSON array file; --dry-run previews, --on-conflict sets the collision rule.
diff -f <file>Compare a local file against server state. Exits 1 when anything differs.

Options

activate and archive take two flags that matter for promotion:

FlagDescription
--dry-runRun every gate the real transition would run and report the findings, writing nothing. Exits 1 when the transition would be refused, so it gates a script.
--defer-reloadCommit the row but leave the running engine serving the previous active set. Batch several changes, then orion-cli engine reload once.

import takes --on-conflict — what an already-stored id means:

ValueBehaviour
failDefault. The conflicting item is refused and reported.
skipThe conflicting item is left as it is and counted as skipped.
new_versionUpsert: the draft is replaced in place, or a new draft version is cut over an active entity. Identical content is a no-op.

Examples

orion-cli workflows test order-enrichment -f payload.json --trace

Last verified 14 September 2026