Yes. n8n has a Webhook node, a trigger node that creates a webhook so apps and services can start a workflow by sending data. It supports DELETE, GET, HEAD, PATCH, POST and PUT, has separate test and production URLs, and allows a 16MB maximum payload that self-hosters can raise with an environment variable.
The short answer, and why it matters
If you're choosing an automation tool, webhook support decides how many of your apps you can wire up. Plenty of tools can send a webhook but have no ready-made trigger in any automation platform. n8n's Webhook node fills that gap: it lets you trigger workflows from services that don't have a dedicated app trigger node.
It can also send the result of the workflow back to whoever called it, so a workflow can behave like a small API endpoint. That's handy for things like a form that needs an instant answer, or a quote calculator on your site.
n8n and Zapier webhooks side by side
| Feature | n8n Webhook node | Zapier Webhooks trigger |
|---|---|---|
| How it starts | Trigger node that starts a workflow | Catch Hook or Catch Raw Hook trigger |
| HTTP methods | DELETE, GET, HEAD, PATCH, POST, PUT | Not listed on its webhook help page |
| Payload size | 16MB maximum; self-hosters can change it | Catch Raw Hook: 2MB including headers |
| Body handling | Standard request handling | Catch Hook parses; Catch Raw Hook leaves it unparsed |
| Arrays | Not listed on its node page | Can trigger once per object in a JSON array |
| Reply to caller | Can return the workflow's result | Not listed on its webhook help page |
Where a cell says something isn't listed, I'm not going to guess at it. The bigger point is that n8n gives you more control over the request and the reply, while Zapier's once-per-object option is a neat shortcut when a service sends a list of records in one go. My fuller comparison of n8n against Zapier covers hosting and the wider differences, which sit outside this page. In short: if you need fine control over who can call a URL and what comes back, n8n's node gives you more levers; if a service sends batches of records and you want each one handled separately, Zapier's per-object trigger saves you a loop.
Locking a webhook down
An open webhook URL is an open door, so n8n gives you several ways to close it.
- Authentication: Basic auth, Header auth, JWT auth, n8n User Auth (OAuth2) or None.
- IP allowlist: only listed addresses can call the URL, and anyone else gets a 403 error.
- OAuth2 responses: with n8n User Auth, a request without a bearer token gets a 401, and a logged-in user without execute permission gets a 403.
Those status codes are useful when you're debugging. A 401 means the caller didn't identify itself. A 403 means it did, but isn't allowed in.
Paths and parameters
By default each webhook gets a randomly generated path. You can set your own, and include route parameters such as /:variable or /path/:variable, so values in the URL itself reach your workflow. A readable path makes it far easier to tell your webhooks apart six months from now.
Test URLs and production URLs behave differently
n8n Docs on the Webhook node spell out the difference that confuses newcomers. The test URL only listens after you click Listen for test event or Execute workflow, and the incoming data shows up in the editor. The production URL only works once the workflow is published, and its data appears in the Executions tab rather than the editor. So a published workflow can look idle while it's working perfectly.
The fix is simple: test with the test URL, swap the production URL into the sending app, publish, and then watch Executions.
Payload size on big requests
The maximum payload is 16MB. If you self-host, you can change it with the N8N_PAYLOAD_SIZE_MAX environment variable. For most form submissions and app events you'll never get near it. If you're unsure whether a webhook or a regular API call suits your job, my explainer on APIs versus webhooks helps.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
My verdict on n8n webhooks
Yes, n8n supports webhooks, and it's one of its strongest features. Pick a readable path, add Header auth or an IP allowlist from day one, and remember the test and production URLs live separate lives. If you're comparing it with other platforms, my roundup of n8n alternatives is a good next stop.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
Does n8n support webhooks?
Yes, through the Webhook node, a trigger node that starts a workflow.
Which HTTP methods work?
DELETE, GET, HEAD, PATCH, POST and PUT.
What is the payload limit?
16MB, which self-hosters can change with N8N_PAYLOAD_SIZE_MAX.
Can I secure a webhook?
Yes: Basic auth, Header auth, JWT auth, n8n User Auth (OAuth2), or an IP allowlist.
Why doesn't my webhook fire in production?
The production URL only registers when the workflow is published, and the test URL needs Listen for test event.

