Settings → Integrations → Webhooks: adding an endpoint
Events
Request
data uses the same field names as the API (camelCase). Alerts and batches include a url to
open them in the dashboard.
Verifying the signature
v1 is the hex HMAC-SHA256, keyed with your signing secret, of "<t>.<raw request body>".
Compute it over the raw bytes you received, before parsing the JSON, and reject a request whose
t is more than five minutes old.
Delivery
- Respond with any
2xxwithin 15 seconds. Redirects are not followed. - Failed deliveries are retried with back-off (30 s, 1, 2, 4 and 8 minutes). A
4xxresponse is not retried. - Delivery is at least once. Use
Satyakod-Delivery(the eventid) to ignore duplicates. - After 5 failed deliveries in a row the endpoint is stopped and the person who added it is emailed. Re-add the same URL in Settings to start it again (it keeps its signing secret).
- Endpoints must be public HTTPS URLs; private and local addresses are refused, also at send time.