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"}'