Define, generate, run
Define —POST /api/maf/workflows with a name, optional description, and steps. Each step needs a task description and either an explicit agent or nothing — unassigned steps are auto-assigned by the routing engine at creation time, scoped to agents you can access.
Generate a draft (optional) — POST /api/maf/generate takes a natural-language description, looks at your registered agents, and returns a draft: name, description, output-synthesis guidance, and steps with agents assigned. Review it, then create it for real. Requires an LLM on the control plane; returns 503 if none is configured.
Run — POST /api/maf/workflow/{id}/run queues an execution and returns 202 with an execution_id. Poll GET /api/maf/workflow/result/{exec_id} for status and output.
The same thing in the dashboard
Everything above is available under Orchestrator → Workflows without writing a request.What a step carries
At run time the platform expands your step’s task description into a prompt — resolving placeholders from earlier steps’ outputs — plus an “extraction goal” describing what to pull from the reply. Each step movespending → running → success (or failed), with token usage and latency recorded. The workflow’s output_generation guidance says how to turn all step outputs into one answer.
Each step adds planning, prompt-filling, and extraction around the agent call, so a workflow execution uses noticeably more tokens than the same number of direct chat messages. Check per-step token numbers before scaling up.
Reliability
Runs are queued and picked up by a background worker, not executed inline. Failed steps retry up toMAF_MAX_ATTEMPTS (default 3). Executions in flight during a server restart are picked back up.
A queued execution lives in Redis until a worker claims it. Size Redis durability accordingly — see backup and restore.
Example
Two steps — the first names an agent, the second is auto-assigned:nasiko maf CLI commands — see CLI usage reference.
Routes
Related
Routing and flow limits
The routing engine that auto-assigns unassigned steps.
Flows in the dashboard
Watch a multi-agent run step by step.
Observability
How per-step traces stay distinguishable.
ADLC
Building the agents a workflow calls.
