Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / Datadog

Datadog

Monitoring and incidents: monitors, events, metrics queries and incident lists (US1 site, api.datadoghq.com).

8 actions API key 6 read2 write Calls api.datadoghq.com

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "datadog" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

This toolkit uses a single credential and requests no scopes.

Actions

Get monitorreaddatadog.get_monitorGet the full definition and current state of one monitor by its numeric id.
InputTypeDescription
monitor_idintegerRequiredMonitor id
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.get_monitor",
  input: {
    "monitor_id": 1
  },
});
List incidentsreaddatadog.list_incidentsList incidents from Datadog Incident Management (public beta endpoint; needs the incident_read permission).
InputTypeDescription
page_sizeintegerOptionalIncidents per page, maximum 100
page_offsetintegerOptionalIndex to start the page from
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.list_incidents",
  input: {},
});
List monitorsreaddatadog.list_monitorsList monitors in the Datadog account, optionally filtered by name or tags. Returns each monitor with its id, query, state and options.
InputTypeDescription
namestringOptionalFilter by monitor name (substring match)
tagsstringOptionalComma-separated monitor scope tags, e.g. host:web1
monitor_tagsstringOptionalComma-separated monitor tags, e.g. service:web
page_sizeintegerOptionalMonitors per page (use with page)
pageintegerOptionalZero-based page number
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.list_monitors",
  input: {},
});
Mute monitorwritedatadog.mute_monitorMute a monitor (optionally one scope, until a time) so it stops notifying. Use unmute_monitor to reverse it.
InputTypeDescription
monitor_idintegerRequiredMonitor id
scopestringOptionalScope to mute, e.g. host:app1 (default: all scopes)
endintegerOptionalUnix timestamp (seconds) when the mute ends
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.mute_monitor",
  input: {
    "monitor_id": 1
  },
});
Query metricsreaddatadog.query_metricsQuery metric timeseries points for a Datadog metrics query over a time range given in Unix seconds.
InputTypeDescription
querystringRequiredMetrics query, e.g. system.cpu.idle{*}
fromintegerRequiredStart of the range, Unix seconds
tointegerRequiredEnd of the range, Unix seconds
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.query_metrics",
  input: {
    "query": "<query>",
    "from": 1,
    "to": 1
  },
});
Search eventsreaddatadog.search_eventsSearch Datadog events with the event search syntax over a time range such as now-15m to now.
InputTypeDescription
querystringOptionalEvent search query, e.g. service:web*
fromstringOptionalStart, date math like now-15m or ms timestamp
tostringOptionalEnd, date math like now or ms timestamp
limitintegerOptionalMaximum events to return
sortstringOptionalSort order
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.search_events",
  input: {},
});
Search monitorsreaddatadog.search_monitorsSearch monitors by free text or facets such as status:alert or tag:env:prod, returning matching monitors with their current status.
InputTypeDescription
querystringOptionalSearch query, e.g. status:alert or a name fragment
pageintegerOptionalZero-based page number
per_pageintegerOptionalResults per page
sortstringOptionalSort expression, e.g. status,asc
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.search_monitors",
  input: {},
});
Unmute monitorwritedatadog.unmute_monitorUnmute a monitor, for one scope or for all scopes, so it notifies again.
InputTypeDescription
monitor_idintegerRequiredMonitor id
scopestringOptionalScope to unmute, e.g. host:app1
all_scopesbooleanOptionalClear muting across all scopes
TypeScript
await setu.execute({
  userId: "user_1",
  action: "datadog.unmute_monitor",
  input: {
    "monitor_id": 1
  },
});