Skip to main content

Vercel

Receive webhook events from Vercel for deployments, projects, domains, and integrations.

Pro/Enterprise required

Vercel webhooks are only available on Pro and Enterprise plans. They are not available on the Hobby plan.

Connect Vercel

Vercel webhooks require manual setup — there is no OAuth integration. You register the Dispatch endpoint URL directly in your Vercel team settings.

Steps

  1. In Dispatch, go to Sources → Add Source → Vercel and click Generate webhook URL.
  2. Copy the generated URL.
  3. In Vercel, go to Team Settings → Webhooks → Add Webhook.
  4. Paste the URL and select the events you want to receive.
  5. Click Create. Copy the Signing Secret shown on the webhook detail page.
  6. Paste the signing secret into Dispatch and click Done.

Supported Events

CategoryEventDescription
Deploymentsdeployment.createdDeployment created
Deploymentsdeployment.readyDeployment ready
Deploymentsdeployment.succeededDeployment succeeded (all checks passed)
Deploymentsdeployment.promotedDeployment promoted to production
Deploymentsdeployment.errorDeployment failed
Deploymentsdeployment.canceledDeployment canceled
Deploymentsdeployment.rollbackInstant rollback accepted
Deploymentsdeployment.cleanupDeployment permanently deleted
Deploymentsdeployment.check-rerequestedDeployment check rerequested
Deploymentsdeployment.integration.action.startIntegration deployment action started
Deploymentsdeployment.integration.action.cancelIntegration deployment action canceled
Deploymentsdeployment.integration.action.cleanupIntegration deployment action cleaned up
Projectsproject.createdProject created
Projectsproject.removedProject removed
Projectsproject.domain.createdDomain added to project
Projectsproject.domain.deletedDomain removed from project
Projectsproject.domain.movedDomain moved between projects
Projectsproject.domain.updatedProject domain updated
Projectsproject.domain.verifiedProject domain verified
Projectsproject.domain.unverifiedProject domain unverified
Projectsproject.env-variable.createdEnvironment variable created
Projectsproject.env-variable.updatedEnvironment variable updated
Projectsproject.env-variable.deletedEnvironment variable deleted
Domainsdomain.createdDomain added to account
Domainsdomain.renewalDomain renewed
Domainsdomain.renewal-failedDomain renewal failed
Domainsdomain.auto-renew-changedAuto-renewal setting changed
Domainsdomain.certificate-addSSL certificate added
Domainsdomain.certificate-add-failedSSL certificate add failed
Domainsdomain.certificate-renewSSL certificate renewed
Domainsdomain.certificate-renew-failedSSL certificate renewal failed
Domainsdomain.certificate-deletedSSL certificate deleted
Domainsdomain.dns-records-changedDNS records changed
Domainsdomain.transfer-in-startedDomain transfer started
Domainsdomain.transfer-in-completedDomain transfer completed
Domainsdomain.transfer-in-failedDomain transfer failed
Integrationsintegration-configuration.removedIntegration removed
Integrationsintegration-configuration.permission-upgradedIntegration permission upgraded
Integrationsintegration-resource.project-connectedIntegration resource connected to project
Integrationsintegration-resource.project-disconnectedIntegration resource disconnected from project

Signature Verification

Dispatch automatically verifies every incoming Vercel webhook using the signing secret you provide.

  • Header: x-vercel-signature
  • Algorithm: HMAC-SHA1 over the raw request body, hex-encoded
  • Secret format: plain string shown once when the webhook is created in Vercel

Requests with missing or invalid signatures are rejected with 401 Unauthorized.

Disconnect

To stop receiving events, delete the webhook from your Vercel team under Team Settings → Webhooks, then archive or delete the source in Dispatch.