Skip to content

Respond to Webhook Redirect fails as undefined #20336

@anythinghelpsautomations

Description

Describe the problem/error/question

I have a workflow that starts with a user clicking a webhook link, then displays an n8n form, and lastly displays a second form after the first is submitted. This worked fine prior to upgrading to version 1.113.3 yesterday.

Now the user is getting the following response from the second “Respond to Webhook” node. It fails if I save the $execution.resumeFormUrl value first and it fails if I setup the node to specifically return a 302 response status with the Location header set.

{“code”:0,“message”:“Invalid value "undefined" for header "location"”}

What is the error message (if any)?

This is what the web browser displays instead of redirecting to the new url it should get in the location header.

{“code”:0,“message”:“Invalid value "undefined" for header "location"”}

The second Response to Webhook node is returning an http response code of 500, Internal Server Error. The error in the container log is:

Error in handling webhook request POST /form-waiting/161827/step1: Invalid value “undefined” for header “location”

Please share your workflow/screenshots/recording

Here's a sample workflow that shows the problem in community version 1.113.3

{"nodes":[{"parameters":{"path":"267d62f1-74a9-4f46-9ed2-90e59d4d6bdd","responseMode":"responseNode","options":{}},"type":"n8n-nodes-base.webhook","typeVersion":2.1,"position":[0,0],"id":"0cd579a4-44a3-4d98-88c5-0c103f10ce83","name":"Webhook","webhookId":"267d62f1-74a9-4f46-9ed2-90e59d4d6bdd"},{"parameters":{"respondWith":"redirect","redirectURL":"={{ $execution.resumeFormUrl }}/step1","options":{}},"type":"n8n-nodes-base.respondToWebhook","typeVersion":1.4,"position":[448,0],"id":"45bdbd0c-c0fd-41af-8944-9dde98915bdd","name":"Respond to Webhook"},{"parameters":{"resume":"form","formTitle":"Test Form","formDescription":"blah blah blah","formFields":{"values":[{"fieldLabel":"Something","placeholder":"anything"}]},"responseMode":"responseNode","options":{"webhookSuffix":"step1"}},"type":"n8n-nodes-base.wait","typeVersion":1.1,"position":[672,0],"id":"e6c32d0b-ec45-4004-9cab-528222e03025","name":"Wait","webhookId":"c9763306-9fd8-4726-9a9b-23f2e1e3951a"},{"parameters":{"respondWith":"redirect","redirectURL":"={{ $execution.resumeFormUrl }}/step2","options":{}},"type":"n8n-nodes-base.respondToWebhook","typeVersion":1.4,"position":[1120,0],"id":"99886f55-380f-4ad7-8bb2-bb1571150442","name":"Respond to Webhook1"},{"parameters":{"resume":"form","formTitle":"Test Form 2","formDescription":"blah blah","formFields":{"values":[{"fieldLabel":"Choose","fieldType":"dropdown","fieldOptions":{"values":[{"option":"1"},{"option":"2"}]}}]},"options":{"webhookSuffix":"step2"}},"type":"n8n-nodes-base.wait","typeVersion":1.1,"position":[1344,0],"id":"bfa2bd40-26e4-475d-b9b1-7208e75f0561","name":"Wait1","webhookId":"001e7840-8d36-44c5-9bea-368c54f3ebcd"},{"parameters":{},"type":"n8n-nodes-base.noOp","typeVersion":1,"position":[224,0],"id":"1c785a68-5065-4a87-a4cc-50301061c8d0","name":"Do a bunch of stuff"},{"parameters":{},"type":"n8n-nodes-base.noOp","typeVersion":1,"position":[896,0],"id":"05130ae2-5d34-4b2f-8c7f-2c9a353ae7d2","name":"Do a bunch more stuff"}],"connections":{"Webhook":{"main":[[{"node":"Do a bunch of stuff","type":"main","index":0}]]},"Respond to Webhook":{"main":[[{"node":"Wait","type":"main","index":0}]]},"Wait":{"main":[[{"node":"Do a bunch more stuff","type":"main","index":0}]]},"Respond to Webhook1":{"main":[[{"node":"Wait1","type":"main","index":0}]]},"Do a bunch of stuff":{"main":[[{"node":"Respond to Webhook","type":"main","index":0}]]},"Do a bunch more stuff":{"main":[[{"node":"Respond to Webhook1","type":"main","index":0}]]}},"pinData":{},"meta":{"instanceId":"4c24dc2565106563f78303a1539b05db388579eb897084ada42eefb2aef760f5"}}

Share the output returned by the last node

Note, to get to this final result you need to manually change the “…/step1” to “…/step2” in the address bar and hit enter when you get the error above. Otherwise, the workflow will never finish. If you do the manual address bar change, this is the final result.

Form Submitted

Your response has been recorded

Debug info

core

  • n8nVersion: 1.113.3
  • platform: docker (self-hosted)
  • nodeJsVersion: 22.19.0
  • nodeEnv: production
  • database: postgres
  • executionMode: regular
  • concurrency: -1
  • license: enterprise (production)

storage

  • success: all
  • error: all
  • progress: false
  • manual: true
  • binaryMode: memory

pruning

  • enabled: true
  • maxAge: 336 hours
  • maxCount: 10000 executions

client

  • userAgent: mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/140.0.0.0 safari/537.36
  • isTouchDevice: true

Generated at: 2025-10-02T23:34:33.186Z}

Metadata

Metadata

Assignees

No one assigned

    Labels

    in linearIssue or PR has been created in Linear for internal review

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions