snitch.missing) and a Flashduty alert triggers. When the job checks in again, Dead Man’s Snitch sends a recovery notification (snitch.reporting) and the alert recovers.
According to the Dead Man’s Snitch pricing page, integrations are available from the Private Eye plan up. Error Notices (snitch.errored) are available only on the Surveillance Van plan.
In Flashduty On-call
You can get the integration push URL in either of the following ways.
Use a dedicated integration
- In the Flashduty console, go to Channels and open a channel
- Select Configuration → Integrations → Private integration, then click Add an integration
- Select Dead Man’s Snitch and click Save
- Open the new integration card and copy the push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select Dead Man’s Snitch and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routes after creation
- Click Save and copy the generated push URL
Configure Dead Man’s Snitch
1
Add a webhook integration
- Sign in to Dead Man’s Snitch and click Integrations in the top navigation bar
- In the Available Integrations list, click ADD next to Webhooks
- Paste the full Flashduty push URL (including
integration_key) into the Hook URL field and click Save - Click SEND TEST. Dead Man’s Snitch sends a sample
snitch.reportingnotification; Flashduty returns success and creates no alert, and Dead Man’s Snitch shows Webhook is working correctly.
2
Filter by tag (optional)
By default, an integration receives notifications for every snitch in the current case. To send only some snitches to Flashduty:
- On the Integrations page, click the Manage Tags icon next to the webhook
- Add one or more tags and click Save
3
Verify
- Create a snitch with the hourly interval and open its check-in URL (for example
https://nosnch.in/<token>) in a browser for the first check-in - Do not check in during the next full interval. When the interval ends (about one minute past the hour), Dead Man’s Snitch sends a missing notification and an active alert appears in Flashduty
- Open the check-in URL again. Dead Man’s Snitch sends a recovery notification and the alert in Flashduty recovers
curl -d s=1 https://nosnch.in/<token> to trigger an errored notification, then check in normally with curl -d s=0 https://nosnch.in/<token>.Payload fields
Dead Man’s Snitch sends the following fields as JSON:
The alert title is the snitch name followed by its state, for example
Nightly Backup is missing. When the name is empty, Snitch is used. Every alert also carries the label source=dead-mans-snitch.
Alert Key
The token is the check-in credential of the snitch: anyone who holds it can check in to the snitch. Flashduty therefore never shows the token in alerts and uses the MD5 hash of the token as the Alert Key:
- The missing, errored, and recovery notifications of one snitch land on the same alert
- Renaming a snitch or changing its notes or tags does not change the Alert Key
Status and severity
Dead Man’s Snitch webhooks carry no severity. Flashduty maps them as follows:
type is case-insensitive. Requests without data.snitch.token, or with an empty or other type, are rejected.
FAQ
Does a snitch that stays missing send repeated notifications?
Does a snitch that stays missing send repeated notifications?
The Dead Man’s Snitch FAQ says email alerts repeat once per failed period until the snitch is paused or checks in again. With a webhook integration, a snitch on a 1-minute interval sent only one missing notification over several failed periods. Any repeated missing notification has the same Alert Key as the original alert and is merged into that active alert instead of creating a new one.
Does pausing a snitch close the alert?
Does pausing a snitch close the alert?
No. Pausing is a manual action: when Flashduty receives
snitch.paused it creates no alert and does not close existing ones. A paused snitch unpauses automatically on its next check-in and sends snitch.reporting, which recovers the alert. If the snitch will not check in again, close the alert in Flashduty manually.Why is there no alert when a new snitch checks in for the first time?
Why is there no alert when a new snitch checks in for the first time?
The first check-in of a new snitch also sends
snitch.reporting. There is no active alert to recover at that point, so this notification creates nothing.Troubleshooting
- Flashduty returns a parameter error: make sure the push URL is complete (it includes
integration_key) and the request body containstypeanddata.snitch.token - No notifications arrive: make sure your plan includes integrations. If the webhook has tag filters, make sure the snitch carries one of those tags
- No errored notifications arrive: Error Notices are available only on the Surveillance Van plan, and the job must report its exit status when it checks in (
s=$?) or run through the Dead Man’s Snitch Field Agent - The alert does not recover: Dead Man’s Snitch does not guarantee the order of notifications. If a recovery notification arrives before the missing notification, the alert does not recover automatically; close it in Flashduty manually