• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

New Relic Synthetics actions

|View as Markdown (English)

This page provides a reference for New Relic Synthetics actions available in the workflow automation actions catalog. These actions let you trigger on-demand test runs for existing monitors, manage maintenance window downtimes, and read monitor details directly from a workflow definition.

Prerequisites

Before using New Relic Synthetics actions in workflow automation, ensure you have:

  • A New Relic account with appropriate permissions to access Synthetics monitors.
  • The entity GUID of each monitor you want to target. You can find a monitor's GUID in New Relic under Synthetics > [monitor name] > Settings.

Start an automated test

The action identifier is newrelic.synthetics.startAutomatedTest.

Triggers an on-demand Synthetics automated test run for one or more monitors and returns a batchId to poll for results using newrelic.synthetics.getAutomatedTestResult.

Importante

Only scripted API, scripted browser, step, and simple browser monitor types are supported. SIMPLE (ping) monitors are rejected by the API with an incompatible monitor type error.

The following table describes all available input fields for this action.

Input

Type

Description

Example

tests

List

Required. List of monitors to test. Each entry requires a monitorGuid and accepts an optional config object with per-monitor overrides. See the fields below.

[{"monitorGuid": "MTE5Mz..."}]

tests[].monitorGuid

String

Required. Entity GUID of the monitor to run. Must be a scripted or browser-based monitor type.

"MTE5MzMzNDd8U1lOVEh8..."

tests[].config.isBlocking

Boolean

Optional. If true, a failing test is treated as blocking — useful for gating a CI/CD pipeline on the result.

true

tests[].config.overrides.location

String

Optional. Run the test from this location instead of the monitor's configured locations.

"US_EAST_1"

tests[].config.overrides.startingUrl

String

Optional. Override the URL the monitor starts from — for example, to point a production monitor at a staging environment for this run.

"https://staging.example.com"

tests[].config.overrides.domain

List

Optional. Redirect requests from one domain to another for this run only. Each entry requires domain and override.

[{"domain": "example.com", "override": "staging.example.com"}]

tests[].config.overrides.secureCredential

List

Optional. Swap which stored secure credential a script's $secure.KEY reference resolves to for this run. Each entry requires key and overrideKey.

[{"key": "API_KEY", "overrideKey": "STAGING_API_KEY"}]

config

Map

Optional. Batch-level metadata attached to the test run. All fields are descriptive only and do not affect how the test runs. Supported fields: batchName, branch, commit, deepLink, platform, repository.

{"batchName": "release-1.2.3", "branch": "main", "commit": "a1b2c3d"}

selectors

List

Optional. JQ selectors to extract specific fields from the action output.

[{"name": "batchId", "expression": ".data.syntheticsStartAutomatedTest.batchId"}]

The following table describes all output fields returned by this action.

Output

Type

Example

success

Boolean

true when the step executed without error.

errorMessage

String

Populated only if the call fails at the HTTP/transport level. null on success.

data

Object

{
"data": {
"syntheticsStartAutomatedTest": {
"batchId": "bdf77c8d-1987-4488-ac7d-112836e5f610"
}
}
}

Pass the batchId to newrelic.synthetics.getAutomatedTestResult to poll for the outcome.

Workflow example

name: start_synthetics_automated_test
description: Trigger an on-demand Synthetics test run after a deploy
steps:
- name: startAutomatedTest
type: action
action: newrelic.synthetics.startAutomatedTest
version: 1
inputs:
tests:
- monitorGuid: "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnw1OGEwNmFjZC02MGRmLTQ4YWEtYTc4YS1jZDk5NjhmYTU4YmE"
config:
batchName: "release-1.2.3"
branch: "main"
selectors:
- name: batchId
expression: ".data.syntheticsStartAutomatedTest.batchId"
next: end

Get automated test result

The action identifier is newrelic.synthetics.getAutomatedTestResult.

Fetches the status and per-monitor results of a Synthetics automated test batch by its batchId. Polling immediately after startAutomatedTest may return a transient "No automated test results found" error — add a short wait step before polling.

The following table describes all available input fields for this action.

Input

Type

Description

Example

accountId

Integer

Required. New Relic account ID.

11933347

batchId

String

Required. The batch ID returned by newrelic.synthetics.startAutomatedTest.

"bdf77c8d-1987-4488-ac7d-112836e5f610"

selectors

List

Optional. JQ selectors to extract specific fields from the action output.

[{"name": "status", "expression": ".data.actor.account.synthetics.automatedTestResult.status"}]

The following table describes all output fields returned by this action.

Output

Type

Example

success

Boolean

true when the step executed without error.

errorMessage

String

Populated only if the call fails at the HTTP/transport level. null on success.

data

Object

{
"data": {
"actor": {
"account": {
"synthetics": {
"automatedTestResult": {
"status": "IN_PROGRESS",
"startTimestamp": 1788519679406,
"finishTimestamp": null,
"tests": []
}
}
}
}
}
}

status is one of PASSED, FAILED, IN_PROGRESS, or TIMEOUT.

Workflow example

name: get_synthetics_test_result
description: Poll a Synthetics automated test batch for its outcome
steps:
- name: wait
type: wait
seconds: 15
- name: getAutomatedTestResult
type: action
action: newrelic.synthetics.getAutomatedTestResult
version: 1
inputs:
accountId: 11933347
batchId: "bdf77c8d-1987-4488-ac7d-112836e5f610"
selectors:
- name: status
expression: ".data.actor.account.synthetics.automatedTestResult.status"
- name: tests
expression: ".data.actor.account.synthetics.automatedTestResult.tests"
next: end

Create a monitor downtime

The action identifier is newrelic.synthetics.createMonitorDowntime.

Schedules a one-time Synthetics monitor downtime (maintenance window) for one or more specific monitors. The API echoes back a resolved timezone label (such as Pacific Standard Time) rather than the submitted IANA name.

Importante

monitorGuids is nullable in the GraphQL schema but required in practice — omitting it throws a server error. There is no account-wide downtime mode; downtimes always target specific monitors.

The following table describes all available input fields for this action.

Input

Type

Description

Example

accountId

Integer

Required. New Relic account ID.

11933347

name

String

Required. Display name for the downtime.

"Deploy maintenance window"

startTime

String

Required. Start time as a NaiveDateTime (no timezone offset), interpreted using the timezone input. Format: YYYY-MM-DDTHH:MM:SS.

"2026-09-10T02:00:00"

endTime

String

Required. End time as a NaiveDateTime (no timezone offset), interpreted using the timezone input.

"2026-09-10T04:00:00"

timezone

String

Required. IANA timezone name used to interpret startTime and endTime.

"America/Los_Angeles"

monitorGuids

List

Required. Entity GUIDs of the monitors to silence during the downtime. Must include at least one GUID.

["MTE5MzMzNDd8U1lOVEh8..."]

selectors

List

Optional. JQ selectors to extract specific fields from the action output.

[{"name": "guid", "expression": ".data.syntheticsCreateOnceMonitorDowntime.guid"}]

The following table describes all output fields returned by this action.

Output

Type

Example

success

Boolean

true when the step executed without error.

errorMessage

String

Populated only if the call fails at the HTTP/transport level. null on success.

data

Object

{
"data": {
"syntheticsCreateOnceMonitorDowntime": {
"accountId": 11933347,
"guid": "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUl9ET1dOVElNRXxhZGZlYmRiOS0...",
"monitorGuids": ["MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnw1OGEwNmFjZC0..."],
"name": "Deploy maintenance window",
"startTime": "2026-09-10T02:00",
"endTime": "2026-09-10T04:00",
"timezone": "Pacific Standard Time"
}
}
}

Workflow example

name: create_monitor_downtime
description: Schedule a maintenance window for a Synthetics monitor
steps:
- name: createMonitorDowntime
type: action
action: newrelic.synthetics.createMonitorDowntime
version: 1
inputs:
accountId: 11933347
name: "Deploy maintenance window"
startTime: "2026-09-10T02:00:00"
endTime: "2026-09-10T04:00:00"
timezone: "America/Los_Angeles"
monitorGuids:
- "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnw1OGEwNmFjZC02MGRmLTQ4YWEtYTc4YS1jZDk5NjhmYTU4YmE"
selectors:
- name: guid
expression: ".data.syntheticsCreateOnceMonitorDowntime.guid"
next: end

Edit a monitor downtime

The action identifier is newrelic.synthetics.editMonitorDowntime.

Edits an existing Synthetics monitor downtime identified by its entity GUID.

Importante

monitorGuids is required on every edit call. The API does not preserve the existing list when this field is omitted — it clears it to empty instead. Always pass the full desired set of monitor GUIDs.

The following table describes all available input fields for this action.

Input

Type

Description

Example

guid

String

Required. Entity GUID of the downtime to edit.

"MTE5MzMzNDd8U1lOVEh8TU9OSVRPUl9ET1dOVElNRXwz..."

monitorGuids

List

Required. Full set of monitor entity GUIDs the downtime should apply to. The API clears this list to empty if omitted rather than preserving the existing value.

["MTE5MzMzNDd8U1lOVEh8..."]

startTime

String

Required. Start time as a NaiveDateTime (no timezone offset), interpreted using the timezone input.

"2026-09-10T02:00:00"

endTime

String

Required. End time as a NaiveDateTime (no timezone offset), interpreted using the timezone input.

"2026-09-10T06:00:00"

timezone

String

Required. IANA timezone name used to interpret startTime and endTime.

"America/Los_Angeles"

name

String

Optional. New display name for the downtime. Omit to leave unchanged.

"Deploy maintenance window (extended)"

selectors

List

Optional. JQ selectors to extract specific fields from the action output.

[{"name": "guid", "expression": ".data.syntheticsEditMonitorDowntime.guid"}]

The following table describes all output fields returned by this action.

Output

Type

Example

success

Boolean

true when the step executed without error.

errorMessage

String

Populated only if the call fails at the HTTP/transport level. null on success.

data

Object

{
"data": {
"syntheticsEditMonitorDowntime": {
"accountId": 11933347,
"guid": "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUl9ET1dOVElNRXwz...",
"name": "Deploy maintenance window (extended)",
"startTime": "2026-09-10T02:00",
"endTime": "2026-09-10T06:00",
"timezone": "Pacific Standard Time",
"monitorGuids": ["MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnw1OGEwNmFjZC0..."]
}
}
}

Workflow example

name: edit_monitor_downtime
description: Extend a Synthetics monitor downtime's end time
steps:
- name: editMonitorDowntime
type: action
action: newrelic.synthetics.editMonitorDowntime
version: 1
inputs:
guid: "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUl9ET1dOVElNRXwz..."
name: "Deploy maintenance window (extended)"
monitorGuids:
- "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnw1OGEwNmFjZC02MGRmLTQ4YWEtYTc4YS1jZDk5NjhmYTU4YmE"
startTime: "2026-09-10T02:00:00"
endTime: "2026-09-10T06:00:00"
timezone: "America/Los_Angeles"
selectors:
- name: guid
expression: ".data.syntheticsEditMonitorDowntime.guid"
next: end

Delete a monitor downtime

The action identifier is newrelic.synthetics.deleteMonitorDowntime.

Deletes a Synthetics monitor downtime identified by its entity GUID.

The following table describes all available input fields for this action.

Input

Type

Description

Example

guid

String

Required. Entity GUID of the downtime to delete.

"MTE5MzMzNDd8U1lOVEh8TU9OSVRPUl9ET1dOVElNRXxhZGZlYmRiOS0..."

selectors

List

Optional. JQ selectors to extract specific fields from the action output.

[{"name": "deletedGuid", "expression": ".data.syntheticsDeleteMonitorDowntime.guid"}]

The following table describes all output fields returned by this action.

Output

Type

Example

success

Boolean

true when the step executed without error.

errorMessage

String

Populated only if the call fails at the HTTP/transport level. null on success.

data

Object

{
"data": {
"syntheticsDeleteMonitorDowntime": {
"guid": "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUl9ET1dOVElNRXxhZGZlYmRiOS0..."
}
}
}

Workflow example

name: delete_monitor_downtime
description: Remove a Synthetics monitor downtime
steps:
- name: deleteMonitorDowntime
type: action
action: newrelic.synthetics.deleteMonitorDowntime
version: 1
inputs:
guid: "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUl9ET1dOVElNRXxhZGZlYmRiOS0..."
selectors:
- name: deletedGuid
expression: ".data.syntheticsDeleteMonitorDowntime.guid"
next: end

Get a monitor

The action identifier is newrelic.synthetics.getMonitor.

Fetches the full details of a Synthetics monitor by its entity GUID, including current status, load time percentiles, and monitor configuration.

The following table describes all available input fields for this action.

Input

Type

Description

Example

guid

String

Required. Entity GUID of the monitor to fetch.

"MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnwxMDMyODk5YS1kMmU2..."

selectors

List

Optional. JQ selectors to extract specific fields from the action output.

[{"name": "status", "expression": ".data.actor.entity.monitorSummary.status"}]

The following table describes all output fields returned by this action.

Output

Type

Example

success

Boolean

true when the step executed without error.

errorMessage

String

Populated only if the call fails at the HTTP/transport level. null on success.

data

Object

{
"data": {
"actor": {
"entity": {
"guid": "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnwxMDMyODk5YS1kMmU2...",
"name": "Homepage ping check",
"accountId": 123456,
"domain": "SYNTH",
"entityType": "SYNTHETIC_MONITOR_ENTITY",
"type": "MONITOR",
"alertSeverity": "NOT_ALERTING",
"permalink": "https://onenr.io/...",
"reporting": true,
"monitorType": "SIMPLE",
"monitorId": "1032899a-d2e6-4777-8b5f-5d3f7c9b6798",
"period": 5,
"monitoredUrl": "https://example.com",
"monitorSummary": {
"status": "SUCCESS",
"successRate": 1,
"locationsFailing": 0,
"locationsRunning": 1,
"loadTimeP50": 210,
"loadTimeP95": 480
}
}
}
}
}

Workflow example

name: get_synthetics_monitor
description: Fetch a Synthetics monitor's current status and load time
steps:
- name: getMonitor
type: action
action: newrelic.synthetics.getMonitor
version: 1
inputs:
guid: "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnwxMDMyODk5YS1kMmU2LTQ3NzctOGI1Zi01ZDNmN2M5YjY3OTg"
selectors:
- name: status
expression: ".data.actor.entity.monitorSummary.status"
- name: successRate
expression: ".data.actor.entity.monitorSummary.successRate"
next: end

List monitors

The action identifier is newrelic.synthetics.listMonitors.

Searches Synthetics monitors for an account with optional name and reporting-status filters, and cursor-based pagination.

The following table describes all available input fields for this action.

Input

Type

Description

Example

accountId

Integer

Required. New Relic account ID to search for monitors in.

11933347

name

String

Optional. Case-insensitive contains match against the monitor name.

"Homepage"

reporting

Boolean

Optional. Filter to monitors that are (true) or are not (false) currently reporting. Omit to return both.

true

cursor

String

Optional. Pagination cursor from a previous call's nextCursor output. Omit to start from the first page.

"${{ .steps.listMonitors.outputs.nextCursor }}"

selectors

List

Optional. JQ selectors to extract specific fields from the action output.

[{"name": "monitors", "expression": ".data.actor.entitySearch.results.entities"}]

The following table describes all output fields returned by this action.

Output

Type

Example

success

Boolean

true when the step executed without error.

errorMessage

String

Populated only if the call fails at the HTTP/transport level. null on success.

data

Object

{
"data": {
"actor": {
"entitySearch": {
"count": 1,
"results": {
"nextCursor": null,
"entities": [
{
"guid": "MTE5MzMzNDd8U1lOVEh8TU9OSVRPUnw1OGEwNmFjZC0...",
"name": "Homepage ping check",
"domain": "SYNTH",
"type": "MONITOR",
"reporting": true
}
]
}
}
}
}
}

nextCursor is present when more pages exist. Pass it as cursor in the next call to retrieve the following page.

Workflow example

name: list_synthetics_monitors
description: Search for Synthetics monitors by name
steps:
- name: listMonitors
type: action
action: newrelic.synthetics.listMonitors
version: 1
inputs:
accountId: 11933347
name: "Homepage"
reporting: true
selectors:
- name: monitors
expression: ".data.actor.entitySearch.results.entities"
- name: nextCursor
expression: ".data.actor.entitySearch.results.nextCursor"
next: end
Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.