First-party app
Datadog

Datadog

Submit metrics and events to Datadog, query timeseries, and read monitors, downtimes, dashboards, logs, hosts and users across every Datadog site.

stable Monitoring & ObservabilityDevOps & InfrastructureDeveloper Tools

About

Datadog ships in the w6w first-party pack. It declares 22 actions, 3 health checks, and the host runs its code in a sandbox that never sees the credential.

App id
io.w6w.datadog
Version
0.1.4
Author
w6w
Licence
MIT
Categories
Monitoring & Observability · DevOps & Infrastructure · Developer Tools

Overview

Datadog brings observability data into a workflow that already handles the rest of a deploy or an incident — metrics and events go in, and monitors, downtimes, dashboards, logs, hosts and access records come back out, across any of Datadog’s nine regional sites (US, EU, AP, UK and both government clouds).

Metrics can be pushed and queried, events posted and searched, and monitors and downtimes listed, inspected, scheduled or cancelled — enough to mute a noisy alert during a deploy and un-mute it afterward, or pull dashboard and host inventory for a status report. Log search reaches Datadog’s own indexed logs directly, and account and user lookups round out the picture for reporting who has access.

A single connection is scoped to one site and one organization’s api and application keys, so this fits infrastructure and on-call workflows that need to read or write Datadog state as part of a larger deploy, incident-response or reporting pipeline, without a separate credential per region.

Build with Datadog

Three routes to the same 22 actions. The Workflow tab is generated from Datadog's own manifest and carries its real ids, so it is copy-pasteable; the Code and CLI examples are the same call for any action on any app, so every app-specific value in them is a blank you fill in.

Get Current User

current-user-get

Read the user this connection's application key acts as, with their organization, roles and granted permissions.

Get Dashboard

dashboard-get

Fetch a dashboard's full definition, including every widget.

List Dashboards

dashboard-list

List custom-created and cloned dashboards. Preset dashboards are not returned.

Cancel Downtime

downtime-cancel

Cancel a scheduled downtime, un-muting its monitors.

Get Downtime

downtime-get

Fetch one scheduled downtime by its UUID.

List Downtimes

downtime-list

List scheduled downtimes, optionally only the ones active right now.

Schedule Downtime

downtime-schedule

Mute monitors for a scope over a time window.

Get Event

event-get

Fetch a single event by its v2 UID.

Post Event

event-post

Publish an event to the Datadog event stream.

Search Events

event-search

Search the Datadog event stream with the events query syntax.

List Hosts

host-list

Search hosts by name, alias or tag.

Get Host Totals

host-totals-get

Count the hosts currently active and up in this organization.

Search Logs

log-search

Search indexed logs with the Datadog log search syntax.

List Active Metrics

metric-list

List the metric names that have reported since a given time.

Get Metric Metadata

metric-metadata-get

Read a metric's declared type, unit and description.

Query Metrics

metric-query

Evaluate a Datadog metric query over a time window and return the timeseries.

Submit Metric

metric-submit

Submit one or more points for a custom metric.

Get Monitor

monitor-get

Fetch a monitor's definition and current alert state.

List Monitors

monitor-list

List monitors, optionally filtered by name and tags.

Search Monitors

monitor-search

Search monitors with the Manage Monitors query syntax, with facet counts.

List Users

user-list

List users in the organization, including deactivated and unverified ones.

Validate API Key

validate

Check that this connection's Datadog API key is live. Needs no application key and no permissions.

A workflow step names the app and the action, and the editor fills in the connection when you pick one. This is the Step shape from the workflow spec, carrying Datadog's real ids.

{
  "manifestVersion": "2",
  "name": "datadog-example",
  "steps": [
    {
      "id": "dashboard-get",
      "uses": {
        "app": "io.w6w.datadog",
        "action": "dashboard-get",
        "connection": "conn_YOUR_CONNECTION_ID"
      },
      "with": {
        "dashboardId": "<dashboardId>"
      }
    }
  ]
}

Here are some of the things you can do

  • Get Dashboard

    read
    dashboard-get
  • Get Current User

    read
    current-user-get
  • List Dashboards

    search
    dashboard-list
  • Get Downtime

    read
    downtime-get
  • List Downtimes

    search
    downtime-list

+17 more actions available

Every app-specific value here is a blank you have to fill in. An app action is reached through the connection that authenticates it, so the address is a connection id, not the app id — and connections belong to your account, so a public page cannot know yours. Create one for Datadog, then fill in the three blanks: conn_YOUR_CONNECTION_ID, the action key, and the parameters that action declares. The call itself is real — the shape is transcribed from the studio's own snippet builder, which prints the same kind of blanks — but nothing in it is specific to Datadog. The Workflow tab is where this app's real ids are.

Install
npm install @w6w/sdk
yarn add @w6w/sdk
pnpm add @w6w/sdk
deno add npm:@w6w/sdk
Code
import { W6wClient, isActionRun } from "@w6w/sdk";

// Reads W6W_BASE_URL and W6W_TOKEN from the environment when omitted.
const client = new W6wClient();

const envelope = await client.run({
  urn: "conn_YOUR_CONNECTION_ID",
  action: "event-post",
  payload: {
    title: "<value>",
    text: "<value>",
    // alertType: "<value>",
    // priority: "<value>",
    // tags: "<value>",
    // host: "<value>",
    // aggregationKey: "<value>",
    // sourceTypeName: "<value>",
    // dateHappened: "<value>",
  },
});

if (isActionRun(envelope)) console.log(envelope.value);
Install the CLI
npm install -g @w6w/cli
CLI
w6w run conn_YOUR_CONNECTION_ID --action event-post --payload '{"title":"<value>","text":"<value>"}'

Give an AI agent Datadog — without giving it Datadog's credentials. One MCP endpoint exposes every app, function and workflow the caller is entitled to, as tools it can discover and run. Access is granted per team while we onboard.

One tool call
{
  "name": "w6w_invoke",
  "arguments": {
    "ref": "app:io.w6w.datadog#dashboard-get",
    "input": {
      "dashboardId": "<dashboardId>"
    }
  }
}

Every tool names its target with a single ref. The app: form above doesn't name a connection at all — the host resolves which of the caller's Datadog connections to sign with, and refuses rather than guesses when the answer is ambiguous.

What the agent gets

Credentials it can't read

The token is attached host-side, at the moment of the call. It is never a tool argument, never in the model's context, and never in a transcript — so a prompt injection has nothing to exfiltrate.

A tool surface scoped to the caller

Tools are derived per end user from what that person has actually connected and is entitled to — not one shared bot identity carrying the union of everyone's access.

A durable workflow in one call

Multi-step work runs on the workflow engine and returns a run handle the agent can poll — retries, branching and state survive the conversation that started them.

Health-aware discovery

Datadog's declared health checks are on the surface too, so an agent can tell "the vendor is down" from "your credential expired" before it burns a retry on either.

The MCP surface is part of the hosted platform. Datadog itself is MIT, and the runtime that executes it is source-available (FSL).

Request MCP access

Health checks

Datadog declares its own checks, so its health is a property of the app rather than something the host guesses at.

service

Datadog site status

Product component status from this connection's own Datadog status page — one page per site, so an EU1 connection reads status.datadoghq.eu and never US1's. Covers APM, Log Management, Monitors, Metrics and Infra Monitoring, Synthetics, RUM and the rest of the product surface. It does NOT cover the REST API: no Datadog status page publishes an API component. See the `api` check for that.

dependency

Datadog API reachability

Unauthenticated probe of GET /api/v1/validate on this connection's own api.<site> host. A schema-correct 401 or 403 is a pass: it proves the host resolves and Datadog is answering. Whether the keys are any good is the auth check's job. This is the only automatable signal for the UK1 site, which publishes no status page.

quota

API rate-limit headroom