_dd_gff
ChatGPTdo-not-call
_dd_guc
ChatGPTdo-not-call
_dd_wfd
ChatGPTdo-not-call
aggregate_events
ChatGPTAggregate Datadog events to compute counts, sums, averages, min, max, cardinality, and percentiles (P50, P75, P90, P95, P99), with optional grouping by fields or time intervals. Use this for aggregated analysis such as event counts by source, event frequency over time, or grouped summaries across tags. For raw event inspection, titles/messages, or tag exploration, use search_datadog_events.
aggregate_rum_events
ChatGPTAggregate Datadog RUM events to compute counts, sums, averages, min, max, cardinality, and percentiles (P50, P75, P90, P95, P99), with optional grouping by fields or time intervals. Use this for aggregated analysis of RUM data such as session counts over time, error counts by page, or p95 loading times by browser or URL path. For raw event inspection or attribute discovery, use search_datadog_rum_events.
aggregate_spans
ChatGPTAggregate Datadog APM spans to compute counts, sums, averages, min, max, cardinality, and percentiles (P50, P75, P90, P95, P99), with optional grouping by fields or time intervals. Use this for aggregated analysis such as request counts over time, p95 duration by service or resource, or error counts grouped by endpoint or status code. For raw span inspection or to discover fields to group by or aggregate on, first use search_datadog_spans and optionally request custom_attributes.
analyze_datadog_logs
ChatGPTAnalyze Datadog logs using SQL. Runs against a virtual 'logs' table filtered by your search query. Good for aggregations, counts, group-bys, or peeking at recent logs with LIMIT. To discover custom attributes for extra_columns, first call search_datadog_logs with extra_fields. If a query times out, try a shorter time range.
ask_widget_expert
ChatGPTGet targeted instructions for building a Datadog widget. Returns a concise how-to guide — widget type recommendations, required fields, schema patterns, and an annotated example — that you use to build the widget definition yourself. The expert has deep knowledge of all widget types and schemas but does NOT have access to real telemetry, live data, or the user's environment. Any examples in the response use PLACEHOLDER values for queries. You are responsible for discovering real metric names, log queries, or APM resource names through data exploration tools and substituting them — do not copy example queries directly into a widget without first validating them against real data. Returns focused instructions rather than a full schema dump, so it's cheaper than get_widget_reference. Useful at any stage: choosing a widget type, understanding schema requirements, or debugging an invalid widget.
create_annotation
ChatGPTCreate an annotation on a Datadog dashboard or notebook. Annotations mark a moment or range on a widget's graph to provide context about events (e.g. deployments, incidents, config changes). Omit end_time for a point-in-time annotation; provide end_time for a time-range annotation.
create_datadog_notebook
ChatGPTCreates a new Datadog notebook. Include key findings, evidence, supporting data, and complete query documentation unless told otherwise. Do not start the first markdown cell with a heading that repeats the notebook name — it is already displayed as the title. Look up widget reference schemas before constructing graph cells.
delete_annotation
ChatGPTDelete a user-authored annotation by its ID. The caller must have edit access to the dashboard or notebook the annotation belongs to.
edit_datadog_notebook
ChatGPTEdits an existing notebook. Can edit cells, metadata (name, template_variables, tags), or both. Look up widget reference schemas before constructing graph cells. Cell modes: (1) Full-replace (default) — replaces all cells; destroys existing comment marks. (2) Append (append_only=true) — adds cells to the end; preserves comment marks. To edit only metadata, omit the cells parameter and provide at least one of name/template_variables/tags. Metadata edits are done on a best effort basis and can be combined with either cell mode.
execute_code
ChatGPTExecute JavaScript in a sandbox with access to Datadog through the official TypeScript-SDK-shaped API and explicitly enabled code-exec extensions. Quick start: ``javascript import { client, v1 } from "@datadog/datadog-api-client"; const monitors = new v1.MonitorsApi(client.createConfiguration()); return await monitors.listMonitors({ page: 0, pageSize: 1 }); ` The dd global only exposes dd.time.`. Product APIs are not mounted under `dd`; import official APIs from `@datadog/datadog-api-client` and construct the appropriate `v1` or `v2` API class as shown above. Reviewed APIs that are not in the official SDK are exposed separately through the sandbox-only `@datadog/code-exec` package when enabled for the current session. Datadog APIs are available through both the official TypeScript SDK and enabled code-exec extensions. Code-exec's value is that you can compose API calls in one script, join data across products, and return a compact result — not that you need a separate MCP helper for each Datadog query. SDK discovery requirement: Do not rely on model memory for Datadog SDK method names, request fields, enum values, or response shapes. Before calling `execute_code`, call the separate `search_datadog_sdk` MCP tool unless the exact operation and complete request shape are already present in a known-good example below or were returned by an earlier SDK search in this conversation. If `execute_code` returns `invalid_request`, an unknown method or member error, or a request-shape error, call `search_datadog_sdk` before retrying. Do not repair these errors by guessing fields. Its metadata-only catalog only returns official SDK methods and code-exec extensions available in the current `execute_code` session. In one JavaScript program, select the operation and return its `usageNotes` plus a bounded closure of its `typeRefs` from `catalog.types`. For official SDK operations, use the declared version, API, method, and TypeScript types. For extensions, use the declared module, export, method, and TypeScript types. Do not guess fields from an HTTP path or summary. For non-trivial investigations where you need a multi-query script, API aggregation, cross-source joins, or compact ranked output, load the `datadog/code-exec` skill before writing the script. Skip it for trivial one-liners or when the exact request shape is already clear. Code-exec guidance lives in `datadog/code-exec` and its bundled references; don't guess product-specific skill names like `datadog/traces` or `datadog/metrics` from the task topic. Execution discipline - `dd.time. returns RFC3339 strings. Logs and spans accept those strings directly. Metrics scalar and timeseries requests require Unix milliseconds; use Date.parse(dd.time.hoursAgo(...)) and Date.parse(dd.time.now()), and do not hand-calculate Unix timestamps. - After an invalid_request, re-check the operation signature, type declarations, and usage notes before retrying. Verify timestamp units, enum values, and exact camelCase property names. - Compose related queries in one script and return a compact result. Use Promise.all when every result is required. When independent calls can still provide useful evidence if a sibling fails, use Promise.allSettled and return the successful evidence alongside a compact failures array. When a script returns after mixed API-call outcomes, execute_code reports outcome: "partial" and partial: true; the returned value remains usable, and diagnostics.api_calls describes the failed calls. Treat partial evidence as incomplete and retry only the missing source when it is necessary for the answer. If every API call fails, the execution is still reported as a failure even if the script caught the rejections. Investigation rules - Use aggregate APIs for totals, top-Ns, rankings, ratios, and percentiles. Prefer aggregate operations where supported. Do not group returned samples and present them as global rankings. - For top-N aggregations, put the sort on the groupBy entry. A limit without sort` does not guarantee the first bucket is the…
get_active_feature_flags
ChatGPTdo-not-call
get_change_stories
ChatGPTRetrieve change events for an APM service over a time range. Use to correlate changes with performance issues, errors or incidents. Tracked Change types: deployment (code/version), feature_flag, traffic_anomaly, watchdog (Datadog anomaly detection), kubernetes (k8s deployment manifest updates), scale (manual k8s scale events), crashloopbackoff (k8s crashloops), database (DB schema or setting changes), schema (data stream schemas only; not DB/API schema), configuration (limited to specific tracked sources — absence does not imply no config changed)
get_datadog_dashboard
ChatGPTRetrieves a Datadog dashboard by ID, returning its title, description, tags, and widgets. Use search_datadog_dashboards first to find dashboard IDs.
get_datadog_incident
ChatGPTGet detailed information about a specific Datadog incident by ID, including status, severity, timeline, and associated users.
get_datadog_metric
ChatGPTQuery metrics data from Datadog. Use response_format='timeseries' (default) to get time-indexed data points for graphs and trend analysis. Use response_format='scalar' to get a single aggregated value per group, useful for current state, summaries, and comparisons. For response_format='scalar', use structured query objects; the aggregator field controls how the time window collapses to a single value and defaults to avg if omitted. The query prefix, such as avg: or sum:, is not the scalar aggregator field. Supports multiple queries in one call plus formula expressions. Query syntax: grouping must come before modifiers, e.g. 'sum:trace.http.request.errors{env:prod} by {service}.as_count()', not '.as_count() by {service}'. Within {...}, do not mix comma-separated tag filters with boolean filters; if any top-level filter uses AND, OR, NOT, or IN, join top-level filters with explicit AND and parenthesize OR groups, e.g. '{(service:api OR service:worker) AND datacenter:us1.prod.dog}', not '{service:api OR service:worker,datacenter:us1.prod.dog}'.
get_datadog_metric_context
ChatGPTGet metadata (description, type, unit, integration), available tags/dimensions, and optionally related assets for a metric. Useful for exploring metrics before querying them. Set use_cloud_cost=true for Cloud Cost Management metrics.
get_datadog_notebook
ChatGPTRetrieve information about a specific Datadog notebook by ID. This tool provides details including name, status, and associated author. The ID can also be extracted from a URL. The ID will be the last component, for example, <host>/notebook/<ID>.
get_datadog_trace
ChatGPTRetrieve a trace by trace ID from Datadog APM. This tool fetches all spans within a specific trace by default, providing detailed information about the request flow, timing, and service interactions. For large traces or to retrieve a summarized trace, set only_service_entry_spans=true to get a hierarchical condensed view that shows service boundaries, collapsing internal operations. The summarized view will indicate expandable spans with hidden_child_spans_count. The response includes a trace_deep_link_url in metadata that links directly to the trace flamegraph in the Datadog UI.
get_user_config
ChatGPTdo-not-call
get_widget
ChatGPTRetrieve and visualize Datadog metrics, traces, logs, and other data as interactive charts. Use this tool whenever users ask to see, show, graph, plot, visualize, or rank Datadog data — including ranking-style queries like 'which hosts/services/pods have the most/least X', 'top N by Y', or 'breakdown by Z'. Covers metrics timeseries, request counts, latency, error rates, toplists, and distributions. This tool renders the chart directly and does not require pre-fetched data — raw-data tools alone aren't sufficient for visualization requests. Input modes: Direct definition (write a new widget via widget_definition), By ID (existing widget via dashboard_id + widget_id), or By URL (Datadog widget_url). Supported interactive types: bar_chart, change, distribution, heatmap, list_stream, query_table, query_value, scatterplot, sunburst, timeseries, toplist, treemap. Before constructing widget_definition, load the datadog/visualizations skill for schema patterns, response shape, and recovery.
get_widget_data_fetcher
ChatGPTdo-not-call
get_widget_reference
ChatGPTGet TypeScript schemas and building instructions for widget types. Call before generating widget JSON. Note: "group" is a container for organizing related widgets — include both "group" and any intended child widget type/s in one call for deduplication.
get_widget_reference_compressed
ChatGPTGet compressed TypeScript schemas and building instructions for widget types. Call before generating widget JSON. Note: "group" is a container for organizing related widgets — include both "group" and any intended child widget type/s in one call for deduplication.
list_annotations
ChatGPTList user-authored annotations on a Datadog dashboard or notebook for a given time range. Returns annotations ordered by start_time.
list_datadog_skills
ChatGPTList available Datadog skill guides. Skills document how to use Datadog's tools: the right attributes, query syntax, and common pitfalls. Call this before load_datadog_skill whenever you are not already certain of the exact skill name; skill names are not predictable from topic words. Use query for fuzzy search across name and description (results are ranked). Use include_header=true to see one-line summaries alongside names. Load skills proactively when starting work in a relevant Datadog domain, not after errors.
list_mcp_feedback
ChatGPTList feedback submitted about Datadog MCP server capabilities. This only includes feedback for this Datadog MCP server, not other MCP servers or plugins. You must specify either org_id or all_orgs (but not both).
load_datadog_skill
ChatGPTLoad a Datadog skill guide before using related tools (for example, load 'datadog/traces' before searching spans, or 'datadog/logs' before searching logs). Skills improve query quality by documenting the right attributes, syntax, and pitfalls. If you do not already know the exact skill name from a prior list_datadog_skills response, call list_datadog_skills first; do not guess names from topic keywords. Set header_only=true to preview a skill's summary, related skills, and bundled resources. Set resource_path to load a specific bundled reference.
search_datadog_dashboards
ChatGPTList and retrieve information about Datadog dashboards. This tool helps discover available dashboards, their IDs, titles, and underlying queries. Use this tool when you need to find specific dashboards, get an overview of all dashboards in your Datadog account, or find important logs+metrics queries in dashboards.
search_datadog_entities
ChatGPTSearch Datadog entities through the entity graph, including attributes and direct relationships. Prefer this tool over searching telemetry, monitors, dashboards, or other resources when the request is about service identity, catalog ownership, dependencies, or services owned by the current user's teams. Use entity_type=service directly for identity lookups and dependency questions fully covered by available guidance; kind: is added by the server. Search directly only when exact names are established by available guidance. Do not use validation errors to discover fields or relationships, and do not probe plausible names. Ref, type, and known type-specific identity fields are always returned, so omit fields for name-only discovery. Treat dependency requests and explicit requests for all, every, complete lists, or inventories as complete. Explicit all, every, complete-list, and inventory requests override this bounded-search rule. Treat owner- or team-filtered service searches as complete unless the user explicitly requests a sample, maximum count, or first page. For complete results, continue while METADATA.page_truncated is true, page_next_cursor remains, or a requested relationship is truncated or has next_cursor. Do not infer completion from a short page. Set owned_by_current_user_teams=true instead of inferring the user's teams from telemetry. For service ownership, request the owner field; do not invent an ownership relationship. Query supports boolean expressions such as name:chrono OR owner:idp. Use exact name:value when the user supplies a concrete internal service name; do not broaden it with wildcards. Use name:value for prefix requests. For vague possible-match requests that do not require complete results, make one search with page.limit at most 25 using name:value*. Present an incomplete, non-ranked candidate sample and ask the user to narrow the request; do not paginate. For a dependency question with no direction, request both upstream_services and downstream_services and keep the directions separate. Filters and relationship names are validated by the entity graph. Requested fields may be omitted, so do not treat an absent field as empty. Use owned_by_current_user_teams only when guidance for the selected entity type says it is supported.
search_datadog_events
ChatGPTSearch and retrieve raw Datadog events (deployments, alerts, system activities, infrastructure changes, etc.). Do NOT use for counts, aggregations, or grouped analysis — use aggregate_events instead. Best for: inspecting individual events, reading event titles/messages/tags, and exploring event patterns before deciding how to aggregate them. Supports complex queries with boolean operators and tag filtering. Results include event titles, messages, timestamps, and tags.
search_datadog_hosts
ChatGPTExplore Datadog hosts inventory with SQL. Queries run against the virtual 'hosts' table backed by "dd.hosts" (Advanced Query API), which exposes hostname, hostname_aliases (text[]; use hostname_aliases[1]), tags (hstore map; use tags->'key'), cloud_provider, resource_type, instance_type, os, os_version, agent_version, memory_mib, cpu (hstore map; use cpu->'key'), kernel (hstore map; use kernel->'key'), sources (text[]; use sources[1]), modification_detected_at (timestamp). DDSQL notes: DDSQL (Datadog SQL) is a PostgreSQL subset: every non-aggregated SELECT column must appear in GROUP BY, SELECT aliases cannot be reused in WHERE/GROUP BY/HAVING (repeat the full expression instead, e.g., GROUP BY DATE_TRUNC('hour', timestamp) not GROUP BY hour), and only declared table columns may be referenced. Use the -> operator or json_extract_path_text (cast as needed) for JSON access. Avoid unsupported constructs like ANY(), ->>, QUALIFY, information_schema, and current_timestamp. Column names containing special characters like '@' must be quoted (e.g., SELECT "@foo" FROM logs).
search_datadog_incidents
ChatGPTSearch Datadog incidents. Default sort: newest first. Supports filtering by state, severity, title, team, creation time, and more. Use semantic_query for natural-language search over AI-generated incident summaries. Prefer query first; only add semantic_query when query by keyword and metadata filters aren't sufficient to answer the question.
search_datadog_logs
ChatGPTSearch and retrieve raw log entries or log patterns. Do NOT use for counting or aggregations — use analyze_datadog_logs instead. Best for: viewing raw logs, discovering patterns (use_log_patterns=true), and discovering custom attributes via extra_fields for use as extra_columns in analyze_datadog_logs.
search_datadog_metrics
ChatGPTList available metrics in Datadog with optional filtering by name and tags. Set use_cloud_cost=true to search Cloud Cost Management metrics.
search_datadog_monitors
ChatGPTList and retrieve information about Datadog monitors. This tool helps discover monitors, their status, configuration, and alerts. Use this tool when you need to find monitors for investigation, management, or analysis purposes.
search_datadog_notebooks
ChatGPTSearch Datadog notebooks. Use this tool when you need to find notebooks for investigation or monitoring purposes. Results can be filtered, for example by author, and sorted. This tool returns snippets of the original notebook. To fetch the entire notebook, use the get_datadog_notebook tool.
search_datadog_rum_events
ChatGPTSearch and retrieve raw Datadog RUM events using advanced query syntax. Do NOT use for counts, aggregations, or grouped analysis. Best for: inspecting individual RUM events, debugging specific user experience issues, exploring available event attributes in raw or detailed_output responses before deciding what to aggregate. Supports filtering by event types (session, view, action, error, resource, long_task, vital, operation), user attributes, performance metrics, and more. Results include detailed event data for analysis.
search_datadog_sdk
ChatGPTDiscover the exact operations and types needed for execute_code. Write JavaScript against the official SDK and code-exec extension catalog available to the current user and sandbox policy. Its data stays inside the sandbox; only the value you return enters the conversation. This tool reads metadata, not live Datadog data. Select the operation and collect its request/response types in the same script. Start from the operation's typeRefs, then follow each type's refs to expand nested definitions. Returning only the immediate types often leaves request fields undefined and requires another search. Follow those references rather than guessing related type names. Quick start: select an operation and expand its referenced types before returning. The helper below is ordinary JavaScript defined in this example, not a built-in catalog method. Adapt the predicate to the task; you don't need to know nested type IDs in advance. ``javascript const operation = catalog.operations.find( (op) => op.version === "v2" && op.api === "MetricsApi" && op.method === "queryScalarData" ); if (!operation) return { operation: null }; function collectTypes(rootIds, maxTypes = 24, maxChars = 12000) { const definitions = []; const omittedTypeIds = []; const pending = [...rootIds]; const seen = new Set(); let chars = 0; while (pending.length > 0) { const id = pending.shift(); if (seen.has(id)) continue; seen.add(id); const definition = catalog.types[id]; if (!definition) continue; if ( definitions.length >= maxTypes || chars + definition.declaration.length > maxChars ) { omittedTypeIds.push(id); continue; } definitions.push(definition); chars += definition.declaration.length; pending.push(...definition.refs); } return { definitions, omittedTypeIds }; } return { operation, types: collectTypes(operation.typeRefs), }; ` Return the selected operation, including its signature and usageNotes, together with bounded type definitions and any omitted type IDs. If expansion omits a definition needed to construct the request or interpret the response, retrieve that definition before executing. Otherwise, proceed to execute_code; a separate type-lookup call isn't required. For broad matches, return a small operation shortlist. For an operation you intend to execute, include its referenced types. Narrow the operation selection before reducing the type-expansion budget. Don't return the complete operations or types collections. There is no search(...) helper. catalog.operations is an array; catalog.types is a record keyed by type ID, not an array. The catalog is function-free: there is no built-in describe, continuation callback, or executable next value. Use normal array/object traversal. Your code runs as the body of an async function. Write plain JavaScript, not TypeScript, and use return to return JSON. There is no dd, package loader, network, or Datadog API access in this metadata-only sandbox. Catalog contract Filter operations by product API (for example, LogsApi, SpansApi, or MetricsApi), method, summary, tags, or HTTP path. Use .filter(...).slice(0, 3) for a bounded shortlist; when selecting several operations to execute, collect their referenced types in the same program. Catalog operations have two invocation surfaces. Official SDK operations use version, api, and method through @datadog/datadog-api-client. Extension operations use surface: "code-exec" plus their exact module, export, and method through the sandbox-only @datadog/code-exec package. Don't translate either surface to dd.<namespace>; product API/helper namespaces aren't exposed on dd. For example, an operation with version: "v2", api: "SpansApi", and method: "aggregateSpans" is called as: `javascript import { client, v2 } from "@datadog/datadog-api-client"; const spans = new v2.SpansApi(client.createConfiguration()); const request = { /* fields from the discovered request declarations */ }; const result = await spans.aggregateSpans(request); ` `typescript type SDKVersion = "v1" | "v2"; type TypeID = ${SDKVersion | "cod…
search_datadog_service_dependencies
ChatGPTRetrieve information about Datadog service dependencies. This tool helps discover upstream and downstream service dependencies in your environment as well as services owned by a given team. Use this tool when you need to find services for investigation, management, or analysis purposes. Either service or team must be supplied but not both; service for service dependencies, team for service ownership. If the capability exists, the service dependencies can be displayed visually as a graph, for example, as a Mermaid diagram. If outputting to them to a notebook, the mermaid markdown type can be used. If making any assumptions about service dependencies, ensure they are explicitly stated to the user.
search_datadog_services
ChatGPTList and retrieve information about Datadog services. This tool helps discover services in your environment, their descriptions, teams, and links. Use this tool when you need to find services for investigation, management, or analysis purposes.
search_datadog_spans
ChatGPTRetrieve raw Datadog APM spans matching a query. Do NOT use for counts, aggregations, or grouped analysis — use aggregate_spans instead. Best for: inspecting individual spans, debugging request flows and failures, and discovering span fields/attributes, including via custom_attributes, that you may want to aggregate or group by with aggregate_spans. IMPORTANT: When the user asks for 'security traces', 'AppSec traces', 'AAP traces', 'security activity', or 'security signals on traces', the query MUST start from @appsec.security_activity:*. Do NOT substitute keyword-based guesses like service:*security*, resource_name:*auth*, @http.status_code:401, etc. — those do not identify security traces. Application & API Protection (AAP) spans carry these standard attributes (all strings): @appsec.security_activity (<category>.<type>, e.g. attack_attempt.sql_injection, business_logic.users.login.failure; multi-valued when multiple rules match); @appsec.category (top-level classification, e.g. attack_attempt, business_logic); @appsec.type (specific threat/event type, e.g. sql_injection, xss, users.login.failure); @appsec.rule_id (AAP rule that matched, e.g. crs-942-100; multi-valued); @appsec.blocked (true/false, whether AAP blocked the request). Use these attributes to narrow AppSec queries (e.g. @appsec.category:attack_attempt, @appsec.type:sql_injection, @appsec.blocked:true). The response includes a traces_explorer_url for the overall query. To link to an individual trace in the Datadog UI, use the pattern: <base_url>/apm/trace/<trace_id> (e.g. https://app.datadoghq.com/apm/trace/abc123). The base_url for the user's org is available in the response metadata.
submit_mcp_feedback
ChatGPTSubmit feedback about capabilities provided by this Datadog MCP server only. Do NOT submit feedback about other MCP servers or plugins (e.g. Atlassian, CodeSandbox, Slack, GitHub). After completing a task, briefly consider whether any Datadog MCP capability was notably unhelpful or whether the workflow was harder than it should have been. If so, submit feedback so the MCP team can improve the experience. You should submit feedback when: - A Datadog MCP capability produced wrong, misleading, or unhelpful results that impacted your ability to help the user. - A Datadog MCP capability's output was missing key information that would have been useful. - You could not accomplish something the user asked for because no Datadog MCP capability exists for it. - A Datadog MCP workflow required many steps or workarounds that could be streamlined. - A Datadog MCP capability's interface was confusing or its parameters were unclear. Keep it to one submission per distinct issue per conversation. Skip transient errors (timeouts, rate limits) that resolved on retry.
update_annotation
ChatGPTUpdate an existing annotation on a Datadog dashboard or notebook. All writable fields are replaced with the provided values, including widget_ids — pass the full intended targeting every call (use list_annotations first if you need the existing widget_ids). Omit end_time to make the annotation point-in-time; provide end_time to make it a time-range annotation.
upsert_datadog_dashboard
ChatGPTCreates or updates a Datadog ordered-grid dashboard. New dashboards are always ordered; widget updates are only supported on ordered dashboards. When updating widgets, prefer diff-style payloads to minimize tokens: send full definitions only for new or changed widgets, include {"id": N} for unchanged widgets to keep, and omit existing widgets only when deleting them.
validate_dashboard_widget
ChatGPTValidate a widget definition against the dashboard schema. Call when generating a widget JSON.
visualize_tabular_data
ChatGPTRender tabular data as an interactive visualization (sunburst, treemap, or toplist). WHEN TO USE: - After aggregating data from queries (GROUP BY, analytics, metrics) to visualize hierarchical relationships or rankings - For ad-hoc visualization of data you've already fetched and transformed - When you have grouped data and want to show proportional breakdowns or parent-child relationships ALTERNATIVES: - Use get_widget to directly render data from existing dashboard widgets - Use swap_widget_type to convert saved widget definitions between types
aap_onboarding
Claudeaggregate_datadog_ci_pipeline_events
Claudeaggregate_datadog_test_events
Claudeaggregate_dora_deployments
Claudeaggregate_events
Claudeaggregate_rum_events
Claudeaggregate_spans
Claudeanalyze_cloud_network_monitoring
Claudeanalyze_datadog_logs
Claudeanalyze_datadog_security_signals
Claudeanalyze_security_findings
Claudeappend_reference_table_rows
Claudeask_widget_expert
Claudebrowser_onboarding
Claudecheck-flag-implementation
Claudecode_coverage_onboarding
Claudecreate-feature-flag
Claudecreate_datadog_monitor
Claudecreate_datadog_notebook
Claudecreate_datadog_security_detection_rule
Claudecreate_datadog_security_suppression
Claudecreate_reference_table
Claudecws_agent_events_schema
Claudeddsql_create_link
Claudeddsql_get_spec
Claudeddsql_read_saved_query
Claudeddsql_run_query
Claudeddsql_schema_get_table_columns
Claudeddsql_schema_search_tables
Claudeddsql_schema_search_unstructured_fields
Claudeddsql_search_saved_queries
Claudeddsql_upsert_saved_query
Claudedelete_datadog_dashboard
Claudedelete_datadog_security_detection_rules
Claudedelete_datadog_security_suppression
Claudedelete_llmobs_evaluator
Claudedescribe_datadog_k8s_resource
Claudedevices_onboarding
Claudedocker_onboarding
Claudeecs_onboarding
Claudeedit_datadog_notebook
Claudeedit_synthetics_tests
Claudeexecute_datadog_workflow
Claudeexpand_llmobs_spans
Claudeexplore_profiling_call_graph
Claudeexplore_profiling_flame_graph
Claudeexplore_profiling_timeline
Claudefind_datadog_database_instances
Claudefind_llmobs_error_spans
Claudegenerate_monitor_message
Claudeget-canary-results
Claudeget-feature-flag
Claudeget-guardrail-metric
Claudeget_datadog_code_coverage_branch_summary
Claudeget_datadog_code_coverage_commit_summary
Claudeget_datadog_dashboard
Claudeget_datadog_database_calling_services
Claudeget_datadog_database_explain_plans
Claudeget_datadog_database_health_signals
Claudeget_datadog_database_query_performance
Claudeget_datadog_database_query_statement
Claudeget_datadog_database_recommendations
Claudeget_datadog_database_schemas
Claudeget_datadog_error_tracking_issue
Claudeget_datadog_flaky_tests
Claudeget_datadog_flaky_tests_management_policies
Claudeget_datadog_incident
Claudeget_datadog_k8s_manifest
Claudeget_datadog_metric
Claudeget_datadog_metric_context
Claudeget_datadog_notebook
Claudeget_datadog_security_detection_rule
Claudeget_datadog_security_detection_rules_schema
Claudeget_datadog_security_signal
Claudeget_datadog_security_signals_schema
Claudeget_datadog_security_suppressions
Claudeget_datadog_test_optimization_settings
Claudeget_datadog_trace
Claudeget_datadog_workflow
Claudeget_datadog_workflow_instance
Claudeget_kafka_client_configuration
Claudeget_kafka_schema_registry_subject_versions
Claudeget_llmobs_agent_loop
Claudeget_llmobs_eval_aggregate_stats
Claudeget_llmobs_evaluator
Claudeget_llmobs_experiment_dimension_values
Claudeget_llmobs_experiment_event
Claudeget_llmobs_experiment_metric_values
Claudeget_llmobs_experiment_summary
Claudeget_llmobs_span_content
Claudeget_llmobs_span_details
Claudeget_llmobs_trace
Claudeget_monitor_coverage
Claudeget_monitor_templates
Claudeget_ndm_device
Claudeget_network_path_test_runs
Claudeget_profiling_field_values
Claudeget_profiling_fields
Claudeget_profiling_profile_types
Claudeget_profiling_runtime_ids
Claudeget_profiling_service_insights
Claudeget_profiling_services
Claudeget_profiling_tag_names
Claudeget_profiling_tag_values
Claudeget_profiling_timeseries
Claudeget_prs_by_head_branch
Claudeget_reference_table_rows
Claudeget_synthetics_tests
Claudeget_widget
Claudeget_widget_reference
Claudekubernetes_onboarding
Claudelinux_onboarding
Claudelist-allocations-for-feature-flag
Claudelist-environments
Claudelist-feature-flags
Claudelist-guardrail-metrics
Claudelist_datadog_security_detection_rules
Claudelist_datadog_skills
Claudelist_datadog_workflows
Claudelist_kafka_broker_configuration_versions
Claudelist_kafka_schema_registry_schemas
Claudelist_kafka_topic_configuration_versions
Claudelist_llmobs_evals
Claudelist_llmobs_evals_by_ml_app
Claudelist_llmobs_experiment_events
Claudelist_reference_table_rows
Claudelist_reference_tables
Claudellm_observability_onboarding
Claudeload_datadog_skill
Claudemonitor_groups_search
Claudeoptimize_datadog_database_query
Clauderead_kafka_messages
Clauderecommend_monitor_threshold
Clauderetry_datadog_ci_job
Claudesearch_cws_agent_events
Claudesearch_datadog_ci_pipeline_events
Claudesearch_datadog_dashboards
Claudesearch_datadog_database_plans
Claudesearch_datadog_database_samples
Claudesearch_datadog_error_tracking_issues
Claudesearch_datadog_events
Claudesearch_datadog_hosts
Claudesearch_datadog_incidents
Claudesearch_datadog_k8s_resources
Claudesearch_datadog_logs
Claudesearch_datadog_metrics
Claudesearch_datadog_monitors
Claudesearch_datadog_notebooks
Claudesearch_datadog_rum_events
Claudesearch_datadog_security_signals
Claudesearch_datadog_service_dependencies
Claudesearch_datadog_services
Claudesearch_datadog_slos
Claudesearch_datadog_spans
Claudesearch_datadog_test_events
Claudesearch_dora_deployments
Claudesearch_llmobs_spans
Claudesearch_ndm_devices
Claudesearch_ndm_interfaces
Claudesearch_pr_insights
Claudesearch_security_findings
Claudesecurity_findings_schema
Claudesecurity_signals_schema
Claudeserverless_onboarding
Claudesource_map_uploads
Claudestudio_onboarding
Claudesubmit_mcp_feedback
Claudesync-allocations-for-feature-flag-environment
Claudesynthetics_test_wizard
Claudetest_optimization_onboarding
Claudeupdate-feature-flag-environment
Claudeupdate_datadog_error_tracking_issue
Claudeupdate_datadog_flaky_test_states
Claudeupdate_datadog_security_detection_rule
Claudeupdate_datadog_security_signals_triage
Claudeupdate_datadog_security_suppression
Claudeupdate_datadog_workflow_with_agent_trigger
Claudeupsert_datadog_dashboard
Claudeupsert_llmobs_evaluator
Claudevalidate_dashboard_widget
Claudevalidate_monitor_definition
Claudevisualize_tabular_data
Claude