Skip to main content
Webhooks are reusable delivery destinations for Alerts, configured under Settings → Webhooks.
Managing webhooks requires Admin permission - a webhook’s URL and headers can contain secrets, so even viewing one is restricted to Admins.

Add a webhook

1

Open Webhooks

In Settings → Webhooks, click Add webhook.
2

Name it

Enter a Name and an optional Description.
3

Choose a platform

Select Slack, Microsoft Teams, or Custom. Leave it unset and the platform is detected from the URL.
4

Enter the URL

Paste the Webhook URL. Only https:// URLs are accepted.
5

Custom only: add authentication

Choose None, Token (Bearer), API key, or Basic, and enter the corresponding credentials.
6

Custom only: add headers (optional)

Add up to 10 static headers to send with every request.
7

Save

Click Save. Use Test webhook to send a sample payload before relying on it.

Test a webhook

Click Test webhook on a saved webhook. Results show as Successful, or a failure reason: timed out, rejected by the destination (with its status code), or connection failed. A failed test doesn’t block saving.

Payload

Webhooks receive a JSON POST with Content-Type: application/json:
The text field is a plain-text message compatible with Slack and Microsoft Teams. Payloads aren’t signed - for a Custom webhook, use the authentication and headers you configured to verify requests on your end.

URL requirements

  • https:// only.
  • Private, loopback, link-local, and other non-routable addresses are rejected, even if they only resolve that way at delivery time.
  • Cloud provider control-plane APIs (for example AWS IAM/STS/S3, GCP *.googleapis.com, Azure management/storage endpoints) are blocked. Endpoints you host yourself - Cloud Run, Lambda function URLs, Azure App Service, and similar - are allowed.

Remove a webhook

Deleting a webhook doesn’t delete the alerts that use it. If it was an alert’s only notification method, that alert shows a broken destination warning until you assign a new one.