Datadog On-Call
Page a Datadog On-Call team directly from KubeSense alerts. Uses the Datadog On-Call paging API — no native integration required on the Datadog side, and works for any region (US, EU, US3, US5, AP1) or private Datadog deployment.
Prerequisites
Set up the following in Datadog before creating the KubeSense channel:
- API Key — Navigate to Organization Settings → API Keys. Create a new key
or copy an existing one. This is the
DD-API-KEY. - Application Key with
on_call_pagescope — Navigate to Organization Settings → Application Keys. Create a new key and make sure theon_call_pagepermission is granted. This is theDD-APPLICATION-KEY. Without this scope the paging API returns403 Forbidden. - On-Call Team — Navigate to On-Call → Teams and click Set Up Team.
Configure:
- Team members
- Escalation policy
- Schedules
- Notification methods (SMS, push, email) for each team member
- Team Handle — Note the team handle from the team page (e.g.
product-autopay). This is the identifier used to page the team.
Channel Configuration
| Field | Required | Description |
|---|---|---|
| API Key | Yes | Datadog API key (DD-API-KEY) |
| Application Key | Yes | Datadog Application key with on_call_page scope (DD-APPLICATION-KEY) |
| Team Handle | Yes | Datadog On-Call team handle (e.g. product-autopay) |
| API URL | No | Datadog On-Call base URL for your region. Leave blank for the US default. Examples below. |
| Default Urgency | No | high triggers immediate paging (default). low sends a non-critical notification. |
Region API URLs:
| Region | API URL |
|---|---|
| US (default) | https://navy.oncall.datadoghq.com |
| EU | https://navy.oncall.datadoghq.eu |
| US3 | https://navy.oncall.us3.datadoghq.com |
| US5 | https://navy.oncall.us5.datadoghq.com |
| AP1 | https://navy.oncall.ap1.datadoghq.com |
For private or proxied Datadog deployments, paste the base URL pointing to your tenant.
Routing to multiple teams
Unlike Jira Service Management — where the team is baked into the API integration key — Datadog carries the team as an explicit Team Handle field, so one API key + Application key pair can page any number of teams:
- Reuse the same API Key and Application Key across channels.
- Create one channel per team, changing only the Team Handle (e.g.
product-autopay,platform-infra). - Send alerts to the right team by selecting the channel on the alert rule, or with
Matching Labels on the channel (e.g.
team = payments). See Alert Routing.
Only the credentials are shared — each channel still gets its own receiver, urgency, and routing.
Per-Alert Urgency Override
To override the channel's default urgency on a per-rule basis, add an urgency label
to the alert rule with value high or low. The first alert in a group with this
label sets the urgency for the entire page.
Notification Content
Each page sent to Datadog includes:
- Title —
<alertname> [FIRING:N, RESOLVED:M] - Description — Multi-line summary with status, severity, summary, description, Alertmanager URL, and per-alert details (name, value, threshold, labels, start time). Truncated after the first 5 alerts.
- Tags —
source:kubesense,severity:<level>,alertname:<name>, andenv:<value>when present. - Target — The team handle configured on the channel.
Pages appear in Datadog → On-Call → Pages and follow the team's escalation policy.
note: Datadog On-Call does not support custom message templates — its paging API mandates a fixed JSON schema, so the template picker is hidden for this channel type.
Common Errors
| Error | Cause | Fix |
|---|---|---|
403 Forbidden — Failed permission authorization checks | Application Key missing on_call_page scope | Edit the App Key in Datadog and add the on_call_page permission |
404 Not Found on the page endpoint | Wrong API URL for your region | Verify the API URL matches your Datadog tenant region |
| Page accepted but no user notified | Team handle wrong, schedule inactive, or users have no notification methods | Verify team handle, on-call schedule, and that each team member has SMS/push/email configured |