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/webhooks

Setting 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.