Incoming Webhooks
Configure external services to send webhooks to your endpoint.
Webhook Endpoint
Use this URL to receive webhooks from Vercel and other services.
https://your-domain.vercel.app/api/webhooksSetting Up Vercel Webhooks
1. Create a Webhook in Vercel
Go to your Vercel dashboard, navigate to Account Settings, then Webhooks, and click Create Webhook.
2. Configure the Webhook
- Set the Endpoint URL to your webhook endpoint above
- Select the events you want to receive (deployments, projects, etc.)
- Copy the generated secret for signature verification
3. Add the Secret to Environment Variables
Add VERCEL_WEBHOOK_SECRET to your environment variables with the secret from Vercel.
Signature Verification
Vercel webhooks are signed using HMAC-SHA1. The signature is sent in the x-vercel-signature header.
const crypto = require('crypto');
async function verifySignature(req) {
const payload = await req.text();
const signature = crypto
.createHmac('sha1', process.env.VERCEL_WEBHOOK_SECRET)
.update(payload)
.digest('hex');
return signature === req.headers['x-vercel-signature'];
}Supported Events
Deployment Events
- deployment.created
- deployment.succeeded
- deployment.failed
- deployment.canceled
- deployment.error
Project Events
- project.created
- project.removed
Domain Events
- domain.created
- domain.removed
Integration Events
- integration.configuration.removed
- integration.configuration.scope.changed
Webhook Status
Endpoint Active
Your webhook endpoint is ready to receive events. Check the Events page to see incoming webhooks.