- Home
- Resources
- Integrations
- Webhook
n8n Webhook nodeConfigure Webhook in n8n.
The n8n Webhook node turns a workflow into an HTTP endpoint. It waits for a call, passes the body, headers and query on to the next node, then replies. Fifteen parameters cover the path, four authentication methods, uploads and the answer sent back. For services with no dedicated trigger.
Verified Trustpilot reviews · AI, automation & growth agency
What does the n8n Webhook node do?
The Webhook node creates a URL that outside services can call. When a call lands on that URL, n8n starts the workflow and gives the next node the request as JSON: body, headers, query and route parameters. It is a trigger node, so it sits first in the workflow. It can also send data back at the end of the run, which is what makes a workflow behave like a small API endpoint rather than a one-way listener.
Three jobs come up again and again. The first is catching an event from a service that has no dedicated trigger node: the vendor posts its payload to your URL, and Path keeps that URL stable so you never have to update the vendor's settings again. The second is building an internal endpoint: a form, a script or another workflow calls the node, Respond is set to lastNode, and the caller receives the result of the run. The third is receiving files, where Binary File lets an upload through and Field Name for Binary Data decides where the file lands on the item.
A webhook is just a URL that another system calls when something happens, instead of you asking it every few minutes. That is the whole difference with polling, and it is why a Webhook workflow reacts as soon as the caller fires. The trade-off is that the caller has to support webhooks and be able to reach your instance.
When a dedicated node exists, take it. Pulling Slack or Google Sheets events through a raw webhook means handling signatures and payload shapes by hand for no gain. The Webhook node earns its place on the services nobody has built a node for yet, and on endpoints you own. In the other direction, when your workflow needs to call out rather than be called, the node you want is HTTP Request, which also doubles as a handy way to test a webhook URL from a second workflow.
Two limits are worth knowing before you go live. n8n registers one webhook per path and method combination, so a second workflow claiming the same GET /orders is refused until you unpublish the first or change the path. And on n8n Cloud, a request that gets no answer within 100 seconds fails with a 524 from Cloudflare, which means a long job should answer straight away and expose a second webhook for status checks. The maximum payload is 16MB, adjustable with N8N_PAYLOAD_SIZE_MAX when you host n8n yourself.
Wiring this into a real process is the kind of thing the team covers in the n8n training, and if you are still weighing platforms, the n8n review goes into where the tool fits.
How do you secure the webhook URL?
- 01
Pick an authentication method
Open the node and set Authentication. Four values are available:
basicAuth,headerAuth,jwtAuthandnone. Basic auth suits an internal caller you control, header auth fits vendors that let you add a custom header to their outgoing calls, and JWT auth covers callers that already sign their requests with a token. Leaving it onnonemeans anyone holding the URL can start the workflow. - 02
Create the credential once
Picking anything other than
noneasks for a credential. A credential in n8n is a saved set of secrets, created once from the Credentials menu and reused by every workflow on the instance. So the same header name and value can guard a dozen webhooks without being retyped. Keep one credential per caller rather than one shared secret, otherwise rotating it for one vendor breaks all the others at the same time. - 03
Narrow down who can call
Authentication proves who is calling, the IP(s) Allowlist option decides who is even allowed to try. It takes a comma-separated list of IP addresses or CIDR ranges, and a call from outside that list gets a
403. Leave it empty and every address is accepted. Add Ignore Bots on top when the URL is likely to be pasted into a chat tool whose link previewer would otherwise fire the workflow.
Which parameters does the Webhook node expose?
The Webhook node has 15 parameters. For each one: the node as you configure it in n8n, what the parameter changes, and our field notes.
Parameters index
Allow Multiple HTTP Methods
multipleMethodsWhat you see in n8n
Notes & use cases
A webhook answers one method at a time by default: GET or POST, not both. Turning this boolean on in the node settings lifts that, and the node then gets one output per method so the workflow can branch on how it was called.
Key parameters
- Allow Multiple HTTP Methods: off by default; once on, the node accepts
GETandPOST, and you add others in the HTTP Method field. - HTTP Method: the list to listen on, among
DELETE,GET,HEAD,PATCH,POST,PUT.
POST and returns it on GET, with each output wired to its own branch.Path
pathWhat you see in n8n
Notes & use cases
This is the tail of the webhook URL. n8n fills it with a random string so two nodes never collide, which is safe but impossible to communicate to a vendor. Replace it with something readable whenever the URL has to be typed into someone else's settings screen.
Key parameters
- Path: a text field, placeholder
webhook, that also takes route parameters written with a colon:/:variable,/path/:variable,/:variable/path,/:variable1/path/:variable2or/:variable1/:variable2. When a dynamic value is used, n8n prependswebhookIdto the path.
/orders/:id has to stay stable across every redeploy.Authentication
authenticationWhat you see in n8n
Notes & use cases
Nothing stops a stranger from calling an open webhook URL. This selector adds a check in front of the workflow, and a call that fails it never reaches the first node.
Key parameters
- Authentication:
basicAuthfor a user and password pair,headerAuthfor a shared secret sent in a header of your choosing,jwtAuthfor callers that already send a signed token,nonefor a public endpoint.
headerAuth, since most vendor consoles let you add one custom header but not much else.Respond
responseModeWhat you see in n8n
Notes & use cases
Decides when the caller gets its answer and what is in it. This is what separates a fire-and-forget listener from an endpoint the caller waits on.
Key parameters
- Respond:
onReceivedanswers as soon as the node runs, with the message Workflow got started;lastNodereturns the data of the last node executed;responseNodehands the reply to a Respond to Webhook node placed further down. - Response Data: with
lastNode, chooseallEntriesfor an array,firstEntryJsonfor a single object,firstEntryBinaryfor a file, ornoDatafor an empty body. - Property Name: required with
firstEntryBinary, it names the binary property to return.
lastNode with firstEntryJson.Binary File
options.binaryDataWhat you see in n8n
Notes & use cases
Incoming requests are read as JSON unless told otherwise. Switch this on and the node accepts a file in the request instead, which is what you need the day a vendor posts a PDF rather than a link to one.
Key parameters
- Binary File: a boolean saying the webhook will receive binary data. It only shows up when the method is
POST,PATCHorPUT.
Field Name for Binary Data
options.binaryPropertyNameWhat you see in n8n
Notes & use cases
Once a file comes in, it has to be stored somewhere on the item so the following nodes can find it. That is all this option does, and it matters only when binary data is actually received.
Key parameters
- Field Name for Binary Data: the name of the output field the received file is written to.
invoice rather than a generic label, so the upload node downstream reads clearly and a second file added later does not overwrite the first.Ignore Bots
options.ignoreBotsWhat you see in n8n
Notes & use cases
Paste a webhook URL into a chat tool and its link previewer fetches it on the spot. The workflow runs, an execution appears, and nobody asked for it. This option drops those callers before anything happens.
Key parameters
- Ignore Bots: a boolean that ignores requests from bots such as link previewers and web crawlers.
IP(s) Allowlist
options.ipWhitelistWhat you see in n8n
Notes & use cases
Authentication checks a secret, this one checks the address. Useful when the caller is a fixed server rather than a browser, because the range of legitimate origins is then small and known in advance.
Key parameters
- IP(s) Allowlist: a comma-separated list of addresses or CIDR ranges, placeholder
e.g. 127.0.0.1, 192.168.1.0/24. Empty means every address is allowed.
No Response Body
options.noResponseBodyWhat you see in n8n
Notes & use cases
Some callers want a status code and nothing else, and some are unhappy with an unexpected body. Switching this on sends the response with no body at all.
Key parameters
- No Response Body: a boolean that prevents n8n from sending a body. It is available with Respond set to
onReceived.
Property Name
options.responsePropertyNameWhat you see in n8n
Notes & use cases
By default the response carries the whole JSON of the entry. Naming a property here narrows it to that single value, which suits callers that expect a bare string rather than an object.
Key parameters
- Property Name: the name of the property whose value is returned instead of the whole JSON. It appears with Respond on
lastNodeand Response Data onfirstEntryJson.
Raw Body
options.rawBodyWhat you see in n8n
Notes & use cases
Turn this on and the node keeps the body as it arrived instead of parsing it. Anything the parser would have reshaped, or rejected, comes through untouched.
Key parameters
- Raw Body: a boolean saying the node receives the body in raw form, as binary.
Response Code
options.responseCodeWhat you see in n8n
Notes & use cases
A successful run answers with a default code. Override it when the caller reads the status to decide what happens next, which is common with vendor integrations that retry on anything unexpected.
Key parameters
- Response Code: pick from
200,201,204,301,302,304,400,401,403,404, orcustomCode. - Code: the number to return with
customCode, placeholdere.g. 400.
201 once the workflow has created the record. The option is available on every Respond mode except responseNode.Response Content-Type
options.responseContentTypeWhat you see in n8n
Notes & use cases
Responses go out as application/json. This field replaces that header when the caller expects another format, and it only changes the declared type, not the data itself.
Key parameters
- Response Content-Type: a custom content-type to return instead of
application/json, placeholderapplication/xml. It shows with Respond onlastNodeand Response Data onfirstEntryJson.
Response Data
options.responseDataWhat you see in n8n
Notes & use cases
Rather than returning what the workflow produced, this sends a fixed string back. The reply is decided at design time and does not depend on the run.
Key parameters
- Response Data: the custom text to send, placeholder
success. It is available with Respond set toonReceived.
Response Headers
options.responseHeadersWhat you see in n8n
Notes & use cases
Adds headers to what the node sends back. Each entry is a name and a value, and you can add as many as the caller needs.
Key parameters
- Name: the name of the header.
- Value: the value of the header, which takes an expression such as
{{ $json.token }}when it has to come from the workflow.
Need help automating Webhook with n8n?
A person reads every message.
Webhook and n8n, common questions
01Is the Webhook node included in n8n?
02What do you need to make the n8n Webhook node work?
03What are the limits of the Webhook node?
04When should you use the Webhook node instead of HTTP Request?
05n8n or Make for receiving webhooks?
Get our weekly integration tips.
No spam. Unsubscribe anytime.