Trigger a run

Returns a run_id immediately — workflow execution is asynchronous. Stream live step events over the dashboard’s WebSocket, or poll GET /workflows/runs/{run_id}.

Respond to an approval

A rejection feeds back into the run as a failure with the given reason — whether that triggers a revision loop or ends the run depends on the workflow definition.

Workflow Engine architecture