🗲 Creating a Secure Webhook - MUST HAVE
Last edited 58 days ago
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.
- Incoming Request: The
Secured Webhooknode receives an incomingPOSTrequest. It expects an API key to be sent in thex-api-keyheader. - API Key Verification:
- The
Check API Keynode takes the key from the incoming request's header. - It then makes an internal HTTP request to a second webhook (
Get API Key) which acts as a mock database. - This second webhook retrieves a list of registered API keys (from the
Registered API Keysnode) and filters it to find a match for the key that was provided.
- The
- Conditional Response:
- If a match is found, the
API Key Identifiednode routes the execution to the "success" path, returning a200 OKresponse with the identified user's ID. - If no match is found, it routes to the "unauthorized" path, returning a
401 Unauthorizederror.
- If a match is found, the
This pattern separates the public-facing endpoint from the data source, which is a good security practice.
Set up steps
Setup time: ~2 minutes
This workflow is designed to be a self-contained example.
- Set up Credentials: This workflow uses "Header Auth" for its internal communication. Go to Credentials and create a new Header Auth credential. You can use any name and value (e.g., Name:
X-N8N-Auth, Value:my-secret-password). Select this credential in all four webhook/HTTP Request nodes. - Add Your API Keys: Open the
Registered API Keysnode. This is your mock database. Edit the array to include theuser_idandapi_keypairs you want to authorize. - Activate the workflow.
- Test it: Use the
Test Secure Webhooknode to send a request.- Try it with a valid key from your list to see the success response.
- Change the
x-api-keyheader to an invalid key to see the401 Unauthorizederror.
For Production: Replace the mock database part of this workflow (the Get API Key webhook and Registered API Keys node) with a real database node like Supabase, Postgres, or Baserow to look up keys.
You may also like
New to n8n?
Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!





