Monitor
Notifications
Get a signed webhook from Ensue when a destination breaks, backs up or needs a person.
You should not have to watch a dashboard to know that a destination is down. Set a notification URL for your workspace and Ensue will POST a signed JSON notice to it when something needs a person.
Set it up
Open Settings → Notifications and enter a URL, or:
curl -X PATCH https://api.getensue.com/v1/workspace/notifications \
-H "authorization: Bearer ens_<key>" -H "content-type: application/json" \
-d '{ "url": "https://ops.example.com/ensue-alerts" }'
A signing secret is created the first time you set a URL. GET /v1/workspace/notifications returns both. Send a test notice (POST /v1/workspace/notifications/test) sends a test notification and reports your endpoint’s answer.
Notices
type |
Sent when |
|---|---|
destination.breaker_opened |
A destination’s circuit breaker opened and sending to it is paused. |
destination.breaker_closed |
A probe succeeded and sending resumed. |
destination.group_backlog |
A delivery group’s oldest unsent event has waited 15 minutes. The groups are listed; one notice per destination until they catch up. |
destination.group_backlog_cleared |
Every group of that destination has caught up. |
events.failures_piling_up |
A burst of events failed within a few minutes. At most one notice an hour per workspace. |
inbox.wake_suspended |
Loop protection stopped waking an agent until a person resumes it. See Wake hooks. |
test |
You sent one from Settings. |
Payload
{
"id": "…",
"type": "destination.breaker_opened",
"workspace_id": "ws_…",
"created_at": 1767225600000,
"data": { … }
}
The data object depends on the type and names the destination, inbox or events involved.
Verify the signature
Notices are signed like Gateway deliveries. The x-ensue-signature header is t=<timestamp>,v1=<hex>, the hex HMAC-SHA256 of "<timestamp>.<body>" using the workspace’s notification secret. Verify it with the raw body and reject old timestamps.
Good to know
- Delivery of a notice is best effort: one try, and failures are logged. The same facts are always on the event timeline and in the dashboard.
- A notice reports a change. Your handler should be quick, return
2xx, and do its own paging. - Forward notices to Slack or PagerDuty with a small relay, or a Gateway flow that receives them from a source of your own.