What is a workflow?
A workflow is a directed graph of steps. You author it by writing natural-languageinstructions, and Feather’s compiler translates them into a compiled_graph the runtime executes. Steps include model-driven agent steps, deterministic tool/action steps, handoffs to a human, and approval gates.
There are two ways a workflow relates to an assistant:
- Bound flow — every assistant has a workflow provisioned with it. You edit that flow directly on the assistant revision and toggle it with
workflow_enabled. - Standalone workflow — a reusable workflow (
/v1/workflows) you author, compile, and bind independently. UseWorkflowKindcomponentto build reusable pieces andassistantfor top-level flows.
A workflow runs as part of an assistant revision, so your flow, system
prompt, tools, and policies are versioned together. Changing the flow means
editing a revision and activating it — there is no separate “publish” step.
Authoring a standalone workflow
1
Create the workflow and a revision
Create a workflow with
POST /v1/workflows, then add a revision with POST /v1/workflows/{workflow_id}/revisions. A revision carries an instructions block describing each step in plain language. You can also scaffold one from a brief or template with POST /v1/workflows/generate.2
Compile the revision
Compilation runs asynchronously. Scaffolding a revision from a brief with
POST /v1/workflows/generate enqueues the compile pipeline for you (HTTP 202); pass a compilation_strategy of fast, standard, or strong to trade speed for thoroughness. Poll the revision’s compilation_status until it’s terminal, then review the result below.3
Review the compiled graph
Inspect
compiled_graph (and quality_report/warnings) to confirm Feather interpreted your instructions correctly, or edit it in the dashboard workflow editor. You can also apply incremental edits with POST /v1/workflows/revisions/{revision_id}/graph/ops and validate with .../graph/validate.4
Bind the revision
Make a revision live with
POST /v1/workflows/{workflow_id}/set-active-revision. See which assistants and teams depend on the workflow with GET /v1/workflows/{workflow_id}/dependents.5
Test in the playground
Run interactive sessions with
POST /v1/workflow/playground/sessions before using the workflow in production.Compilation status
Compilation runs as a background task. Poll the revision untilcompilation_status is terminal:
Triggers
A workflow revision declares atrigger_type that controls when it activates within a conversation:
The bound flow on an assistant revision
To edit the flow that ships with an assistant, work directly on its revision:GET/PUT /v1/assistants/{agent_id}/revisions/{revision_id}/graph— read or replace the flow’scompiled_graph.POST /v1/assistants/{agent_id}/revisions/{revision_id}/graph/ops— apply incremental graph edits.- Set
workflow_enabledon the revision to turn the flow on or off.
base_version so concurrent edits don’t clobber one another.
The playground
Before using a workflow in production, run interactive test sessions with the workflow playground (POST /v1/workflow/playground/sessions). You submit turns and observe how the flow traverses steps, which branches it takes, and what each step returns. Playground sessions do not count as production conversations and do not affect end-user records.
Next steps
Workflows API reference
Full reference for workflow, revision, compilation, graph, and playground endpoints.