Testing & Runs
Testing an automation is like a dress rehearsal: same stage, same script, and you're in the audience watching every move — so opening night holds no surprises. Test Run in the canvas toolbar starts one, and what happens next depends on your trigger.
Starting a test
| Trigger | What Test Run does |
|---|---|
| Manual | Opens the input window — run with your saved input, edit it for this run, or run without input |
| App trigger / Webhook | Opens a chooser: Wait for a real event (recommended — the run starts the moment the app sends one) or Use the last captured event (instant replay of the sample you captured while testing the trigger) |
| Schedule | Runs immediately, as the timer would |
The live view
The canvas becomes a stage: blocks light up one after another as they run, branches not taken are dimmed with the reason ("skipped: condition was true"), and loops animate while their passes run. You can stop a run in progress from the toolbar. Watch the run below play out, then click any block to inspect its result:
12 items in → 3 kept
Inspecting a step
Click any finished block to see exactly what it did — each type shows its own story:
| Block | You see |
|---|---|
| Filter | How many items came in, how many survived, and the survivors |
| Condition / Switch | The verdict and which path the run took |
| Tool | The tool, the fields it ran with, and any "value resolved to nothing" warning |
| Database | The action, the database, and the exact rows affected |
| Code | The result and anything the code printed |
| For Each / Loop | Pass-by-pass results with a pager |
| Agent | The full conversation and its answer |
Every step also shows what it received as input, and every list can flip between a table and raw view. Free blocks carry a "No credits" chip.
Retry from a step
When a run fails, you don't start over. Retry from failed step (or "Retry from this step" on any block) starts a new run that reuses everything upstream — earlier agent steps are not re-run and not re-billed — and re-executes only from the failure onward. Fix the block's settings first, then retry.
This is the cheapest debugging loop there is: an expensive research step that succeeded stays paid-for once, while you fix and retry the cheap step that broke after it.
Activating and monitoring
Once a test looks right, flip the activation switch. From then on:
- Runs appear in the automation's run history, each opening the same live view and step inspection.
- Run statuses: completed, failed (with the failing step marked), stopped (you halted it), in progress.
- Events an app sent but a filter dropped don't create runs — that's by design and costs nothing.
Troubleshooting
| Problem | Fix |
|---|---|
| A step's output is empty | Open the step and look for the "resolved to nothing" warning — a {{variable}} didn't find its value. Check its path in Data Between Steps. |
| Blocks after a failure show "skipped" | That's the rule: when a step fails, everything depending on it is skipped and the run is marked failed. Fix the step, then Retry from failed step. |
| "Wait for a real event" never starts | Cause the event in the other app (create the deal, send the form). The window waits for a real delivery. |
| An old run shows less detail than new ones | Older runs were recorded before the richer per-block views existed — new runs show everything. |
What's next
Protect your working build with Versions & Safety.