Webhook trigger receives request but workflow does not continue to next nodes (self-hosted, Docker)

Hi everyone,

I’m running into a strange issue with a self-hosted n8n instance (Docker) and webhook triggers.

Setup

  • n8n self-hosted using Docker (single instance)

  • Behind reverse proxy / API gateway

  • WEBHOOK_URL is correctly set to the public domain (not localhost)

  • HTTPS is working

  • Not using Execute Node

  • Execution mode is not intentionally queue (no separate worker containers)

  • Using /webhook-test/... with “Listen for test event”

The problem
When I send a POST request from Postman to the test webhook URL:

https://<domain>/webhook-test/iis-agent

  • The webhook trigger does receive the request

  • I can see the incoming payload in the webhook output (headers, body, etc.)

  • The next node (a simple Set node used to normalize input) does not execute

  • The workflow execution stops at the Webhook trigger

  • No error is shown

  • The workflow just never advances to downstream nodes

Things I have already verified

  • WEBHOOK_URL is correctly set to the public domain

  • Only one n8n container is running

  • Webhook is in “Respond to Webhook” mode (also tested with “On Received”)

  • Workflow is connected correctly (no missing edges)

  • The Set node is not executed manually (manual mapping only)

  • Same behavior happens even without AI Agent / LLM nodes

  • Using “Listen for test event” correctly before sending the request

Observed behavior

  • The webhook trigger fires

  • Execution appears to stop immediately after the trigger

  • No downstream node is executed

  • Postman keeps waiting or receives no response (depending on response mode)

Has anyone seen this behavior before?
Is there anything else I should check at the Docker / environment / execution level?

Thanks in advance.

Hi @Bruxar

It looks like you’re very close, and your setup is mostly correct.

The simplest and most reliable fix is to activate the workflow and call the production URL (/webhook/...) instead of the test one. That creates a persistent webhook inside n8n, independent of the editor session, and the rest of the workflow will run normally.

If you really need to use test mode, your proxy has to always send the request back to the exact same container/session (sticky routing, no buffering). Otherwise n8n will receive the request but won’t be able to resume the execution past the Webhook node.

Hi @Bruxar, welcome!

If you first open the webhook node and then click “Listen for test event”, it will only run the webhook node, not the entire workflow..

However, if you click “Execute workflow”, this will run the whole workflow:

Hope that makes sense..

1 Like

Thanks @tamy.santos and @mohamed3nan — activating the workflow and using the production webhook solved it.
Also, running Execute workflow instead of only Listen for test event was the key detail.
Much appreciated!

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.