Resources · n8n integration

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

Why automate

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.

Connect

How do you secure the webhook URL?

  1. 01

    Pick an authentication method

    Open the node and set Authentication. Four values are available: basicAuth, headerAuth, jwtAuth and none. 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 on none means anyone holding the URL can start the workflow.

  2. 02

    Create the credential once

    Picking anything other than none asks 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.

  3. 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.

Parameters

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.

01

Allow Multiple HTTP Methods

multipleMethods

What 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 GET and POST, and you add others in the HTTP Method field.
  • HTTP Method: the list to listen on, among DELETE, GET, HEAD, PATCH, POST, PUT.
Use cases
one endpoint that creates a record on POST and returns it on GET, with each output wired to its own branch.
02

Path

path

What 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/:variable2 or /:variable1/:variable2. When a dynamic value is used, n8n prepends webhookId to the path.
Use cases
prototyping an API where /orders/:id has to stay stable across every redeploy.
03

Authentication

authentication

What 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: basicAuth for a user and password pair, headerAuth for a shared secret sent in a header of your choosing, jwtAuth for callers that already send a signed token, none for a public endpoint.
Use cases
a partner posting order data picks headerAuth, since most vendor consoles let you add one custom header but not much else.
04

Respond

responseMode

What 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: onReceived answers as soon as the node runs, with the message Workflow got started; lastNode returns the data of the last node executed; responseNode hands the reply to a Respond to Webhook node placed further down.
  • Response Data: with lastNode, choose allEntries for an array, firstEntryJson for a single object, firstEntryBinary for a file, or noData for an empty body.
  • Property Name: required with firstEntryBinary, it names the binary property to return.
Use cases
a checkout form needing a confirmation number back uses lastNode with firstEntryJson.
05

Binary File

options.binaryData

What 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, PATCH or PUT.
Use cases
a scanner or a document tool posting the scanned file straight to the workflow, which then stores it and writes a row in Postgres.
06

Field Name for Binary Data

options.binaryPropertyName

What 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.
Use cases
naming the field after what it carries, invoice rather than a generic label, so the upload node downstream reads clearly and a second file added later does not overwrite the first.
07

Ignore Bots

options.ignoreBots

What 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.
Use cases
a URL shared in a support channel while the team tests it, where phantom executions would otherwise pollute the history and confuse whoever debugs the workflow next.
08

IP(s) Allowlist

options.ipWhitelist

What 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.
Use cases
a payment provider that publishes its outgoing addresses, restricted to those ranges so a leaked URL alone is not enough to fire the workflow.
09

No Response Body

options.noResponseBody

What 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.
Use cases
a health check or a notification endpoint whose caller only reads the status code, where returning Workflow got started adds noise to their logs for no reason.
10

Property Name

options.responsePropertyName

What 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 lastNode and Response Data on firstEntryJson.
Use cases
returning a plain confirmation message built in an Edit Fields node, by pointing this at the property that holds it.
11

Raw Body

options.rawBody

What 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.
Use cases
a caller that posts XML, or one whose signature is computed over the exact bytes of the body, where re-serializing parsed JSON would break the check and every call would look forged.
12

Response Code

options.responseCode

What 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, or customCode.
  • Code: the number to return with customCode, placeholder e.g. 400.
Use cases
answering 201 once the workflow has created the record. The option is available on every Respond mode except responseNode.
13

Response Content-Type

options.responseContentType

What 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, placeholder application/xml. It shows with Respond on lastNode and Response Data on firstEntryJson.
Use cases
feeding an older system whose parser refuses anything not announced as XML.
14

Response Data

options.responseData

What 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 to onReceived.
Use cases
a vendor that only accepts a specific acknowledgement word before it considers the delivery done, and retries the call as long as it reads anything else.
15

Response Headers

options.responseHeaders

What 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.
Use cases
returning a caching or correlation header the caller matches against its own request, so both sides can trace a single call through their logs.
Need help

Need help automating Webhook with n8n?

A person reads every message.

FAQ

Webhook and n8n, common questions

01Is the Webhook node included in n8n?
Yes. It is a core node, shipped with n8n, on n8n Cloud as well as on a self-hosted instance under the Community Edition and its Sustainable Use license. Nothing to install, no extra cost on the n8n side, and the same node with the same 15 parameters in both cases. What differs is the URL your callers reach and the limits around it: a self-hosted instance lets you raise the payload ceiling with N8N_PAYLOAD_SIZE_MAX and set N8N_PROXY_HOPS when n8n sits behind a reverse proxy, while n8n Cloud handles hosting for you and applies its own timeout on slow responses.
02What do you need to make the n8n Webhook node work?
Strictly speaking, nothing. Drop the node in, publish the workflow, and the production URL answers. Authentication is a choice rather than a requirement: the Authentication selector offers Basic Auth, Header Auth and JWT Auth, and each of the three asks for a credential saved once in the Credentials menu and reusable everywhere. Set to None, the endpoint is open to anyone holding the URL, which is fine for a throwaway test and a bad idea in production. Two node options tighten things further without any credential: the IP allowlist and Ignore Bots.
03What are the limits of the Webhook node?
Three matter in practice. One webhook is registered per path and method combination, so a second workflow asking for the same pair is refused until you unpublish the other one or change the path. The maximum payload is 16MB, raisable only on a self-hosted instance through N8N_PAYLOAD_SIZE_MAX. And the test URL listens for 120 seconds after you select Listen for test event, then stops, which surprises anyone who wired the URL into a vendor console and waited. Production data is not shown in the editor either, it is in the Executions tab.
04When should you use the Webhook node instead of HTTP Request?
It depends on which side starts the conversation. The Webhook node waits to be called and opens the workflow, so it belongs at the top when an outside service announces an event. HTTP Request calls an endpoint from inside a workflow that is already running, and it is what you reach for when a dedicated node is missing an operation of an HTTP API. The two often work together: one workflow exposes a webhook, another calls it with HTTP Request, which is also the easiest way to test your own endpoint without asking the vendor to fire a real event.
05n8n or Make for receiving webhooks?
Both receive webhooks, so the decision sits elsewhere. Make is hosted, with no self-hosting option, and billed per operation, which is predictable until a chatty endpoint starts firing all day. n8n runs on Cloud or on your own servers, so the data of an incoming call stays where you decide and the cost follows the infrastructure rather than the volume of calls. Make's visual logic is quicker to grasp at first, n8n gives you expressions and code when the payload needs real reshaping. Traffic volume and where the data has to live usually settle it.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.