| name | vercel-webhooks-events |
| description | Implement Vercel webhook handling with signature verification and event processing.
Use when setting up webhook endpoints, processing deployment events,
or building integrations that react to Vercel deployment lifecycle.
Trigger with phrases like "vercel webhook", "vercel events",
"vercel deployment.ready", "handle vercel events", "vercel webhook signature".
|
| allowed-tools | Read, Write, Edit, Bash(curl:*) |
| version | 1.18.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","vercel","webhooks","events","integration"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Vercel Webhooks & Events
Overview
Handle Vercel webhook events (deployment.created, deployment.ready, deployment.error) with HMAC signature verification. Covers both integration webhooks (Vercel Marketplace) and project-level deploy hooks.
Prerequisites
- HTTPS endpoint accessible from the internet
- Webhook secret from Vercel dashboard or integration settings
crypto module for HMAC signature verification
Instructions
Step 1: Register a Webhook
In the Vercel dashboard:
- Go to Settings > Webhooks
- Add your endpoint URL (must be HTTPS)
- Select events to subscribe to
- Copy the webhook secret for signature verification
Or for Integration webhooks, configure in the Integration Console at vercel.com/dashboard/integrations.
Step 2: Verify Webhook Signature
import type { VercelRequest, VercelResponse } from '@vercel/node';
import crypto from 'crypto';
const WEBHOOK_SECRET = process.env.VERCEL_WEBHOOK_SECRET!;
function verifySignature(body: string, signature: string): boolean {
const expectedSignature = crypto
.createHmac('sha1', WEBHOOK_SECRET)
.update(body)
.digest('hex');
return crypto.timingSafeEqual(
.(signature),
.(expectedSignature)
);
}
() {
(req. !== ) {
res.().({ : });
}
rawBody = .(req.);
signature = req.[] ;
(!signature || !(rawBody, signature)) {
res.().({ : });
}
event = req.;
(event);
res.().({ : });
}