Flows
Flows turn a sequence of requests into a repeatable, asserted process — an order-creation flow, a login-then-fetch sequence, an end-to-end smoke test.
Steps
A flow is an ordered list of steps. There are three kinds:
- Request steps — send a saved or inline request.
- JS transform / script steps — run JavaScript to reshape data, compute values, or make decisions.
- Delay steps — pause for a fixed duration (useful when a downstream system needs time to process).
Piping values between steps
The point of a flow is that steps share data. Extract a value from one step's response and feed it into the next — capture an id or token from a create call and use it in the follow-up request.
// In a post-response / transform step:
const token = response.body.access_token;
setVar("API_TOKEN", token);
// A later request step can then use:
// Authorization: Bearer {{API_TOKEN}}
Branching & assertions
Flows can react to results:
- Branch on status — take a different path depending on a response's status code or an extracted value.
- Assert on results — check that a value matches what you expect.
Failed assertions fail the run. A failing assertion marks the whole flow run as failed and can trigger alerts when the flow runs on a schedule.
Session cookies
Session cookies inherit across steps automatically. Log in during one step and the resulting session cookie is sent on subsequent steps without any manual wiring — just like a real client session.
Running a flow
You can run a flow three ways:
- From the UI — click Run and watch each step execute with its inputs, outputs, and assertion results.
- On a schedule — turn it into a cron monitor. See Scheduled runs & alerts.
- In CI — run it from a pipeline with the CLI. See CLI & CI.