Skip to main content

Workflow builder

Goal: Compose, test, and publish a governed workflow in Companion using the native workflow_builder canvas. Adapted from the internal guide; every path below is a real /v1/builder/* route.

Open the builder

From Companion chat: “Open the workflow builder”, “Create a new automation”, or “Edit workflow <id>”. These resolve to builder.edit_workflow / builder.create_workflow and emit a workflow_builder canvas. Command Plane /builder routes redirect here — the builder home is Companion only.

Blank canvas

A new workflow shows three CTAs: Describe it (natural-language compose), Start from template (marketplace gallery), Add first step (node palette). There is no empty grey board.

Natural-language compose

Type intent in the compose strip. Companion POSTs /v1/builder/workflows/intent or /from-companion and loads the returned manifest as an editable draft. Use Regenerate or Accept on the proposal strip.

Node palette

The Canvas tab lists capabilities (POST /v1/builder/workflows/:id/resolve-capabilities), muscles (GET /v1/builder/marketplace/muscles), connector steps (GET /v1/builder/marketplace/connectors), and human approval. Changes autosave via the silent canvas action channel (debounced PUT with manifest.canvas_layout).

Test

POST /v1/builder/workflows/:id/test with mode: dry_run | sample_data | live_safe. Resolution uses HumanOS — not stub confidences. Per-node overlay: resolved_to, confidence, policy.

Publish

Server-enforced publish subset: draft → tested → published → active (kb/136 names ten stages from Intent through Scaled; publish uses this four-state gate). POST /v1/builder/workflows/:id/publish fails closed until the readiness checklist passes. Activate / deactivate via /activate and /deactivate.

API quick reference

GET    /v1/builder/workflows
POST   /v1/builder/workflows
PUT    /v1/builder/workflows/:id
POST   /v1/builder/workflows/:id/test
POST   /v1/builder/workflows/:id/publish
POST   /v1/builder/workflows/:id/activate
GET    /v1/builder/workflows/:id/triggers
POST   /v1/builder/workflows/:id/triggers
GET    /v1/builder/workflows/:id/runs

Export: human workflow export <workflow-id> --language typescript. Errors use RFC 7807 Problem Details.

See also

What a workflow is · Create your first workflow · Schema declaration

← All guides