Outbound webhooks for alert eventsOutbound webhooks
Receipts answer when you ask. Outbound webhooks tell you as it happens: someone acknowledged, an escalation ran out, or push reached none of the recipient's devices. Add your endpoint on the dashboard and Acciti posts these events to it.
alert.acknowledgedAcknowledged- Someone acknowledged an alert on one of their devices.
alert.resolvedResolved by the sender- The sender reported that the condition cleared, and the alert ended.
alert.undeliveredReached no device- Push reached none of the recipient's devices.
escalation.exhaustedEscalation ran out- Every step of an escalation policy ran without an acknowledgement.
{ "event": "alert.acknowledged", "sentAt": "2027-01-15T03:14:09Z", "alert": { "id": "0198e3...", "title": "griffin is down", "message": "No response for 90 seconds", "priority": 2, "sender": "nightwatch", "dedupKey": "monitor:griffin", "createdAt": "2027-01-15T03:11:44Z" }, "acknowledgedAt": "2027-01-15T03:14:07Z", "acknowledgedBy": { "accountId": "0198e1...", "name": "Jacob" }}acknowledgedBy appears only when the person who acknowledged it is a member of the sending team. Anyone's user key can receive an alert, and their identity isn't shared with a team they don't belong to.
Verify the signature
Every request carries X-Acciti-Signature: sha256= followed by the hex HMAC-SHA256 of the body, keyed with the secret shown when you added the endpoint. Compute it over the raw bytes you received, before any parsing. X-Acciti-Event names the event, and X-Acciti-Delivery identifies the attempt so you can tell a retry from a new event.
Respond quickly
Answer with any 2xx within ten seconds. Anything else is retried with backoff. After twenty consecutive failures the endpoint is switched off, and the dashboard shows why.
The dashboard keeps a log of each request: what it carried, how many attempts it took and what your endpoint answered. It's kept as long as your plan keeps delivery receipts.
The URL must use https and be reachable from the public internet. Private network addresses are refused when you save the endpoint, and checked again against the resolved address before every request.