How to Debug Vercel Webhooks

Vercel webhooks notify your application about deployment events, including when deployments start, succeed, fail, or are canceled. They are useful for CI/CD pipelines, notification systems, and deployment tracking.

What are Vercel Webhooks?

Vercel webhooks are HTTP POST requests that Vercel sends to your server when specific events occur in your account. Rather than continuously polling the Vercel API for updates, webhooks deliver real-time notifications the moment something happens — a payment completes, a user signs up, a deployment finishes, or any other tracked event.

Debugging these webhooks can be challenging because they originate from Vercel's servers, not your browser. You can't simply open DevTools to inspect them. That's where WebhookVault comes in — capture every Vercel webhook, inspect the full payload and headers, and replay them to your local development server.

Common Vercel Webhook Events

EventDescription
deployment.createdFired when a new deployment is created
deployment.succeededFired when a deployment finishes building and is ready
deployment.errorFired when a deployment fails during the build process
deployment.canceledFired when a deployment is manually canceled

Setting Up Vercel Webhooks with WebhookVault

Follow these steps to start capturing and debugging Vercel webhooks using WebhookVault.

1Create a WebhookVault endpoint

Sign up for a free WebhookVault API key and create an endpoint to capture Vercel webhooks.

curl -X POST https://webhookvault.anethoth.com/api/v1/endpoints \
  -H "Authorization: Bearer wv_your_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Vercel Webhooks"}'

# Response:
# {"url": "https://webhookvault.anethoth.com/hook/abc123", "inspect_url": "https://webhookvault.anethoth.com/inspect/abc123"}

2Configure Vercel to send webhooks

Go to your Vercel Dashboard > Team Settings > Webhooks Click 'Create Webhook' and enter your WebhookVault endpoint URL Select which events to listen for (deployment.created, deployment.succeeded, etc.) Save and note the webhook secret for signature verification

3Inspect captured requests

Once Vercel sends a webhook, you can inspect every detail through the WebhookVault API or web inspector.

curl https://webhookvault.anethoth.com/api/v1/endpoints/abc123/requests \
  -H "Authorization: Bearer wv_your_key"

# Returns all captured Vercel webhook requests with full headers, body, and metadata

4Replay to your local server

Replay any captured Vercel webhook to your local development server for testing.

curl -X POST https://webhookvault.anethoth.com/api/v1/endpoints/abc123/requests/1/replay \
  -H "Authorization: Bearer wv_your_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "http://localhost:3000/webhook"}'

# The original Vercel webhook is replayed to your local server

Sample Vercel Webhook Payload

Here is an example of a typical Vercel webhook payload. Use WebhookVault to capture real payloads from your Vercel account for accurate testing.

{
  "id": "uev_abc123",
  "type": "deployment.succeeded",
  "createdAt": 1706000000,
  "payload": {
    "deploymentId": "dpl_abc123",
    "name": "my-app",
    "project": {
      "id": "prj_abc123"
    },
    "url": "my-app-abc123.vercel.app",
    "target": "production",
    "meta": {
      "githubCommitSha": "abc123"
    }
  },
  "teamId": "team_abc123"
}

Common Vercel Webhook Issues

Here are the most common issues developers encounter when working with Vercel webhooks, and how to resolve them.

Webhook secret verification

Vercel signs webhooks using HMAC-SHA1. Verify the x-vercel-signature header against your webhook secret.

Multiple deployment events

A single git push can trigger multiple deployment events. Track deployment IDs to correlate related events.

Preview vs. production deployments

Filter by the target field to distinguish between preview and production deployments.

Team vs. personal webhooks

Webhooks are configured at the team level. Personal accounts have a separate webhook configuration.

Frequently Asked Questions

What are Vercel webhooks?

Vercel webhooks are HTTP callbacks that Vercel sends to your server when specific events occur. Instead of polling the Vercel API for changes, webhooks push real-time notifications to your application, making your integration more efficient and responsive.

How do I test Vercel webhooks locally?

Use WebhookVault to capture Vercel webhooks in the cloud, then replay them to your localhost. Create a WebhookVault endpoint, configure Vercel to send webhooks to it, and use the replay API to forward captured requests to http://localhost:3000/webhook (or your local port).

How do I verify Vercel webhook signatures?

Most webhook providers, including Vercel, sign their webhook payloads to prove authenticity. Check the Vercel documentation for the specific signature header and verification algorithm. Use WebhookVault to capture and inspect the raw headers to debug signature verification issues.

Why is WebhookVault better than ngrok for Vercel webhook testing?

Unlike ngrok, WebhookVault captures and stores every webhook request with full headers and payloads. You can replay any Vercel webhook to your local server as many times as needed, inspect historical requests, and share webhook data with your team. No tunnel to maintain or port to expose.

Start debugging Vercel webhooks now

Create a free WebhookVault endpoint in seconds. Capture, inspect, and replay Vercel webhooks with zero configuration.

Get Free API Key