← wakehook.com
Integration guide
Uptime Kuma, Alertmanager, Grafana, and Sentry have named presets, but nothing about WakeHook requires one. A cron job, a health-check script, an internal service, a one-off curl — anything that can make an HTTP request can ring a phone. Point it at your source's webhook URL and send plain JSON in WakeHook's own shape.
In your WakeHook dashboard, open Sources → Add source, name it whatever you're wiring up, and leave the preset as Generic JSON (the default). Copy the Webhook URL — shown once, in full.
POST JSON to it with a Content-Type: application/json header. Every field is optional except that at least a title is worth sending — nothing you omit fails the request.
Send the same alert again later with the same dedup_key to update the existing incident instead of opening a duplicate, and "status": "resolved" to close it.
| Field | Type | Notes |
|---|---|---|
| title | string | Defaults to "Untitled alert" if omitted — you'll want to set this |
| body | string | Optional detail shown under the title |
| severity | string | critical / high / low / info — anything else (or omitted) defaults to high, a safe middle ground that rings but respects quiet hours |
| status | string | firing (default) or resolved |
| dedup_key | string | Repeated alerts with the same key update one incident instead of paging again — omit it and every call opens a new one |
| link | string (URL) | Shown as a tap-through from the incident |
| tags | object | Free-form key/value pairs, shown on the incident |
curl -X POST '<your webhook URL>' \
-H 'Content-Type: application/json' \
-d '{
"title": "Nightly backup failed",
"body": "pg_dump exited 1 — disk quota exceeded on backup-01",
"severity": "critical",
"dedup_key": "nightly-backup",
"link": "https://ci.example.com/jobs/8821"
}'
Once backup-01's disk is cleared and the job succeeds, resolve the same incident by reusing the key:
curl -X POST '<your webhook URL>' \
-H 'Content-Type: application/json' \
-d '{ "dedup_key": "nightly-backup", "status": "resolved" }'
Ready to wire it up?Free while WakeHook is in beta — one source, one device.
Join the waitlistOther integrations