Skip to main content
Most real API workflows aren’t a series of isolated requests — one call produces something that the next call needs. Step outputs are how Reqflo threads that data through a journey: you name a value you want to capture from a response, and any later step can reference it by that name.

When to use it

Define a step output any time you need to pass a value from one step to another. Common cases:
  • A POST /orders response returns an id — a later GET /orders/{id} step needs it
  • An auth step returns a short-lived token — subsequent steps use it as a header value
  • A create step returns a nested resource ID that only exists at run time

Key concepts

Output definition. On the step that produces the value, you declare an output: give it a name and point it at a location in the response (a body field path, a header name, or the status code). Derived value reference. On any later step, you can set a field’s source to “step output” and choose the step and output name. The value is resolved at run time from whatever that step returned. Ordering. A step can only reference outputs from steps that run before it. If you reference an output from a later step, Run check will flag an invalid reference error. Run output visibility. Captured step outputs are visible in run output alongside the request/response detail for each step. This makes it easy to trace what was captured and how it flowed through the journey.

How it works

1

Define the output on the source step

Open the step in Build mode. In the outputs section, add an output. Give it a name (e.g., order_id) and specify where in the response to find it (e.g., body.data.id, headers.x-request-id, or status).
2

Reference the output in a later step

On the step that needs the value, open its value configuration. For the field that needs the captured data, set the source to step output, then select the source step and the output name.
3

Verify with Run check

Open Run check to confirm there are no unresolved step output references. If the source step or output name doesn’t exist, it will appear as an error.
4

Run the journey

During a run, each step resolves its inputs (including any step output references) before executing. Captured outputs are surfaced in run output and available for inspection in debug mode.

Examples

Capturing an ID from a create response:
steps:
  - name: Create subscription
    template: create-subscription
    values:
      body.plan_id: { source: variable, key: plan_id }
      body.customer_id: { source: run-input, key: customer_id }
    outputs:
      - name: subscription_id
        from: body.id
      - name: billing_anchor
        from: body.billing_anchor_date

  - name: Get subscription
    template: get-subscription
    values:
      path.subscription_id: { source: step-output, step: create-subscription, output: subscription_id }
    assertions:
      - field: body.billing_anchor_date
        equals: { source: step-output, step: create-subscription, output: billing_anchor }
Capturing a response header:
outputs:
  - name: trace_id
    from: headers.x-trace-id
Capturing the status code:
outputs:
  - name: create_status
    from: status

HTTP request steps

How to add and configure request steps.

Step values

All value sources, including step output references.

Derived values

How derived values — including step outputs — fit into the broader values model.

Run check

Errors that appear when step output references are invalid.