Integrations by tool
What to paste where, for the tools people bring most often.
Every integration is one URL, bound to one service. The service decides the schedule, so the tool sending the payload never names who to wake. Create one under Services → the service → Sources → Add, and copy the URL.
The URL contains its own token. Treat it as a credential: it is the only thing between the internet and a page for your on-call. Revoking it turns that one URL off and touches nothing else.
Anything that can POST JSON
Choose the native type and send our own shape. This is the path with no vendor parser in the middle, so it cannot drift:
curl -X POST https://api.acked.dev/v1/ingest/ik_<id>_<secret> \
-H 'content-type: application/json' \
-d '{"title":"Checkout latency above 2s","priority":"high","event_key":"checkout-latency"}'
Send the same event_key again while the alert is open and it deduplicates instead of raising a second page. Send "status":"resolved" with that key to close it. Full field list in Sending alerts.
Datadog
Datadog lets you control the webhook body. Use a templated source so Datadog's transition names map to Acked trigger and resolve actions.
- Integrations → Webhooks → New.
- URL: your ingest URL.
- Payload: include
$EVENT_TITLE,$AGGREG_KEY,$ALERT_TYPE, and$ALERT_TRANSITION. The complete setup includes both JSON blocks. - Add the webhook to the monitor's notification list as
@webhook-acked.
The source template maps a Recovered transition to resolve, so Datadog closes the matching Acked alert.
Prometheus Alertmanager
Choose the alertmanager type — we parse Alertmanager's own format, including batches.
receivers:
- name: acked
webhook_configs:
- url: https://api.acked.dev/v1/ingest/ik_<id>_<secret>
send_resolved: true
A batch fans out into one alert per firing alert, keyed on Alertmanager's fingerprint, so re-sends deduplicate and send_resolved closes them. Severity maps onto our priority.
Grafana
Use Grafana's default webhook with a templated source. Acked maps the stable top-level title, message, groupKey, and status fields into one alert per Grafana notification group. See the complete setup.
Anything else
If a tool can only send its own fixed shape, use a templated integration: you describe where the title, the key and the priority live in their payload, and we do the rest. The editor previews a real alert from a sample payload before you save, so you find out it is wrong at your desk rather than at 3am.
Some tools can only send mail. An email integration gives you an address of its own — ik_<id>@in.acked.dev — and any message sent there raises an alert: the subject becomes the title, the body becomes the detail, and the sender is named on the alert.
One thing worth knowing before you point a noisy mailer at it:
- Priority comes from the service, not the message. Nothing in an email reliably says how urgent it is, so we do not guess from the subject.
Whatever you configure, test it end to end once. Send a real signal from the tool and watch a page arrive on your phone. Every part of the chain — the URL, the mapping, the schedule, the device permissions — is individually plausible and only jointly correct.