
Outbound destinations
You can name each destination, send it a test, and mute it without deleting it. Webhook URLs are checked the same way monitor targets are, so an integration can’t point at an internal address.
To receive incidents in an app you build on Sentivel, use webhook subscriptions instead.
Webhook payloads
A Webhook destination receives aPOST with Content-Type: application/json. The dashboard shows the same reference when you add or edit one. Slack, Discord, and Teams receive a body shaped for each provider, so build your own handlers against the Webhook type.
Sentivel sends three events. Branch on the event field.
incident.opened
incident.resolved
incident.escalated fires on each escalation step while the incident is
unacknowledged. It carries the open fields plus step and cycle.
incident.escalated
ackUrl is present only while an incident is open and the Acknowledge button is
enabled for that destination. There is no signature header yet, so keep the secret
in the URL path and treat the endpoint as unlisted.
To drive a banner on your own site, switch it on for incident.opened and clear it
on incident.resolved, keyed off component.
Inbound sources
An inbound source turns an alert from another tool into a Sentivel incident. There are two kinds. An incoming webhook is a signed URL per integration. POST to it and Sentivel opens an incident, mapping the payload to a title and metadata. Email to incident gives each integration a unique address. The subject and body of each email become the incident.What to send us
Create an inbound source and you get a private receive URL.POST JSON to it. No
Bearer token: the unguessable URL is the credential, and you can add a signing
secret for HMAC on top.
Open an incident
The smallest useful call is a
title and a severity. Every field is optional.
Resolve an incident by sending the same fingerprint again with a resolved
status.
Resolve it
X-Signature: sha256=<HMAC-SHA256>. A successful call returns
{ "ok": true, "action": "opened", "incidentId": "..." }.