Test run runs the draft you are building, straight away, and follows it on the canvas step by step. Use it after every change you are unsure of — before publishing, a test is the only way to see the workflow work.
Who can do this
Workspace Admins and Editors, on every plan. Viewers do not see Test run. Paid steps — Code, HubSpot, Microsoft SQL — can be tested on Free; only publishing them needs a paid plan.
Before you start
- The workflow needs a trigger. Test run is greyed out until it has one.
- Hover over Test run and read the reminder: Test runs really run your steps — rows are added, messages sent, AI tokens used. Pin a step's output to avoid repeating that.
- Check Test in: at the top. Development uses your variables' sandbox values; Production calls your real services. See Choose the environment a test runs in.
Steps
Open the workflow in the designer.
Select Test run at the top right. The button reads Testing… while it runs.
A toast says Test run started — Follow it on the canvas. Its steps really run.
Watch it go. A line across the top fills as steps finish, and a pill reads Test run · step 3 of 7 with the seconds so far. Each card's badge shows whether it is queued, running, waiting or retrying, then whether it passed or failed. Lines show how many items went along them — 3 items.
To stop it, select Stop in the pill. The toast says Stopping the test — It stops before its next step. The step in hand finishes.
When it ends, a card at the bottom right says how it went:
- Test run finished — 5 steps ran in 2.3 s.
- Test run stopped at step 3 — 2 steps ran in 1.4 s. “Add the row” failed, so nothing after it was tried. Select Open the step to see why on its Output tab.
- This test run stopped after 5 minutes — It was on “…”, step 4 of 7. Live runs have no such limit — a published workflow would have carried on.
- Test run stopped — You stopped it after 3 steps. What they did stands — anything sent was sent.
Select any step to see what reached it on Input and what it gave on Output. See Step settings, input and output.
What the trigger brings in a test
| Trigger | What the test starts with |
|---|---|
| Manual | Nothing — an empty item. |
| Schedule | The time now, as scheduledFor and firedAt. |
| Webhook | An empty POST. To test with a real call, use Listen for a test event — see Send a test event to a webhook. |
| Form | An answer in every field: asha@northwind.example for an email, Asha Raghunathan for a name, today for a date, the first choice for a list, A test answer for … for text. Files are left out. |
| Google Calendar, Google Sheets | The sample you fetched on the trigger's Output tab, if any. See Start a workflow when a row is added to Google Sheets. |
What happens next
- The steps really run. An email is sent, a row is added, an AI model is asked and paid for. Test with addresses and sheets you do not mind using — or pin a step's output, and later tests reuse it. See Pin a step's output.
- Waits are skipped — you are watching. The item goes straight on.
- Lists are written for real. There is one list, not one per environment.
- Tests do not count against the month's runs, and notify nobody when they fail.
- Test runs are hidden in Runs unless Show test runs is on. The last 20 of each workflow are kept whole for 7 days.
Good to know
- A workspace has 50 test runs a day on Free, 500 on a paid plan, counted from midnight in your time zone. Run this step counts as a test too.
- One test of a workflow at a time.
- A test stops after 5 minutes, waits included. Live runs have no such limit.
- A test runs the draft, not the live version. To run the live version once, see Run the live version now.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| Test not started — You have used today's 50 test runs. They come back at midnight. | The workspace has used today's test runs. | Wait until midnight, or pin outputs to need fewer tests. The company's Owner sees See plans for more. |
| Test not started — A test of this workflow is already running. Wait for it to finish, or stop it. | A test is still going, perhaps in another tab. | Wait, or stop it from Runs with Show test runs on. |
| Test run is greyed out | There is no trigger, or a test is running, or today's tests are used. | Add a trigger, or wait. |
| A step fails with … is empty when the step ran — an earlier step may not have given the value it names. | The trigger brings nothing in a test that the step needs — common with webhooks and app triggers. | Send a test event to the webhook, or fetch a sample for the app trigger. |