OXYGENOxygen/ Docs
Execution

Workflows

Durable orchestration over tables, columns, tools, transforms, approvals, and external sync.

A workflow is a repeatable GTM process. It can chain columns, provider tool calls, transforms, approvals, table writes, and external sync. It fires from an API call, schedule, webhook, or event. Each fire produces a run.

Shape

FieldNotes
idStable workflow identifier
nameHuman-readable
kindApplied template, blueprint, durable recipe, or chained-column automation
triggerAPI, cron, webhook, or event; see Triggers
mode_defaultDefault execution mode; see Modes
enabledBoolean. Disabled workflows ignore triggers
stepsOrdered
approval_policyWhen approval is required
cost_posturePredicted credit consumption per fire

Three ways to define a workflow

SourceUse when
Blueprints or workflow templatesA reusable pattern exists in the catalog
Durable recipesCustom TypeScript logic with conditionals
Chained columnsSingle-table, sequential, no branching

All three compile to the same internal representation.

Working with workflows

oxygen workflows list --json
oxygen workflows get <workflow-id> --json
oxygen workflows schema --json                   # full JSON schema for a workflow spec
oxygen workflows lint --file workflow.ts --json  # validate without applying
oxygen workflows apply --file workflow.ts --json # create or update
oxygen workflows duplicate <workflow-id> --json
oxygen workflows enable <workflow-id> --json
oxygen workflows disable <workflow-id> --json

Running a workflow

oxygen workflows call <workflow-id> --input-json '{"key":"value"}' --mode smoke_test --json
oxygen workflows call <workflow-id> --input-json '{"key":"value"}' --mode dry_run --json
oxygen workflows call <workflow-id> --input-json '{"key":"value"}' --mode live --json
oxygen workflows tail <workflow-run-id> --json
oxygen workflows run <workflow-run-id> --json    # inspect one run
oxygen workflows cancel <run-id> --json

call enqueues a workflow run through the workflow's trigger shape. run inspects an existing workflow run by run id.

Inspecting fires

oxygen workflows runs --workflow <workflow-id> --json
oxygen workflows failures --json

Both return run records.

Events

A workflow can emit events that other workflows subscribe to. See Triggers for the event model.

oxygen workflows events emit --source tenant --event lead.qualified --payload-json '{"id":"lead_123","score":87}' --mode dry_run --json

On this page