# How to Test an n8n Workflow Before You Publish

> How to test an n8n workflow: test one step, run the whole thing, read the item counts, use test events, check the real output, then publish.

Source: https://learn.ynteractive.com/content/blog/how-to-test-an-n8n-workflow · Updated 2026-10-06 · Free from Stepthrough (https://learn.ynteractive.com)

Quick answer

To test an [n8n workflow](https://learn.ynteractive.com/content/glossary/workflow), run one step at a time with **Test step**, run the whole workflow with **Test workflow** or **Execute workflow**, read the item counts on the lines between nodes, and then check the real result (the sent email, the new sheet row or the [Gmail draft](https://learn.ynteractive.com/content/glossary/gmail-draft)) before you click **Publish**. This guide is for small-business owners and office staff building their first [automations](https://learn.ynteractive.com/content/glossary/automation), and the free [Daily Job Alerts lesson](https://learn.ynteractive.com/content/n8n-daily-job-alerts-google-sheets-gmail) practices every one of these habits.

Last updated October 6, 2026

By [Robert Breen](https://learn.ynteractive.com/content/about) · Published October 6, 2026 · Updated October 6, 2026 · 7 min read

n8n · Testing · Automation

## Watch: the idea in 0:52

### How to test an n8n workflow

Explainer · 0:52 · with captions

How to test an n8n workflow: test one step, run the whole thing, read the item counts, use test events, check the real output, then publish.

**Transcript**

ChatGPT shows you its answer right away. An n8n workflow runs later, on its own. So watch it work before you publish. Open a node and click Test step. The sheet step returns six items, one per job. So the account, the tab and the columns are right. Test steps in order, from the trigger forward. The numbers between nodes show what passed on. The filter shows six in, and five out. The job with no tech was dropped. That's right. Zero or six would mean the filter is wrong. A green check only means the step ran. So open the Sent folder. Five emails went to the right techs. And send test emails to yourself, not customers. Every step is green, the counts make sense, and you checked the result. Now click Publish. Try it yourself, free, in Daily Job Alerts.

Testing is the difference between "I think it works" and "I watched it work." A workflow that runs at 7am, or every time a customer emails, will repeat any mistake every time it runs, so a few minutes of checking before you publish saves a lot of cleanup.

## Why test an n8n workflow before publishing?

A published n8n workflow runs on its own, so you want to see its output while you're watching, not after a customer or a tech does. Until you click **Publish**, the workflow only runs when you press a button.

The lessons put it plainly. In the email lesson, right before publishing: "Right now it only runs when you press execute." In the job email lesson, before the schedule ever fires: "Don't wait for seven a m to find out if it works."

## How do you test a single step in n8n?

Open the node and click **Test step**. n8n runs that one step right now and shows what came out.

In the job email lesson, the **Google Sheets: Get row(s) in sheet** node reads a sheet called **Today's Jobs** for a made-up company, Rapid Flow Plumbing. Clicking **Test step** returns six items, one for each row, "with the column names as labels." That tells you three things at once: the credential works, you picked the right document and tab, and the column names are what you expect.

Test steps in order, from the trigger forward. Each step's output becomes the next step's input, so a working Sheets step gives the Filter real rows to test against.

## What do the item counts tell you?

The numbers on the lines between nodes show how many items each step received and passed on. Reading them is the fastest way to spot a step that dropped or duplicated data.

The job email lesson's **Filter** keeps jobs where `{{ $json.Tech }}` **is not empty**. After **Test step**, the Filter shows six items in on the left and five out on the right: the sump pump estimate with no tech assigned was dropped, which is exactly what should happen.

Then, when you run the whole workflow, the Gmail step shows five, because it runs once for every item it receives. If you expected five and see zero, the filter condition is wrong. If you see six, the unassigned job slipped through.

## How do you run the whole workflow as a test?

Click **Test workflow** (the job email lesson) or **Execute workflow** (the template and email lessons) at the bottom of the canvas. Every node runs in order, and each one shows a green check or a red error.

Different triggers need different test inputs:

| Trigger | How you test it in the lessons |
| --- | --- |
| On a schedule | Click **Test workflow**; it runs now, not at 7am |
| Gmail: On message received | Click **Fetch Test Event** to pull in the newest email |
| On chat message | Click **Open chat** and type a message |
| Form trigger (template) | **Execute workflow** opens the test form; fill it in and click **Submit** |
| On webhook call | Open your form's preview and submit a test entry |

In the email lesson, **Fetch Test Event** shows the email as data: From, Subject, snippet and a threadId. Seeing those fields before you write any expressions means you know exactly what you can use.

## Try it free, step by step

**Daily Job Alerts: Email Each Tech Their Jobs from Google Sheets with n8n**. Every morning at 7, n8n reads a plumbing company's jobs sheet, skips anything not assigned yet, and emails each job to the tech it's assigned to — customer, address, time and what's wrong. No AI… You do every step yourself in a practice copy of n8n, it checks your work as you go, and “Do it for me” finishes any step you get stuck on. Free, and nothing touches your real accounts.

[Start the free lesson](https://learn.ynteractive.com/modules/job-alerts)

[Or read the full step-by-step guide](https://learn.ynteractive.com/content/n8n-daily-job-alerts-google-sheets-gmail)

## What should you check after a test run?

Check the real output, not just the green checks. A green check means the step ran; it doesn't mean it did the right thing.

The lessons always end a test by looking at the result:

- **Job emails:** open Gmail's **Sent** folder. Five emails went out: two to Dave, two to Luis and one to Tasha. Open one and confirm it went to Luis's address with his job, address and time.
- **Template booking form:** the lesson's test booking is Jordan Lee with a pet named Biscuit. Check that a row landed in the **Hillside Booking Requests** sheet and that the confirmation email went out.
- **Email responder:** open Gmail and find the draft under the customer's email. In the lesson, it says yes to Maple Grove, quotes $149 for the first visit and asks for an address and two times, and it hasn't been sent.

Read the content like a customer would. Wrong name, wrong price or a blank where a field should be means an expression or an instruction needs fixing.

## Who should receive test emails?

Send test emails to yourself, never to real customers or staff. The template lesson says it directly when you fill in the test form: "In the real thing, use your own, so you get the confirmation."

This matters most for workflows that send. The job email workflow's **Gmail: Send a message** node really sends when you test it. For a first test, point the sheet's Tech Email column (or a copy of the sheet) at addresses you control. The email responder is safer by design: its Gmail tool is set to **Draft**, so the worst a test can do is write a draft you never send. [AI Email Replies Without Auto-Sending](https://learn.ynteractive.com/content/blog/ai-email-replies-gmail-drafts) explains that setup.

## What if a test run fails?

Open the red node first and read its message. Failures in testing are normal, and the lessons build one in on purpose.

In the email lesson, the first **Execute workflow** fails with "No session ID found" in **Simple Memory**, because memory looks for a chat session ID and emails don't have one. Setting the session key to `{{ $json.threadId }}` fixes it, and the second run is all green. [Fix "No session ID found" in n8n Simple Memory](https://learn.ynteractive.com/content/blog/n8n-no-session-id-found) walks through it. In the template lesson, warnings on the imported nodes disappear once you pick your own spreadsheet; "No more warnings" is your cue to run a test.

## When is a workflow ready to publish?

Publish when a full test run is green, the item counts make sense, and you've checked the real output. Then click **Publish**.

A short pre-publish checklist from the lessons:

1. Every step has a green check.
2. The counts match what you expect (six rows in, five emails out).
3. The real output is right: Sent folder, sheet row or draft.
4. Test emails went to you, not to customers.
5. Schedule workflows have the right timezone in **Settings** (the lesson picks **America/Chicago**; n8n defaults to New York).

After publishing, the job email lesson adds one more rule: the workflow "sends every assigned row, every day, so the office keeps that sheet to today's jobs." [Email Each Tech Their Jobs Every Morning with n8n](https://learn.ynteractive.com/content/blog/n8n-daily-job-emails-google-sheets) has the full build.

The lessons are free and run in practice copies. Running workflows for real needs n8n (n8n Cloud is paid after a free trial, or self-host n8n); workflows with an AI agent also need an OpenAI API key, which is pay-as-you-go and billed separately from ChatGPT plans. More lessons are on the [n8n tool page](https://learn.ynteractive.com/content/tool/n8n).

## Key takeaways

- In n8n, Test step runs one node now, and Test workflow or Execute workflow runs every node in order.
- The item counts between nodes show what each step received and passed on, such as six rows in and five out of a Filter.
- Each trigger has its own test input: Fetch Test Event for Gmail, Open chat for chat agents and a test form for form triggers.
- A green check only means a step ran, so always check the real output: the Sent folder, the sheet row or the Gmail draft.
- Send test emails to your own address, and publish only after a clean, checked run.

## Frequently asked questions

**Does testing an n8n workflow send real emails?**

It can. A Gmail Send a message node sends real email during a test run, so point tests at your own address. A Gmail Draft tool only creates drafts.

**What is the difference between Test step and Test workflow?**

Test step runs one node. Test workflow, or Execute workflow, runs the whole workflow from the trigger to the last node.

**Do I have to wait for the schedule to test a scheduled workflow?**

No. Click Test workflow and it runs right away. The schedule only takes over after you publish.

**Is Rapid Flow Plumbing a real company?**

No. Rapid Flow Plumbing, Hillside Pet Grooming and Greenline Pest Control are made-up examples used in the lessons.

## Free lessons in this post

- [Daily Job Alerts: Email Each Tech Their Jobs from Google Sheets with n8n](https://learn.ynteractive.com/content/n8n-daily-job-alerts-google-sheets-gmail): Every morning at 7, n8n reads a plumbing company's jobs sheet, skips anything not assigned yet, and emails each job to the tech it's assigned to — customer, address…
- [Find and Use n8n Templates](https://learn.ynteractive.com/content/find-and-use-n8n-templates): Skip the blank canvas. Find a ready-made workflow in the n8n template gallery, import it into your workspace, connect Google Sheets and Gmail, test it with a real form…
- [AI Email Responder: Draft Gmail Replies Automatically with n8n](https://learn.ynteractive.com/content/ai-email-responder-gmail-drafts-n8n): Build an n8n agent that watches your Gmail, reads each new customer email, and writes a reply as a draft in the same thread, ready for you to check and send.

## Watch it in a free lesson: Find and Use n8n Templates

### Find and Use n8n Templates: video walkthrough

Full walkthrough · 3:32 · with captions

Skip the blank canvas. Find a ready-made workflow in the n8n template gallery, import it into your workspace, connect Google Sheets and Gmail, test it with a real form entry and publish it. The whole lesson narrated step by step, recorded in Stepthrough’s simulated practice environment.

[Watch it with chapters and the full transcript](https://learn.ynteractive.com/content/find-and-use-n8n-templates#watch)

From the free lesson [Find and Use n8n Templates](https://learn.ynteractive.com/content/find-and-use-n8n-templates)

## Related terms

Plain-English definitions, each with an example from a free lesson.

[Workflow](https://learn.ynteractive.com/content/glossary/workflow) · [Gmail draft](https://learn.ynteractive.com/content/glossary/gmail-draft) · [Automation](https://learn.ynteractive.com/content/glossary/automation) · [Action](https://learn.ynteractive.com/content/glossary/action) · [After-hours answering service](https://learn.ynteractive.com/content/glossary/after-hours-answering-service) · [Agent memory](https://learn.ynteractive.com/content/glossary/agent-memory) · [AI Agent node](https://learn.ynteractive.com/content/glossary/ai-agent-node) · [Artificial intelligence (AI)](https://learn.ynteractive.com/content/glossary/artificial-intelligence)

[The full AI glossary](https://learn.ynteractive.com/content/glossary)

## Related prompts

- [AI agent system message prompt](https://learn.ynteractive.com/content/prompts/agent-system-message-draft-prompt): Draft the system message for an n8n AI Agent: who it is, what it knows, its rules and how it writes, including a rule never to…
- [Appointment reminder text prompt](https://learn.ynteractive.com/content/prompts/appointment-reminder-text-prompt): Write day-before reminder texts for each job on tomorrow's schedule: the time window, who's coming, one prep step and an easy…
- [Automation candidates prompt](https://learn.ynteractive.com/content/prompts/automation-candidates-prompt): Rank your repetitive tasks by which to automate first, using only your own counts and minutes, with a first workflow sketched…
- [Automation time savings estimate prompt](https://learn.ynteractive.com/content/prompts/automation-time-savings-estimate-prompt): Estimate what one automation saves from your own numbers only: minutes before and after, setup and upkeep, costs you look up…

[All free prompt templates](https://learn.ynteractive.com/content/prompts)

## Visual guides

The same ideas as quick visual guides: swipe through the slides, or read each one as text.

- [Build an AI email responder that only writes drafts](https://learn.ynteractive.com/content/visual/email-agent-system-message): Customers ask the same questions all day. Do you cover my area? What does it cost? This is the system message from the AI Email Responder lesson.
- [How to use n8n templates without the red warnings](https://learn.ynteractive.com/content/visual/n8n-templates-myth): Most people copy an n8n template, see a canvas full of red warnings and give up. The warnings just mean the template can't know your accounts or your data.
- [Email each tech their jobs at 7am with n8n](https://learn.ynteractive.com/content/visual/job-alerts-n8n): Every morning someone at Rapid Flow Plumbing copies the day's jobs into emails, one tech at a time. Hand it to n8n.

[All visual guides](https://learn.ynteractive.com/content/visual)

## Keep reading

- [n8n Triggers Explained: Which One Starts Your Workflow?](https://learn.ynteractive.com/content/blog/n8n-triggers-explained): n8n triggers explained: schedule, Gmail, chat, webhook and form triggers, how to test each one, and how the trigger changes your AI Agent's prompt.
- [Learn n8n from Zero: Free Projects in the Right Order](https://learn.ynteractive.com/content/blog/learn-n8n-for-beginners): Learn n8n for beginners with six free, hands-on projects in a sensible order, from templates to AI agents to a web form, plus what you need for real.
- [When to Automate a Task with AI: A Simple Checklist](https://learn.ynteractive.com/content/blog/when-to-automate-with-ai): When to automate a task with AI: do it by hand in ChatGPT first, automate fixed daily steps without AI, and use an agent with drafts when judgment repeats.

[All blog posts](https://learn.ynteractive.com/content/blog) · [All free tutorials](https://learn.ynteractive.com/content)
