Skip to content
Explore Templates
Getting started

n8n Webhook Test vs Production URL: Why Your Webhook Is Not Working

Understand the difference between n8n test and production webhook URLs and diagnose 404 errors, inactive workflows, methods, and payload problems.

Illustration: Webhook URLs: Test vs Production workflow guide

Editorial status: Documentation-based implementation guide. No independent end-to-end workflow test or downloadable workflow JSON is claimed.

One of the most common reasons a new n8n webhook appears broken is using the correct path on the wrong URL. The Webhook node exposes separate test and production endpoints. They serve different purposes, and a request that succeeds during editing may fail when a real service sends it later.

Test URL vs production URL

The test endpoint is intended for manual development: n8n listens while you run a test in the editor, then displays the incoming data so you can map it. The production endpoint is designed for requests from your real application when the workflow is published or active. The URLs differ; copying one into a form integration and later switching workflow mode without updating the sender can lead to a 404 or no execution.

Quick diagnosis checklist

  1. Open the Webhook node and compare the exact URL stored in your sending app.
  2. Check the HTTP method. A node configured for POST will not behave like a GET endpoint.
  3. For the test URL, start listening for a test event before sending the request.
  4. For the production URL, make sure the workflow is published or active according to your n8n version.
  5. Inspect the Executions view rather than assuming the editor canvas shows every production run.
  6. Confirm the sender uses the public HTTPS address and not a private Docker hostname.

Example: send a safe test payload

Use a local API client or a form test feature to POST JSON such as {"event":"lead.created","id":"test-123"}. Set Content-Type: application/json. Inspect the Webhook node output; depending on the configuration, request data may appear under a body property rather than at the top level.

Why a production webhook can return 404

The workflow may not be active; the path may have changed; the HTTP method may be wrong; or your reverse proxy may be forwarding requests to the wrong host. On self-hosted installations, check the public webhook base URL and reverse-proxy configuration. Do not publish a private local address in a third-party integration.

Why you receive a timeout

A slow downstream API, an AI step, or a response configuration that waits for the entire workflow can exceed the sender’s timeout. For long-running work, consider acknowledging receipt quickly and processing the job asynchronously. A successful acknowledgment means the event was accepted, not that every downstream step succeeded.

Security considerations

A publicly reachable URL is not automatically authenticated. Configure the Webhook node’s available authentication options or validate provider signatures where supported. Never place API keys in a publicly shared screenshot, sample request, or URL query string. Use test data when diagnosing payload issues.

What to check before going live

Send a valid event, an invalid event, and a repeated event. Confirm the response code, data mapping, error logging, and duplicate behavior. Then replace the test URL in your sender with the production URL and run a final end-to-end test.

Official references

Documentation reviewed: October 2026. Always verify node options in your installed n8n version before using a workflow with production data.

Related TemplateFlows guides

Further reading: n8n Form Trigger Tutorial for a complementary n8n setup walkthrough.

Find a workflow to start from

Browse templates by use case and check what each one needs.

Explore Templates