Datadog/teams
Datadog Teams — team management, memberships, and permissions
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.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| apiKey | string | Datadog API key (DD-API-KEY). Wire it with ${{ vault.get("datadog", "API_KEY") }}; never pass the literal value. |
| appKey | string | Datadog application key (DD-APPLICATION-KEY). Wire it with ${{ vault.get("datadog", "APP_KEY") }}; never pass the literal value. |
| site? | enum | Datadog site |
| Argument | Type | Description |
|---|---|---|
| sort? | string | Specifies the order of the returned teams |
| include? | string | Included related resources optionally requested. Allowed enum values: `team_l... |
| filter_keyword? | string | Search query. Can be team name, team handle, or email of team member |
| filter_me? | boolean | When true, only returns teams the current user belongs to |
| fields_team? | string | List of fields that need to be fetched. |
| Argument | Type | Description |
|---|---|---|
| avatar? | string | Unicode representation of the avatar for the team, limited to a single grapheme |
| banner? | number | Banner selection for the team |
| description? | string | Free-form markdown description/content for the team's homepage |
| handle | string | The team's identifier |
| hidden_modules? | array | Collection of hidden modules for the team |
| name | string | The name of the team |
| visible_modules? | array | Collection of visible modules for the team |
| Argument | Type | Description |
|---|---|---|
| filter_parent_team? | string | Filter by parent team ID |
| filter_sub_team? | string | Filter by sub team ID |
| Argument | Type | Description |
|---|---|---|
| relationships | unknown | |
| type | unknown |
| Argument | Type | Description |
|---|---|---|
| link_id | string | The team hierarchy link's identifier |
| Argument | Type | Description |
|---|---|---|
| link_id | string | The team hierarchy link's identifier |
| Argument | Type | Description |
|---|---|---|
| filter_sources? | string | Filter team connections by external source systems. |
| filter_team_ids? | string | Filter team connections by Datadog team IDs. |
| filter_connected_team_ids? | string | Filter team connections by connected team IDs from external systems. |
| filter_connection_ids? | string | Filter team connections by connection IDs. |
| Argument | Type | Description |
|---|---|---|
| entries | array | Array of items to submit |
| Argument | Type | Description |
|---|---|---|
| entries | array | Array of items to submit |
| Argument | Type | Description |
|---|---|---|
| filter_source? | string | Filter by the external source platform for team synchronization |
| Argument | Type | Description |
|---|---|---|
| frequency? | unknown | |
| selection_state? | unknown | |
| source | unknown | |
| sync_membership? | unknown | |
| type | unknown |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| avatar? | string | Unicode representation of the avatar for the team, limited to a single grapheme |
| banner? | number | Banner selection for the team |
| description? | string | Free-form markdown description/content for the team's homepage |
| handle | string | The team's identifier |
| hidden_modules? | array | Collection of hidden modules for the team |
| name | string | The name of the team |
| visible_modules? | array | Collection of visible modules for the team |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| label | string | The link's label |
| position? | number | The link's position, used to sort links for the team |
| url | string | The URL for the link |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| link_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| link_id | string | None |
| label | string | The link's label |
| position? | number | The link's position, used to sort links for the team |
| url | string | The URL for the link |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| link_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| sort? | string | Specifies the order of returned team memberships |
| filter_keyword? | string | Search query, can be user email or name |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| provisioned_by? | string | The mechanism responsible for provisioning the team relationship. Possible va... |
| provisioned_by_id? | string | UUID of the User or Service Account who provisioned this team membership, or ... |
| role? | unknown |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| user_id | string | None |
| provisioned_by? | string | The mechanism responsible for provisioning the team relationship. Possible va... |
| provisioned_by_id? | string | UUID of the User or Service Account who provisioned this team membership, or ... |
| role? | unknown |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| user_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| email? | unknown | |
| ms_teams? | unknown | |
| pagerduty? | unknown | |
| servicenow? | unknown | |
| slack? | unknown |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| rule_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| rule_id | string | None |
| email? | unknown | |
| ms_teams? | unknown | |
| pagerduty? | unknown | |
| servicenow? | unknown | |
| slack? | unknown |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| rule_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| Argument | Type | Description |
|---|---|---|
| team_id | string | None |
| action | string | None |
| value? | unknown |
| Argument | Type | Description |
|---|---|---|
| user_uuid | string | None |
Resources
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.2
Fixed: create_team_connections and delete_team_connections now send the
entries array as the data payload. create_team_connections previously ran
as a paginated POST search and could re-send the request;
delete_team_connections sent no body and so could not delete anything.
Changed: create_team_connections is now a create method. It stores the raw
API response ({data: [...]}) in the create_team_connections resource instead
of the list-shaped {items, truncated} result, and its arguments changed from
none to a required entries array.
Upgrade note: The resource schema accepts both shapes, so previously stored data still validates and no migration is needed.
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
Added: Team notification rules accept a servicenow notification target
(with templates) on create_team_notification_rule and
update_team_notification_rule, and the stored rule schema includes it. Email
notification settings gain an optional recipient_email field.
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: Additive changes only; existing stored resources remain valid and no migration is needed.
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
Changed: Bump zod 4.4.3 → 4.6.5
2026.09.08.1
Added: Initial code-generated release of @webframp/datadog/teams with 31 methods covering the Datadog teams API surface.
2026.09.08.1
Added: Initial code-generated release of @webframp/datadog/teams with 31 methods covering the Datadog teams API surface.
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
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
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
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
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
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/team-hierarchy-links/abc-123) instead of just the raw status code and response body. - 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. link_idis now rejected up front if empty onget_team_hierarchy_linkandremove_team_hierarchy_link, instead of building a malformed request path.
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)toapiKeyandappKeyin the global arguments schema — both are sent directly as request headers, and an empty value would never be accepted by the Datadog API. - Replaced the placeholder
"None"description (a code-generation artifact) on 29 path-parameter arguments (team_id,link_id,user_id,rule_id,action,user_uuid) with real descriptions, and added.min(1)to each — every one of them isencodeURIComponent-ed directly into a request URL, so an empty value would always produce a malformed path. - Added descriptions to previously undocumented
relationships,type,frequency,selection_state,source,sync_membership,role,email,ms_teams,pagerduty,slack, andvaluearguments.
No behavioral changes — these are documentation and validation tightenings only.
2026.07.20.11
Added: Initial code-generated release of @webframp/datadog/teams with 31 methods covering the Datadog teams API surface.
2026.08.21.1
Changed: Tightened and clarified Zod schemas as part of a repo-wide schema audit.
- Added
.min(1)toapiKeyandappKeyin the global arguments schema — both are sent directly as request headers, and an empty value would never be accepted by the Datadog API. - Replaced the placeholder
"None"description (a code-generation artifact) on 29 path-parameter arguments (team_id,link_id,user_id,rule_id,action,user_uuid) with real descriptions, and added.min(1)to each — every one of them isencodeURIComponent-ed directly into a request URL, so an empty value would always produce a malformed path. - Added descriptions to previously undocumented
relationships,type,frequency,selection_state,source,sync_membership,role,email,ms_teams,pagerduty,slack, andvaluearguments.
No behavioral changes — these are documentation and validation tightenings only.
2026.07.20.11
Added: Initial code-generated release of @webframp/datadog/teams with 31 methods covering the Datadog teams API surface.
2026.07.20.11
Added: Initial code-generated release of @webframp/datadog/teams with 31 methods covering the Datadog teams API surface.
- 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