n8n-nodes-svix-webhook-verify
v0.2.4
Published
n8n community node that receives and verifies Svix webhook signatures (Clerk, etc.)
Downloads
765
Maintainers
Readme
n8n-nodes-svix-webhook-verify
An n8n community node that receives and verifies Svix webhook signatures. Built for Clerk webhooks, but works with any service that uses Svix for webhook delivery.
What it does
This node acts as a webhook trigger in your n8n workflow. It:
- Receives incoming POST requests at a webhook URL
- Verifies the Svix signature (
svix-id,svix-timestamp,svix-signatureheaders) - Rejects unverified requests with a
400error - Passes the verified payload into your workflow
Only webhooks with valid signatures trigger your workflow. Fake or tampered requests are blocked.
Installation
- In your n8n instance, go to Settings > Community Nodes
- Click Install
- Enter
n8n-nodes-svix-webhook-verify - Click Install
Setup
1. Get your webhook signing secret
- Go to your Clerk Dashboard > Webhooks
- Create or select an endpoint
- Copy the Signing Secret (starts with
whsec_)
2. Configure the node in n8n
- Add the Svix Webhook Verify trigger node to your workflow
- Create a new credential and paste your signing secret
- Copy the webhook URL shown in the node
- Paste that URL as the endpoint in your Clerk Dashboard
3. Select event types (optional)
By default the node accepts all events. You can filter to specific Clerk event types:
user.created,user.updated,user.deletedsession.created,session.ended,session.removed,session.revokedorganization.created,organization.updated,organization.deletedorganizationMembership.created,organizationMembership.updated,organizationMembership.deletedemail.created,sms.created
Output
The node outputs the verified webhook payload with additional metadata fields:
{
"type": "user.created",
"data": {
"id": "user_2g7np...",
"first_name": "John",
"last_name": "Doe",
"email_addresses": [...],
...
},
"timestamp": 1716883200,
"_eventType": "user.created",
"_svixId": "msg_3BU5u...",
"_svixTimestamp": "1774531028"
}| Field | Description |
|-------|-------------|
| type | The Clerk event type |
| data | The event payload from Clerk |
| _eventType | Same as type, for easy routing in IF nodes |
| _svixId | Svix message ID |
| _svixTimestamp | Svix delivery timestamp |
Security
| Request | Response | Workflow |
|---------|----------|----------|
| No svix headers | 400 Missing required svix headers | Not triggered |
| Invalid signature | 400 Webhook signature verification failed | Not triggered |
| Valid signature | 200 | Triggered with payload |
Compatibility
- n8n version: 0.5+ (n8n Nodes API v1)
- Node.js: 18.10+
- Works with: Clerk, or any service using Svix for webhook delivery
License
MIT
Built by SIÁN Agency
