> This page is for Agent Handler.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Datadog

**Authentication:** API key + application key. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow.

## Sample use cases

* Show me every monitor that fired in the last 24 hours, grouped by service.
* Pull p99 latency for the `checkout` service over the last hour and flag spikes.
* Mute the `db-replica-lag` monitor for 4 hours while we run the migration.

## Available Tools

#### list\_dashboards

List all visualization dashboards for monitoring infrastructure, applications, and business metrics.

#### create\_dashboard

Create a new visualization dashboard with custom widgets for monitoring metrics, logs, and application performance.

#### get\_dashboard

Get detailed dashboard configuration including all widgets, layout, and template variables by ID.

#### update\_dashboard

Update existing dashboard configuration including title, widgets, layout, and template variables.

#### delete\_dashboard

Permanently delete a dashboard by ID removing all widgets and configuration.

#### list\_downtimes

List all scheduled downtimes with filtering and pagination.

#### create\_downtime

Create a scheduled downtime for maintenance windows. Specify scope, start/end times, and optional message. Returns created downtime with ID. Error: Check scope format and timestamps if creation fails.

#### get\_downtime

Get a specific downtime by ID with full configuration. Returns downtime schedule, scope, and status. Error: Use list\_downtimes to find valid downtime IDs if not found.

#### update\_downtime

Update an existing downtime's configuration including scope, time range, or message.

#### delete\_downtime

Delete a downtime schedule permanently by ID. This removes the maintenance window. Returns confirmation with deleted downtime ID. Error: Verify downtime\_id with list\_downtimes if deletion fails.

#### list\_incidents

List all incidents with pagination.

#### create\_incident

Create a new incident with title and impact status.

#### search\_incidents

Search incidents with advanced query filters. Supports filtering by state, severity, customer impact, and custom fields. Returns matching incidents. Error: Check query syntax if search fails.

#### list\_log\_indexes

List all log indexes with filtering and pagination.

#### list\_metrics

List all active metrics being reported to Datadog.

#### get\_metric

Get metadata for a specific metric including type, description, and unit. Provide the metric name to retrieve details. Error: Use list\_metrics to find valid metric names if not found.

#### update\_metric

Update metadata for a metric including description, type, and unit. Provide metric name and fields to update. Returns updated metric metadata. Error: Use get\_metric first to verify metric exists.

#### query\_timeseries

Query timeseries data for metrics over a time range.

#### submit\_metrics

Submit custom metric data points to Datadog.

#### list\_monitors

List all monitoring alerts with filtering and pagination.

#### create\_monitor

Create a new monitoring alert with thresholds and notification settings.

#### get\_monitor

Get a specific monitor by ID with full configuration details. Returns monitor with thresholds, query, message, and current state. Error: Use list\_monitors to find valid monitor IDs if not found.

#### update\_monitor

Update an existing monitor's configuration including query, thresholds, or notification settings.

#### delete\_monitor

Delete a monitor permanently by ID. This removes all alert configuration and history. Returns confirmation with deleted monitor ID. Error: Verify monitor\_id with list\_monitors if deletion fails.

#### mute\_monitor

Mute a monitor to suppress notifications temporarily or indefinitely for maintenance windows.

#### unmute\_monitor

Unmute a previously muted monitor to resume sending notifications. Specify optional scope to unmute. Error: Use list\_monitors to find muted monitors.

#### list\_roles

List all roles with pagination (admin-only: requires user\_access\_manage permission).

#### create\_role

Create a new custom role (admin-only: requires user\_access\_manage permission). Specify unique role name. Returns created role with ID. Error: Check role name uniqueness if creation fails.

#### get\_role

Get role details by ID (admin-only: requires user\_access\_manage permission). Returns role with name, user count, and timestamps. Error: Use list\_roles to find valid role IDs if not found.

#### update\_role

Update role name and description (admin-only: requires user\_access\_manage permission). Provide role\_id and new name. Returns updated role. Error: Use get\_role first to verify role exists.

#### delete\_role

Delete custom role permanently by ID (admin-only: requires user\_access\_manage permission).

#### list\_role\_permissions

List permissions for a role (admin-only: requires user\_access\_manage permission). Returns permission IDs, names, descriptions, and categories. Error: Use list\_roles to find valid role IDs.

#### add\_role\_permission

Grant permission to role (admin-only: requires user\_access\_manage permission).

#### remove\_role\_permission

Revoke permission from role (admin-only: requires user\_access\_manage permission).

#### get\_role\_users

List users with this role (admin-only: requires user\_access\_manage permission). Returns user IDs assigned to the role. Error: Use list\_roles to find valid role IDs.

#### add\_user\_to\_role

Assign user to role (admin-only: requires user\_access\_manage permission). Provide role\_id and user\_id. Returns updated user list for role. Error: Use list\_users to find valid user IDs.

#### remove\_user\_from\_role

Remove user from role (admin-only: requires user\_access\_manage permission). Provide role\_id and user\_id. Returns updated user list for role. Error: Use get\_role\_users to find assigned users.

#### list\_all\_permissions

List all available permissions in Datadog. Returns permission IDs, names, descriptions, and categories for role assignment. Error: Check API credentials if no permissions returned.

#### search\_permissions

Search permissions by keyword. Provide search query to filter permissions by name or description. Returns matching permissions. Error: Try broader search terms if no results found.

#### list\_synthetics\_tests

List all synthetic monitoring tests with pagination.

#### create\_synthetics\_test

Create a new synthetic monitoring test (API or browser test).

#### list\_global\_variables

List all global variables for synthetics tests with pagination.

#### create\_global\_variable

Create a new global variable for reuse across synthetics tests.

#### list\_all\_locations

List all available testing locations for synthetics tests.

#### list\_users

List all users with filtering and pagination (admin-only: requires user\_access\_manage permission).

#### create\_user

Create a new user account (admin-only: requires user\_access\_manage permission).

#### update\_user

Update user profile including name, email, or disabled status (admin-only: requires user\_access\_manage permission).

#### send\_user\_invitations

Send email invitations to new users (admin-only: requires user\_access\_manage permission). Provide list of email addresses. Returns invitation results. Error: Check email format if invitation fails.

#### search\_logs

Search log events using Datadog query syntax (e.g. 'service:web status:error'). Supports time range and index filtering.