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
- In Datadog, go to Integrations → Webhooks.
- 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>)
- Name:
- Leave the Payload field as the Datadog default — Navi.sh reads the native format.
- Click Save.
- 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", oralert_type: "success"
Navi.sh correlates trigger and recovery events using (in order of preference):
alert_cycle_keyaggregation_keyalert_idid(fallback —datadog-<id>)
Payload fields
| Field | Type | Description |
|---|---|---|
event_title | string | Monitor alert title. |
event_text | string | Alert message text. |
alert_id | string | Datadog alert ID. |
alert_type | string | error, warning, success, info. |
alert_transition | string | Triggered, Recovered, No Data. |
alert_metric | string | Metric name that triggered the alert. |
alert_scope | string | Comma-separated tags that triggered the condition. |
alert_query | string | The monitor query expression. |
id | integer | Numeric Datadog event ID. |
date | integer | Unix timestamp (seconds). |
hostname | string | Source hostname. |
priority | string | normal or low. |
tags | string[] | List of key:value tags. |
monitor_name | string | Name of the Datadog monitor. |
link | string | Direct link to the alert in Datadog. |
snapshot | string | URL to a graph snapshot image. |
aggregation_key | string | Key used to aggregate related events. |
alert_cycle_key | string | Links 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.