A B3OS workflow is a durable, versioned graph. It starts from a trigger, resolves inputs and expressions, executes nodes, persists node-level state, and exposes run history through the app, streams, and API.

B3OS template workflow graph preview showing connected automation nodes

Definition Shape

At a high level, a workflow definition contains:

FieldPurpose
nodesGraph nodes for actions, logic, control flow, waits, loops, branches, and child workflows
inputSchemaOptional schema for manual, API, public, or template-driven inputs
propsReusable workflow values referenced with {{$props.key}}
blockExpansionsSnapshots used when reusable blocks are expanded into a workflow
visibilityControls whether a workflow is private, org-visible, publicly viewable, or publicly executable
publicWidgetConfigOptional public widget presentation and execution settings

Node Model

Each node has a type, title, connector context, payload, output schema, and graph edges. Some nodes also define child collections such as loop bodies or branches.

Node areaExamples
ExecutionCatalog action, built-in action, API call, webhook send, managed data query
Control flowBranch, loop, delay, wait, child workflow
Data shapingFormat, regex, code transform, unit conversion, min/max, URL parsing
ContextConnector selection, wallet selection, input bindings, result schema, block context

Downstream expressions reference node IDs. Change display titles freely, but avoid changing IDs that are already used by published workflows or templates.

Lifecycle

Workflow lifecycle
validatepublishpauseresumeeditpublish new versionarchivearchive Draft Editable graph and metadata Validated Graph and schemas pass checks Active Published live version Paused Automatic triggers disabled Archived Removed from active operation New draft Safe edits without touching live
OperationWhat happens
ValidateChecks graph shape, required fields, schemas, connector requirements, and publish readiness
PublishCreates or updates the live version used by automatic triggers
PauseStops automatic trigger execution while preserving the workflow
ResumeRe-enables automatic execution after review or remediation
RollbackRestores a prior live version
Discard draftDrops unpublished draft changes

Versioning

  1. Draft edits do not affect the live version.
  2. Publishing snapshots the draft into a live version.
  3. Trigger listeners, schedules, public execution, and webhook URLs target the live version.
  4. Rollback can restore a previous published version.
  5. Run history remains attached to the version that produced it.

Visibility

VisibilityBehavior
privateVisible only to authorized organization users with workflow access
orgVisible inside the organization
public_viewPublicly viewable without allowing public execution
public_executePublic execution is enabled through configured public surfaces

Runs and Executions

A run is one workflow invocation. Each node attempt is an execution.

Run state fan-out
createscreateseventseventspersistdelivery state Run One trigger invocation Execution A Action, logic, or wait node Execution B Downstream node attempt Streams Status and activity updates Hooks Signed delivery to backends Run history Search, troubleshoot, retry, audit
ObjectUseful fields
RunTrigger source, input, status, timestamps, workflow version, failure summary, CU usage
ExecutionNode ID, node type, status, input, output, error, start/end timestamps, retry/wait metadata

Run statuses include running, waiting, success, failure, and cancelled. Execution statuses include pending, running, success, failure, skipped, waiting, scheduled, cancelled, and auto_swapping.

Pause Reasons

ReasonMeaning
cu_exhaustedThe organization does not have enough compute units for continued execution
disabled_actionA workflow depends on an action that is no longer executable
consecutive_failuresRepeated failures crossed the configured safety threshold

Review the latest failed runs, connector health, wallet funding, and action schema changes before resuming an automatically paused workflow.

Public and Embedded Execution

Public workflow surfaces can expose a workflow for viewing or execution. Public execution should be paired with narrow input schemas, rate limits, explicit visibility, and careful connector or wallet permissions.

Trigger information

Understand the source that creates each run.

Learn More
Execution hooks

Deliver run and node events to external systems.

Learn More
Security model

Protect credentials, API keys, public endpoints, and wallet operations.

Learn More