Point a Datadog monitor webhook at OpsPing and every trigger pages your on-call: the monitor's title becomes the alert message, its body the description, and its alert ID a stable alias — so a Recovered transition closes the alert the Triggered one opened, automatically.
Field mapping
| Datadog field | OpsPing alert |
|---|---|
title | Message |
body | Description |
alert_id | Alias (datadog-<id>) — stable across transitions |
alert_type | Priority (P1–P5) |
Recovered transition | Closes the alert opened by Triggered |
| Tags and other payload fields | Alert details |
Datadog-side setup
In Datadog, create a webhook integration and add a webhook whose URL is the OpsPing inbound endpoint. Attach the webhook to the monitors that should page — use the standard $ALERT_TITLE/$ALERT_BODY payload variables, which map to the fields above. Payload shape detection is automatic on the OpsPing side; nothing to toggle.
Operational notes
- Keep Datadog on its own OpsPing integration (one integration per source system) so provenance, rate limits, and team scoping stay clean.
- Route noise before it pages: alert policies can suppress, delay, or auto-ack Datadog-sourced alerts by source, tags, or priority — with a whole-chain dry-run first.
- Tools that can only send mail get an email-to-alert address instead, with
[P1]–[P5]subject tags.
FAQ
Does the Datadog mapper handle monitor recovery?
Yes — aliasing is what closes the loop: alert_id maps to a stable alias, and a Recovered transition closes the alert that the earlier Triggered opened, even if it was already acknowledged.
Do repeat Datadog notifications create duplicate alerts?
No. If an alert with the same alias is already active, a repeat firing updates that alert and increments its occurrence count instead of creating a second row. It can send another push unless the alert is acked, snoozed, or covered by a maintenance window.
Where do I change the Datadog webhook if the token leaks?
Rotate it from the integration's page in OpsPing — the old URL stops working immediately. The URL contains the token, so treat it like a password.