Skip to content

Datadog

Navi.sh has a native Datadog integration that parses monitor alert webhook payloads directly — no template configuration needed.

Endpoint: POST /api/v1/events/datadog/{token}


Setup in Datadog

  1. In Datadog, go to Integrations → Webhooks.
  2. Click New Webhook and fill in:
    • Name: navi-sh (or any name you like)
    • URL: your integration URL from Navi.sh (e.g. https://api.navi.sh/api/v1/events/datadog/<token>)
  3. Leave the Payload field as the Datadog default — Navi.sh reads the native format.
  4. Click Save.
  5. In each monitor you want to route to Navi.sh, add the webhook as a notification channel: @webhook-navi-sh.

Auto-resolve

Incidents auto-resolve when Datadog sends a recovery webhook with:

  • alert_transition: "Recovered", or
  • alert_type: "success"

Navi.sh correlates trigger and recovery events using (in order of preference):

  1. alert_cycle_key
  2. aggregation_key
  3. alert_id
  4. id (fallback — datadog-<id>)

Payload fields

FieldTypeDescription
event_titlestringMonitor alert title.
event_textstringAlert message text.
alert_idstringDatadog alert ID.
alert_typestringerror, warning, success, info.
alert_transitionstringTriggered, Recovered, No Data.
alert_metricstringMetric name that triggered the alert.
alert_scopestringComma-separated tags that triggered the condition.
alert_querystringThe monitor query expression.
idintegerNumeric Datadog event ID.
dateintegerUnix timestamp (seconds).
hostnamestringSource hostname.
prioritystringnormal or low.
tagsstring[]List of key:value tags.
monitor_namestringName of the Datadog monitor.
linkstringDirect link to the alert in Datadog.
snapshotstringURL to a graph snapshot image.
aggregation_keystringKey used to aggregate related events.
alert_cycle_keystringLinks trigger↔recovery events in the same lifecycle.

Example payload

json
{
  "event_title": "High error rate on api service",
  "event_text": "Error rate is above 5% for the last 10 minutes",
  "alert_id": "12345678",
  "alert_type": "error",
  "alert_transition": "Triggered",
  "alert_metric": "aws.lambda.errors",
  "alert_scope": "env:production",
  "alert_query": "avg(last_10m):sum:aws.lambda.errors{env:production} > 100",
  "id": 987654321,
  "date": 1705312200,
  "hostname": "api-01.prod",
  "priority": "normal",
  "tags": ["env:production", "service:api"],
  "monitor_name": "API Error Rate Monitor",
  "link": "https://app.datadoghq.com/monitors/12345678"
}

Response

202 Accepted — the payload was queued for processing.

Built by the Navi.sh team.