Workflow Data Passing
The key feature of workflows is automatic data passing between steps.
How Data Flows
Step 1 output → Step 2 input → Step 3 input → ...
Each step receives the previous step's output as its input. The first step receives the workflow's initial input.
Example: Data Pipeline
Step 1 (fetch):
Input: { url: "https://api.example.com/data" }
Output: { records: [...1000 items...] }
Step 2 (clean):
Input: { records: [...1000 items...] } ← from Step 1
Output: { records: [...950 valid items...] }
Step 3 (analyze):
Input: { records: [...950 valid items...] } ← from Step 2
Output: { summary: "...", charts: [...] }
Running with Initial Input
naos workflow run data-pipeline --input '{"url": "https://api.example.com/data"}'