Respond to Webhook didn't work when use more than 64 seconds in Wait Node

Describe the problem/error/question

I create a workflow that receive a request in webhook, which I need to post this request into a external service, so during the workflow I use a wait node to wait the reply for this service which is around 70 seconds later, so I use another webhook to receive the reply and http node to use the $execution.resumeUrl to resume the wait node and send the reply to the initial request.

But in all situatinon I realize that the respond to webhook never send back the message to initial request, so I create a short version of the workflow very simple to debug it, and I realize if I use an amount of time in wait node greater than 64 seconds always will timeout in the initial request.

Is there a way to turn around this issue, could I define a different timeout in the ENV values to increase it.?

What is the error message (if any)?

Please share your workflow

Just use a time query parameter to test this workflow.

Share the output returned by the last node

Information on your n8n setup

  • **n8n version:1.79.3
  • **Database (default: SQLite): Postgres
  • **n8n EXECUTIONS_PROCESS setting (default: own, main): queue
  • **Running n8n via (Docker, npm, n8n cloud, desktop app):docker
  • Debian 12

Hi,

What if you set the “Respond” in the webhook to “When Last Node Finishes”? That should work for you… no?

Doing that the response is the webhook node itself, after the time node didn’t answer anything.

Hey @rodrigoscdc, The issue you’re facing is due to n8n’s webhook timeout limit, which defaults to 60-64 seconds for synchronous responses. When the Wait node delays execution beyond this time, the initial webhook request times out before the response is sent.

Use an Asynchronous Webhook Flow

Instead of waiting for the external service’s response within the same execution, switch to an asynchronous approach:

  • First webhook accepts the request and immediately responds with a 200 OK.
  • The workflow continues processing in the background.
  • Once the external service responds, another webhook resumes the execution and sends a new HTTP request back to the client.

:white_check_mark: This prevents the initial request from timing out while still processing the response.

You can also Increase Timeout (Only for Self-Hosted n8n Instances)

If you’re self-hosting n8n, you can increase the timeout limit by adding this environment variable:

N8N_WEBHOOK_TTL=300

:white_check_mark: *This extends webhook timeout to 5 minutes (300 seconds) instead of the default 60-64 seconds.

1 Like

I updated the value of the env, the current behavior is when I hit the request it waits for the response, but it never gets back. So I defined the TTL to 120 seconds and the request now waits for the 120 seconds and after that it reaches the timeout, but if I use a value greater than 65 seconds the request never receives a response, even the workflow already finished.

I would like to use an asynchronous process but this is a limitation of the service that send the request to me, because it didn’t offers a endpoint for a callback. So I need to solve it synchronously.

Does the service you are calling use a Polling-Based Approach?
Instead of making n8n wait for the response, immediately return a “Processing” status (e.g., 202 Accepted).
The external service can poll n8n at a later time using an ID to check when the process is complete.

Hi, I use a method that I describe here, for this issue because N8N_WEBHOOK_TTL doesn’t exist.