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 withContent-Type: application/json:
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.