Webhooks are the foundation of real-time event-driven automation. Instead of polling APIs constantly for updates, webhooks listen for inbound HTTP requests sent by external systems (like Stripe, GitHub, or Typeform) immediately after an event occurs.

Test vs Production Webhook URLs

Inside the n8n Webhook node settings, you will notice two distinct URLs:

  • Test URL: Active only when you manually click **Listen for Test Event**. Used for debugging payloads.
  • Production URL: Active permanently once the workflow is **Active**. It runs automatically in the background.

Webhook Response Modes

You can configure how n8n responds to the system calling the webhook:

  • On Received (Default): Returns a status code 200 OK immediately.
  • Using Last Node: Pauses response, executes all nodes, and returns the JSON output of the final node (useful for building custom API endpoints).