Skip to main content

Datadog/on Call

@webframp/datadog/on-callv2026.10.21.1· Apache-2.0· 5d agoBEHAVIORS
01README

Datadog On-Call — on-call schedules, escalation policies, and routing

02Release Notes

2026.10.21.1

Changed: The README now shows how to store the API key and application key in a datadog vault and wire them with ${{ vault.get("datadog", "API_KEY") }} and ${{ vault.get("datadog", "APP_KEY") }}. The previous example passed DD_API_KEY and DD_APP_KEY as literal global arguments, which swamp rejects for sensitive arguments.

Changed: The apiKey and appKey descriptions now say to supply them with a vault.get expression. Both were already marked sensitive.

Upgrade note: Documentation and argument descriptions only. Methods, arguments, resource schemas and stored data are unchanged.

03Behaviors1
@webframp/datadog/on-callv2026.10.21.1datadog/on_call.ts

Global Arguments

ArgumentTypeDescription
apiKeystringDatadog API key (DD-API-KEY). Wire it with ${{ vault.get("datadog", "API_KEY") }}; never pass the literal value.
appKeystringDatadog application key (DD-APPLICATION-KEY). Wire it with ${{ vault.get("datadog", "APP_KEY") }}; never pass the literal value.
site?enumDatadog site
fn create_on_call_escalation_policy(include?: string, name: string, resolve_page_on_policy_end?: boolean, retries?: number, steps: array)
Create On-Call escalation policy
ArgumentTypeDescription
include?stringComma-separated list of included relationships to be returned. Allowed values...
namestringSpecifies the name for the new escalation policy.
resolve_page_on_policy_end?booleanIndicates whether the page is automatically resolved when the policy ends.
retries?numberSpecifies how many times the escalation sequence is retried if there is no re...
stepsarrayA list of escalation steps, each defining assignment, escalation timeout, and...
fn get_on_call_escalation_policy(policy_id: string, include?: string)
Get On-Call escalation policy
ArgumentTypeDescription
policy_idstringThe ID of the escalation policy
include?stringComma-separated list of included relationships to be returned. Allowed values...
fn update_on_call_escalation_policy(policy_id: string, include?: string, name: string, resolve_page_on_policy_end?: boolean, retries?: number, steps: array)
Update On-Call escalation policy
ArgumentTypeDescription
policy_idstringThe ID of the escalation policy
include?stringComma-separated list of included relationships to be returned. Allowed values...
namestringSpecifies the name of the escalation policy.
resolve_page_on_policy_end?booleanIndicates whether the page is automatically resolved when the policy ends.
retries?numberSpecifies how many times the escalation sequence is retried if there is no re...
stepsarrayA list of escalation steps, each defining assignment, escalation timeout, and...
fn delete_on_call_escalation_policy(policy_id: string)
Delete On-Call escalation policy
ArgumentTypeDescription
policy_idstringThe ID of the escalation policy
fn list_on_call_schedules(filter_query?: string, include?: string)
List On-Call schedules
ArgumentTypeDescription
filter_query?stringSearch query to filter schedules. Supports free-text search on schedule name ...
include?stringComma-separated list of included relationships to be returned. Allowed value:...
fn create_on_call_schedule(include?: string, layers: array, name: string, time_zone: string)
Create On-Call schedule
ArgumentTypeDescription
include?stringComma-separated list of included relationships to be returned. Allowed values...
layersarrayThe layers of On-Call coverage that define rotation intervals and restrictions.
namestringA human-readable name for the new schedule.
time_zonestringThe time zone in which the schedule is defined.
fn get_on_call_schedule(schedule_id: string, include?: string)
Get On-Call schedule
ArgumentTypeDescription
schedule_idstringThe ID of the schedule
include?stringComma-separated list of included relationships to be returned. Allowed values...
fn update_on_call_schedule(schedule_id: string, include?: string, layers: array, name: string, time_zone: string)
Update On-Call schedule
ArgumentTypeDescription
schedule_idstringThe ID of the schedule
include?stringComma-separated list of included relationships to be returned. Allowed values...
layersarrayThe updated list of layers (rotations) for this schedule.
namestringA short name for the schedule.
time_zonestringThe time zone used when interpreting rotation times.
fn delete_on_call_schedule(schedule_id: string)
Delete On-Call schedule
ArgumentTypeDescription
schedule_idstringThe ID of the schedule
fn list_schedule_overrides(schedule_id: string, filter_start?: string, filter_end?: string, include?: string)
List On-Call schedule overrides
ArgumentTypeDescription
schedule_idstringThe ID of the schedule.
filter_start?string
filter_end?string
include?stringComma-separated list of related resources to include in the response. Allowed...
fn create_schedule_overrides(schedule_id: string, include?: string, entries: array)
Create On-Call schedule overrides
ArgumentTypeDescription
schedule_idstringThe ID of the schedule.
include?stringComma-separated list of included relationships to be returned. Allowed values...
entriesarrayArray of items to submit
fn delete_schedule_override(schedule_id: string, override_id: string)
Delete On-Call schedule override
ArgumentTypeDescription
schedule_idstringThe ID of the schedule.
override_idstringThe ID of the override.
fn get_schedule_on_call_responders(schedule_id: string, include?: string, filter_position?: string, filter_at_ts?: string)
Get on-call responders for a schedule
ArgumentTypeDescription
schedule_idstringThe ID of the schedule.
include?stringComma-separated list of included relationships to be returned. Allowed values...
filter_position?stringComma-separated list of positions to retrieve. Allowed values: `previous`, `c...
filter_at_ts?string
fn get_team_on_call_users(team_id: string, include?: string)
Get team on-call users
ArgumentTypeDescription
team_idstringThe team ID
include?stringComma-separated list of included relationships to be returned. Allowed values...
fn get_on_call_team_routing_rules(team_id: string, include?: string)
Get On-Call team routing rules
ArgumentTypeDescription
team_idstringThe team ID
include?stringComma-separated list of included relationships to be returned. Allowed values...
fn set_on_call_team_routing_rules(team_id: string, include?: string, rules?: array)
Set On-Call team routing rules
ArgumentTypeDescription
team_idstringThe team ID
include?stringComma-separated list of included relationships to be returned. Allowed values...
rules?arrayA list of routing rule items that define how incoming pages should be handled.
fn list_user_notification_channels(user_id: string)
List On-Call notification channels for a user
ArgumentTypeDescription
user_idstringThe user ID
fn create_user_notification_channel(user_id: string, config?: unknown)
Create an On-Call notification channel for a user
ArgumentTypeDescription
user_idstringThe user ID
config?unknownNotification channel configuration
fn get_user_notification_channel(user_id: string, channel_id: string)
Get an On-Call notification channel for a user
ArgumentTypeDescription
user_idstringThe user ID
channel_idstringThe channel ID
fn delete_user_notification_channel(user_id: string, channel_id: string)
Delete an On-Call notification channel for a user
ArgumentTypeDescription
user_idstringThe user ID
channel_idstringThe channel ID
fn list_user_notification_rules(user_id: string, include?: string)
List On-Call notification rules for a user
ArgumentTypeDescription
user_idstringThe user ID
include?stringComma-separated list of included relationships to be returned. Allowed values...
fn create_user_notification_rule(user_id: string, category?: unknown, channel_settings?: unknown, delay_minutes?: number)
Create an On-Call notification rule for a user
ArgumentTypeDescription
user_idstringThe user ID
category?unknown
channel_settings?unknownConfiguration for the associated channel, if necessary
delay_minutes?numberThe number of minutes that will elapse before this rule is evaluated. 0 indic...
fn get_user_notification_rule(user_id: string, rule_id: string, include?: string)
Get an On-Call notification rule for a user
ArgumentTypeDescription
user_idstringThe user ID
rule_idstringThe rule ID
include?stringComma-separated list of included relationships to be returned. Allowed values...
fn update_user_notification_rule(user_id: string, rule_id: string, include?: string, category?: unknown, channel_settings?: unknown, delay_minutes?: number)
Update an On-Call notification rule for a user
ArgumentTypeDescription
user_idstringThe user ID
rule_idstringThe rule ID
include?stringComma-separated list of included relationships to be returned. Allowed values...
category?unknown
channel_settings?unknownConfiguration for the associated channel, if necessary
delay_minutes?numberThe number of minutes that will elapse before this rule is evaluated. 0 indic...
fn delete_user_notification_rule(user_id: string, rule_id: string)
Delete an On-Call notification rule for a user
ArgumentTypeDescription
user_idstringThe user ID
rule_idstringThe rule ID

Resources

on_call_escalation_policy(infinite)— Create On-Call escalation policy
on_call_schedules(infinite)— List On-Call schedules
on_call_schedule(infinite)— Create On-Call schedule
schedule_overrides(infinite)— List On-Call schedule overrides
create_schedule_overrides(infinite)— Create On-Call schedule overrides
schedule_on_call_responders(infinite)— Get on-call responders for a schedule
team_on_call_users(infinite)— Get team on-call users
on_call_team_routing_rules(infinite)— Get On-Call team routing rules
set_on_call_team_routing_rules(infinite)— Set On-Call team routing rules
user_notification_channels(infinite)— List On-Call notification channels for a user
user_notification_channel(infinite)— Create an On-Call notification channel for a user
user_notification_rules(infinite)— List On-Call notification rules for a user
user_notification_rule(infinite)— Create an On-Call notification rule for a user
04Previous Versions14
2026.10.15.1Apache-2.0

2026.10.15.1

Changed: Generated tests now include one execution test per method, so every method is covered. Nothing behavioral changed in the model code, schemas or resources.

2026.10.14.2Apache-2.0

2026.10.14.2

Added: list_schedule_overrides, create_schedule_overrides and delete_schedule_override for on-call schedule overrides. create_schedule_overrides takes an entries array of override items (1 to 25) and sends them as the data payload; include is sent as a query parameter. Its result is stored per schedule ID.

Upgrade note: Additive only. Existing methods, schemas and stored resources are unchanged.

Modified 1 behaviors

2026.10.14.1Apache-2.0(was none)

2026.10.14.1

Added: The manifest now declares license: Apache-2.0 (SPDX). The registry quality rubric scores a declared license separately from the bundled LICENSE.md.

Upgrade note: Metadata only. No code, schema, or behavioral changes.

2026.10.07.1

Fixed: The shared API helper no longer throws on a successful response with an empty body (such as 202 Accepted); it returns an empty result. Paginated list requests tolerate an empty page body the same way. A body that is not valid JSON now fails with an error naming the HTTP method, path, and status, with a snippet of the body.

Upgrade note: Only the shared helper changed. No methods, arguments, schemas, or resources changed, so no migration is needed and existing stored resources remain valid.

2026.09.18.1

2026.09.18.1

Upgrade note: Normalized npm:zod dependency version to 4.6.5 across the repo. No behavioral changes in this extension.

2026.09.15.1

2026.09.15.1

Changed: Bump zod 4.4.3 → 4.6.5

2026.09.08.1

Added: Initial code-generated release of @webframp/datadog/on-call with 21 methods covering the Datadog on call API surface.

2026.09.08.1

2026.09.08.1

Added: Initial code-generated release of @webframp/datadog/on-call with 21 methods covering the Datadog on call API surface.

2026.08.28.2

2026.08.28.2

Hardened codegen: instance names sanitized against path traversal; string schema patterns emit regex validation; output schemas passthrough unknown fields.

updated labels

2026.08.28.1

2026.08.28.1

Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.

Upgrade note: License text only. No API, schema, or runtime behavior changed.

2026.08.26.2

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.26.2

2026.08.26.2

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.25.1

2026.08.25.1

Changed: Updated labels for improved extension discoverability. Added cross-cutting category labels (security, observability, finops, infrastructure, networking, compliance, devops, ai, incident-response) where applicable.

updated labels

2026.08.24.1

2026.08.24.1

Added: Output metadata attributes for observability.

  • durationMs: Method execution duration in milliseconds.
  • collectedBy: Extension name that produced the data.
  • fetchedAt: ISO 8601 timestamp when data was fetched (added to resources that previously lacked it).
2026.08.21.2

2026.08.21.2

Changed: Error messages and input validation are more specific.

  • API errors now name the HTTP method and path that was attempted (e.g. Datadog API HTTP 404: GET /api/v2/on-call/schedules/abc-123) instead of just the raw status code and response body. This makes it possible to tell which call failed when a method makes more than one Datadog request.
  • A network-level failure (DNS error, connection reset, timeout) reaching the Datadog API now raises Datadog API request failed: <METHOD> <path>: <reason> instead of an unlabeled fetch error, so it's clear which operation was in flight when the connection dropped.
  • create_on_call_escalation_policy and update_on_call_escalation_policy now reject an empty steps array before making a request, instead of letting Datadog return an opaque validation error for a policy with no escalation steps.
  • create_on_call_schedule and update_on_call_schedule now reject an empty layers array before making a request, for the same reason — a schedule with no layers is never valid.

No changes to request/response shapes or existing successful-path behavior.

2026.08.21.1

Changed: Tightened and clarified Zod schemas as part of a repo-wide schema audit.

  • Added .min(1) to apiKey and appKey in the global arguments schema — both are sent directly as request headers, and an empty value would never be accepted by the Datadog API.
  • Added descriptions to previously undocumented relationships and type fields in the team on-call users and team routing rules resource schemas.
  • Added a description to the category argument on create_user_notification_rule and update_user_notification_rule, clarifying it takes high_urgency or low_urgency.

No behavioral changes — these are documentation and validation tightenings only.

2026.07.20.11

Added: Initial code-generated release of @webframp/datadog/on-call with 21 methods covering the Datadog on call API surface.

2026.08.21.1

2026.08.21.1

Changed: Tightened and clarified Zod schemas as part of a repo-wide schema audit.

  • Added .min(1) to apiKey and appKey in the global arguments schema — both are sent directly as request headers, and an empty value would never be accepted by the Datadog API.
  • Added descriptions to previously undocumented relationships and type fields in the team on-call users and team routing rules resource schemas.
  • Added a description to the category argument on create_user_notification_rule and update_user_notification_rule, clarifying it takes high_urgency or low_urgency.

No behavioral changes — these are documentation and validation tightenings only.

2026.07.20.11

Added: Initial code-generated release of @webframp/datadog/on-call with 21 methods covering the Datadog on call API surface.

2026.07.20.11

2026.07.20.11

Added: Initial code-generated release of @webframp/datadog/on-call with 21 methods covering the Datadog on call API surface.

05Stats
A
100 / 100
Downloads
38
Archive size
21.7 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels