FAQ · Tools and setup

What is the difference between n8n's test and production webhook URLs?

Both URLs belong to one Webhook node, but they behave differently. The test URL works only while you are listening in the editor. The production URL runs once the workflow is published, and its runs show in the Executions tab.

Key takeaways

  • The test URL works only after you click Listen for Test Event; it shows data on the canvas.
  • The production URL works once the workflow is published and records runs in Executions.
  • Give live systems the production URL, never the test URL.
  • A test that passes proves little until a published run succeeds.

What is the difference between n8n's test and production webhook URLs?

The test URL works only while the workflow is open in the editor and listening for a test event, and it shows the incoming data on the canvas. The production URL works once the workflow is published, runs without the editor, and records each run in the Executions tab instead of on the canvas.

Both URLs belong to the same Webhook node, so it is easy to think they behave the same. They do not. Most "it worked in testing but not live" problems come from this one difference, so it is worth understanding before you give either URL to another system.

Two paths from one Webhook node: the test URL shows data in the editor while listening; the production URL runs the workflow once it is publishedTwo paths from one Webhook node: the test URL shows data in the editor while listening; the production URL runs the workflow once it is published Sender calls Test URL only while the editor listens Production URL only once the workflow is published Data shown on the canvas for checking field names Run recorded in Executions no data shown on the canvas
One Webhook node, two URLs. Test the first, send live traffic to the second.

When does each URL work?

Click "Listen for Test Event" in the editor to arm the test URL. The test URL accepts a request only while that listener is active. The production URL accepts requests whenever the workflow is active.

That gives three practical rules. First, arm the test listener before you send the test, or the request is rejected. Second, do not expect the production URL to behave like the test: it does not show the incoming data in the editor, so you must read the Executions tab. Third, if the workflow is inactive, the production URL gets no run at all, even though the test URL still works while you have the editor open.

Which URL should the sending system use?

The sending system should always use the production URL. The test URL is for building the workflow and is not meant to stay in a live system.

Give a form tool or booking platform the production URL once the workflow is published and tested. If a live system keeps the test URL, the integration stops working the moment you close the editor. Keep a note of which URL each sender uses, so a later change to the workflow does not break a system nobody remembers connecting.

How do you check that a production run happened?

Open the Executions tab. Each production run appears there with its status, its time and the data it received, and failed runs show the step that stopped.

  • Success. The run completed. Check the output of the last step to confirm the record reached the destination.
  • Error. A step failed. The error names the step, which tells you whether the cause is the incoming data or a connection.
  • No run. The request never reached the workflow. Check the method, the URL, the workflow's active state and the sender's log.

Set an error workflow or a notification for failed runs. A webhook that quietly stops working is the most expensive kind of failure, because nobody sees it until a lead goes missing.

Where does this fit in a larger n8n build?

The test and production split is the same in every n8n build. What changes is how many webhooks a flow has and how much checking each one needs.

Our n8n automation service sets up each webhook with its own test, production URL record, authentication and error alert, so the team can see which system sends what. For the first webhook setup step by step, read how to set up an n8n webhook. For the GoHighLevel side of the same question, see how GoHighLevel inbound webhooks work.

Sources and further reading

n8n's interface and limits change between versions. Confirm on your instance before you rely on a specific label.

Need a webhook that fails loudly, not silently?

Book a free 30-minute call. We set up separate test and production paths, error alerts and a record of every sender, so a broken webhook is noticed the same day.

Get in touch

Tell us what you want to automate or build.

Send a few lines about your business and what is not working. We reply within one business day with next steps, or book a call if you would rather talk now.

  • Free 30-minute strategy call, no obligation
  • Written plan with scope and price before any build
  • Six months of maintenance included on every build
Alpit Patel
Alpit PatelFounder, Autoesta · HighLevel Certified Admin

With country code, so we can call you back.

We reply within one business day. Your details are used only to answer this enquiry. Privacy policy

Prefer to talk now? Book a free call

Book a Free Strategy Call