Webhook Resonse time-out

The idea is:
Making the Response to Webhook work, without time out

My use case:

I have some applictaions, to triger workflows through a webhook. At the end of the workflow, I would like to send specific fields, like URL or generated Data back to the applictaion. However there seems to be a time-out. The workflow itself can take up to 5 minutes, as we are calling different API endpoints, for example to generate images or doing a deep research.
Unfortunatelly we get the webhook response back, even the workflow is not finished yet. so we only can process the first webhook response and not the one we would like to have, which we defined in the Respond to webhook node.
I saw, that it was possible to set a delay function, when hosting N8N locally. But we are currently on the browser based version.
It would be great, if the webhook response would wait until it is really finished, and not before. This would make the setting in the first webhook (respond to webhook node) really funtionable.

I think it would be beneficial to add this because:

The setting respond through respond to webhook node would work.

Any resources to support this?
Not really. Just hoping that we can have a solution.

Are you willing to work on this?
Anything I can do to help, let me know.

Hi Clemens,

I’ve run into the same limitation with the Respond to Webhook node, especially in flows that involve long-running tasks like external API calls, image generation, or AI processing.

By default, the webhook timeout on n8n cloud (and even self-hosted setups) is limited — I believe it’s around 2 minutes for webhook responses. If your workflow takes longer, the initial webhook request times out, and the client receives no response or an early one.


:white_check_mark: Workaround I use in production:

  1. Split the flow into two parts:
  • Part 1: Use a Webhook (no response) → store data → trigger Part 2 via Execute Workflow (async).
  • Part 2: Do the heavy lifting and send the result to a callback URL (provided by the client).
  1. If callback is not an option:
    Use a Wait node or polling mechanism with a frontend to check the status instead of holding the connection open.

:x: Why “Respond to Webhook” doesn’t wait:

The node technically does wait — but only within the limits of HTTP timeouts. Beyond that, you’re limited by browser/client behavior and server config.


:wrench: Suggestion for n8n team:

It would be great to have:

  • An explicit “hold response open” mode that queues the response until a Finish trigger.
  • A built-in way to extend timeout in the cloud version (or at least document the limit clearly).

Let me know if you’d like a working example or a template with the split setup I mentioned — happy to share it.