WarnFireDocs

Webhook adapters

Datadog

Send Datadog monitor alerts to WarnFire with one webhook — alerts open incidents, recoveries close them.

Version 1.0 Status Needs verification For Integration operators webhooksdatadogmonitoring

If your team monitors with Datadog, this page connects it to WarnFire so a triggered monitor opens an incident and pages your on-call responder — and a recovery closes it automatically.

Before you begin

Add the WarnFire webhook in Datadog

  1. In Datadog, go to Integrations, search for Webhooks, and open it.
  2. Under Webhooks, select New.
  3. Fill it in:
    • Name: warnfire — you’ll reference it in monitors as @webhook-warnfire.
    • URL: https://api.warnfire.com/v1/integrations/webhooks/datadog
  4. Turn Encode as form off, and paste this exactly into Payload:
{
  "alert_transition": "$ALERT_TRANSITION",
  "alert_id": "$ALERT_ID",
  "aggreg_key": "$AGGREG_KEY",
  "title": "$ALERT_TITLE",
  "message": "$TEXT_ONLY_MSG",
  "priority": "$PRIORITY",
  "alert_type": "$ALERT_TYPE",
  "tags": "$TAGS",
  "link": "$LINK",
  "date": "$DATE",
  "hostname": "$HOSTNAME",
  "org": "$ORG_NAME"
}
  1. Open Custom Headers and add your integration key as a bearer token:
{
  "Authorization": "Bearer wf_live_your_integration_key_here"
}

The key travels in a header — never put it in the URL, where logs and proxies could capture it.

  1. Save the webhook.

Point a monitor at WarnFire

In any monitor whose alerts should page, add the webhook to the notification message:

@webhook-warnfire

Datadog sends WarnFire a message when the monitor triggers and when it recovers, so incidents open and close on their own.

How your alerts become incidents

WarnFire turns each Datadog alert into one incident, using Datadog’s own aggregation key to keep a monitor’s messages together:

  • When the monitor triggers (including Warn, No Data, and Re-Triggered), the incident opens and paging starts.
  • When the monitor recovers, the same incident is closed.
  • If the same alert sends more information, the incident gets an update, not a duplicate. Repeated deliveries of the same message are recognized and ignored, so a retry can’t double-page anyone.

What shows up on the incident

WarnFire maps your Datadog data to the incident automatically:

On the incidentComes from
TitleThe monitor’s alert title ($ALERT_TITLE)
SeverityThe monitor priority: P1 → critical, P2 → error, P3 → warning, P4/P5 → info. With no priority set, the alert type is used instead.
DescriptionThe monitor message ($TEXT_ONLY_MSG)
LinkView in Datadog — a jump back to the event
Environment · Component · RegionYour env, service, and region tags
Labels · TagsAll of the alert’s tags

To get the most out of this, tag your monitors with env:, service:, and region:, and set a monitor priority so severity maps the way you expect.

Verify it worked

  1. Follow Test before you connect , choose datadog, and confirm the preview maps the expected action, title, severity, correlation key, and metadata. Preview does not select or verify a service.
  2. Choose the intended service for Send test, send the confirmed test, and verify that one test incident opens for that service and pages its on-call responder.
  3. Trigger a disposable Datadog monitor, then recover it. Confirm that one WarnFire incident opens and that the same incident closes.

Send test and a Datadog monitor notification follow the real incident and escalation path. They can page responders; selected SMS and voice deliveries consume allowance or prepaid credits and can invoke configured auto-recharge. Notify the responder before testing.

If Datadog gets an error back

ErrorWhat it means
401The integration key is missing, wrong, expired, or revoked. Check the Authorization custom header.
400The payload wasn’t valid — most commonly the Payload block above was changed so alert_transition or the aggregation key is missing.
429The trigger-rate limit or maximum active-incident limit was reached. Check Limits and protections , resolve stale incidents, and then retry.

Next steps

Use Preview a mapping again before changing the Datadog webhook payload in production.