Skip to main content
A flow is a sequence of agent and command steps in action.yaml. Start with one working step; use the flow schema when you need the full field reference.

Start with one command

Create .navi/workflows/hello/action.yaml:
Inspect the plan before running it:
The plan identifies the command step and its fixed output:
Run the flow:
--shape makes no model call. It exits 1 when the plan has a wiring error and 0 when the plan compiles.

Add an agent step

An agent that reads the repository needs an explicit tool allowlist:
Run it with the required string:
Absent or empty tools: means zero workspace tools. Navi reports that choice in --shape; it never grants every tool by default.

Pass values between steps

Templates can read flow input and completed step output:
Objects and arrays become JSON. A missing path becomes an empty string, so check template paths before running the flow.

Compile before every run

Use the readable and JSON plans while authoring:
The plan shows resolved models, tools, skills, dependencies, conditions, output fields, settings, prompt size, and lint findings. Next: