🗲 Creating a Secure Webhook - MUST HAVE
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 10 nodes and runs when an HTTP POST request hits its webhook URL (plus 1 other trigger). It uses only n8n's built-in nodes.
How it runs
Trigger: When an HTTP POST request hits its webhook URL (plus 1 other trigger).
- Check API Key (HTTP Request): calls an HTTP API
- Registered API Keys (Edit Fields (Set)): sets 1 field: registered_api_keys
- API Key Identified (If): checks a condition and branches into true / false
- Split Out: splits a list into separate items
- Respond to Webhook: sends the response back to the webhook caller
- Respond to Webhook: sends the response back to the webhook caller
- Find API Key (Filter): keeps only the items that match a condition
- Test Secure Webhook (HTTP Request): calls an HTTP API (POST)
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (7)
- Edit Fields (Set)
n8n-nodes-base.set - If
n8n-nodes-base.if - Respond to Webhook
n8n-nodes-base.respondToWebhook - Webhook
n8n-nodes-base.webhook - HTTP Request
n8n-nodes-base.httpRequest - Filter
n8n-nodes-base.filter - Split Out
n8n-nodes-base.splitOut
From the author
How it works This workflow demonstrates a fundamental pattern for securing a webhook by requiring an API key. It acts as a gatekeeper, checking for a valid key in the request header before allowing the request to proceed. 1. Incoming Request: The Secured…