Skip to main content
Deploy webhooks turn successful deployments into deploy.completed timeline signals. They are useful when you want rank or traffic changes to line up with shipping activity. The endpoint is:
Hosted:
Self-hosted:

Create a hook

  1. Open Settings in the app.
  2. Find Deploy webhooks.
  3. Select Create webhook and give it a label.
  4. Copy the token immediately. It is revealed once, then only a hash is stored.
Use one hook per source when you want to rotate or disable sources separately.

Authentication

Prefer a bearer token header:
Use ?token=<ingest-hook-token> only when the source cannot send custom headers. Query tokens can appear in proxy, CDN, and access logs. The provider query parameter selects a provider mapper:
Omit provider for the generic JSON shape.

Trust boundary and rate limits

Bisibility does not verify provider-native webhook signatures. The ingest token is the only authentication performed by this endpoint, so keep it secret and rotate it if it is exposed. Two rolling one-minute limits protect the endpoint: 60 anonymous requests per client address per minute are checked before token lookup, then 600 authenticated requests per hook per minute are checked after authentication. Exceeding either limit returns 429 with rate-limit and retry headers.

Vercel

Create a project webhook for successful deployments:
  1. Open the project in Vercel.
  2. Add a webhook for the deployment.succeeded event.
  3. Set the endpoint URL to:
If your webhook setup cannot send an Authorization header, append the token:

Netlify

Create a deploy notification for successful deploys:
  1. Open Site configuration in Netlify.
  2. Add an outgoing deploy notification for Deploy ready.
  3. Use the endpoint URL with the token in the query string:
Netlify deploy notifications cannot send custom authorization headers, so the query token is expected for this provider.

AWS Amplify

Amplify Hosting emits EventBridge events instead of plain webhooks. Forward the raw EventBridge event to bisibility with an EventBridge rule and API destination. Do not use an input transformer. Use this endpoint:
Configure the EventBridge connection to send:
The rule should match successful deployment events:
Create an API destination for the endpoint, then add it as the rule target:
The target role must trust events.amazonaws.com and allow events:InvokeApiDestination for the API destination ARN.

Generic JSON

Send a custom deploy event when your deploy system can run curl:
Supported fields:

Delivery retries

Successful events with a deployment identifier are idempotent per hook for 60 minutes. Repeating the same deployment_id (or provider-native deployment ID) with the same hook during that window returns 202 with {"ok":true,"duplicate":true} and does not create another timeline signal. Events without a deployment identifier cannot be matched and are accepted individually.

Responses