Testing a node
You can run a single node in isolation while you build, instead of executing the whole workflow. This shortens the develop-test-fix loop dramatically, especially for nodes that talk to slow or rate-limited APIs.
Two ways to test
1. "Test" button in the inspector
Every action node has a Test button at the bottom of its inspector. Clicking it:
- Resolves all expressions in this node's config against the last execution's data (or, if there's no last execution, against empty data and any pinned inputs).
- Executes only this node.
- Renders the result in the Output section of the inspector.
๐ธ Screenshot needed:
editor__test-node-output.png, HTTP Request node inspector with the Test button highlighted and the Output section below showing a JSON result.
If the test fails, the inspector shows the error inline with the same red styling you'd see on a full-workflow run.
2. Run-from-here
Right-click any node โ Run from here. Flero executes that node and every node downstream of it, treating upstream nodes as if their last-execution outputs were the current inputs.
Useful when you've just changed a node mid-chain and only want to verify everything downstream.
Where the input data comes from
A test run needs some data on every input port. Flero resolves this in priority order:
- Pinned data on the upstream port (see Pinning data below), if set, this wins.
- The most recent execution's output for the upstream node, if there's been a run.
- An empty object otherwise.
This is why your first test on a brand-new workflow often produces an empty-looking result. Run the whole workflow once (or pin sample data) and subsequent tests will resolve everything.
Pinning data
Pinning lets you hard-code an input for development without changing the upstream nodes.
- Run the workflow once (or paste sample JSON manually, see step 3).
- In the upstream node's Output preview, click the Pin icon (๐).
- Pinned data is now used as the input for every subsequent test until you unpin.
You can also paste sample JSON directly:
- Open the upstream node's inspector โ Output โ Pin custom data.
- Paste a JSON object or array.
- Save.
Pinned data is not persisted to executions, it only affects test runs in the editor.
๐ธ Screenshot needed:
editor__pin-data.png, Output panel of an HTTP node with the Pin icon highlighted and a "Pinned" badge visible.
Sandbox mode for tests
If your workflow talks to real external services (Slack, Salesforce, billing APIs), use sandbox mode to swap them for mock responses while testing:
- In the bottom execution chrome, toggle Sandbox on.
- Test runs from this point use the Sandbox mock pipeline.
This is invaluable when iterating on the shape of your data, no risk of accidentally sending an email to a real customer.
Tips & gotchas
- Test is per-node; it doesn't follow
IforSwitchbranches downstream. To test branching, use Run from here instead. - Side effects are real unless sandbox mode is on. A test of a Slack node will post to your real Slack workspace. Be deliberate.
- Tests don't update the execution history. They're considered editor-local development runs. If you want a row in
/logs, do a full workflow run. - Pinned data persists across save, useful for fixtures. Forget to unpin before going live and your workflow could behave unexpectedly. The bottom chrome shows a Pinned data active indicator when any port has pins.
- Long-running tests can be cancelled by pressing the Stop button that appears in place of Test.
Related
- Running a workflow, execute the whole thing
- Sandbox mode, mock external services
- Debugging failures
Found something out of date? This page lives in the Flero docs content set.