Workflows

Create, inspect, control, and schedule multi-step workflows.

Workflow endpoints let you manage the DAGs produced by the Orchestrator and run by the Workflow Engine.

Listing & inspecting

GET /api/workflowsendpoint

List all workflows (running and historical). History is persisted to your device.

GET /api/workflows/{workflow_id}endpoint

Fetch a single workflow's steps and results.

bash
curl http://127.0.0.1:8000/api/workflows
curl http://127.0.0.1:8000/api/workflows/3f9a1c20

Creating

POST /api/workflowsendpoint

Create a workflow from an explicit step list.

POST /api/workflows/generateendpoint

Generate a workflow DAG from a natural-language prompt (LLM decomposition).

A generated/created workflow is a list of steps with this shape:

json
[
 { "id": "s1", "agent": "web_search", "action": "SEARCH_WEB",
 "args": { "query": "AI news" }, "depends_on": [], "outputs": ["results"] },
 { "id": "s2", "agent": "email", "action": "SEND_EMAIL",
 "args": { "to": "$user_email", "body": "$results" },
 "depends_on": ["s1"], "needs_human": true }
]

Controlling a running workflow

Workflows support human-in-the-loop via needs_human steps and these controls:

MethodPathAction
POST/api/workflows/{id}/interruptPause a running workflow
POST/api/workflows/{id}/resumeResume a paused workflow
POST/api/workflows/{id}/interveneInject human edits/input mid-run
DELETE/api/workflows/{id}Delete a workflow
bash
curl -X POST http://127.0.0.1:8000/api/workflows/3f9a1c20/interrupt
curl -X POST http://127.0.0.1:8000/api/workflows/3f9a1c20/resume

The workflow wizard

A guided, conversational builder:

MethodPathPurpose
POST/api/workflows/wizard/startBegin a wizard session
POST/api/workflows/wizard/chatContinue the conversation

Backed by and surfaced in the shell by .

Recurring / scheduled workflows

MethodPathPurpose
GET/api/workflows/recurringList schedules
POST/api/workflows/recurringCreate a schedule
DELETE/api/workflows/recurring/{schedule_id}Remove a schedule

Scheduling is handled by.