Search all guides

Reference · Tools

UptimeRobot integration

Manage website uptime monitors, alert contacts, maintenance windows, public status pages, and account details via the UptimeRobot API.

Action Development v1

The UptimeRobot node manages monitors, alert contacts, maintenance windows, public status pages and account details. A typical build is creating a monitor automatically whenever a new service is deployed, and pausing it during planned maintenance.

Works as
Action
Tool name
uptime_robot
Parameters
45
Outputs
Output, Error
Credentials
UptimeRobot API
Official docs
UptimeRobot docs uptimerobot.com

What you can build with UptimeRobot

  • Create an HTTP monitor to check website uptime every 5 minutes.
  • List all monitors that are currently down.
  • Create an email alert contact for downtime notifications.
  • Set up a maintenance window for scheduled server updates.
  • Create a public status page showing monitor statuses.
  • Reset a monitor to clear its statistics.
  • Get account details including monitor limits.

Overview

UptimeRobot is a website monitoring service that checks if websites, servers, and services are up and running. This tool provides full CRUD operations for monitors (HTTP, keyword, ping, port, heartbeat), alert contacts, maintenance windows, and public status pages. It also retrieves account details. All API operations use POST with form-encoded bodies and API key authentication.

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires UptimeRobot API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Accountaccount
Alert ContactalertContact
Maintenance WindowmaintenanceWindow
Monitormonitor
Public Status PagepublicStatusPage

Operations

Each resource has its own Operation list, and most resources reuse the values create, delete, get, getAll and update. Pick the resource first, then the operation.

ResourceOperationValueDescription
AccountGetgetGet account details
MonitorCreatecreateCreate a monitor
MonitorDeletedeleteDelete a monitor
MonitorGetgetGet a monitor
MonitorGet ManygetAllGet many monitors
MonitorResetresetReset a monitor
MonitorUpdateupdateUpdate a monitor
Alert ContactCreatecreateCreate an alert contact
Alert ContactDeletedeleteDelete an alert contact
Alert ContactGetgetGet an alert contact
Alert ContactGet ManygetAllGet many alert contacts
Alert ContactUpdateupdateUpdate an alert contact
Maintenance WindowCreatecreateCreate a maintenance window
Maintenance WindowDeletedeleteDelete a maintenance window
Maintenance WindowGetgetGet a maintenance window
Maintenance WindowGet ManygetAllGet many maintenance windows
Maintenance WindowUpdateupdateUpdate a maintenance window
Public Status PageCreatecreateCreate a public status page
Public Status PageDeletedeleteDelete a public status page
Public Status PageGetgetGet a public status page
Public Status PageGet ManygetAllGet many public status pages

Parameters

Get takes no parameters of its own — see All Operations.

Alert Contact: Create

ParameterTypeRequiredDefaultDescription
Friendly NamestringYes—The friendly name of the record to create.
Type (alertContactType)optionsYes2The channel the alert contact notifies through: SMS, E-Mail, Twitter DM, Boxcar, Webhook, Pushbullet or Pushover. It decides what Value must hold.
Options: 1, 2, 3, 4, 5, 6, 9
ValuestringYes—The correspondent value for the alert contact type (e.g. email address, phone number, webhook URL).

Alert Contact: Delete

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Alert Contact: Get

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Alert Contact: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}
Options: 0, 1
— Alert Contact IDsstringNo—Alert contact IDs separated with dash, e.g. 236-1782-4790.

Alert Contact: Update

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.
Update FieldscollectionNo{}
Options: 1, 0
— Friendly NamestringNo—The friendly name of the alert contact.
— ValuestringNo—The correspondent value for the alert contact type (can only be used if it is a Webhook alert contact).

Maintenance Window: Create

ParameterTypeRequiredDefaultDescription
Duration (Minutes)numberYes1The maintenance window activation period (minutes).
Friendly NamestringYes—The friendly name of the record to create.
Type (maintenanceWindowType)optionsYes1How often the maintenance window recurs: Once, Daily, Weekly or Monthly. Weekly also needs Week Day, Monthly also needs Month Day.
Options: 1, 2, 3, 4
Week DayoptionsNo1The day of the week for weekly maintenance windows. (shown when Type is 3)
Options: 1, 2, 3, 4, 5, 6, 7
Month DaynumberNo1The day of the month for monthly maintenance windows. (shown when Type is 4)
Start TimedateTimeYes—The maintenance window start datetime. For one-time windows, the full datetime is used as a Unix timestamp. For recurring windows (daily/weekly/monthly), only the time portion (HH:mm) is used.

Maintenance Window: Delete

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Maintenance Window: Get

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Maintenance Window: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}
Options: 0, 1
— Maintenance Window IDsstringNo—Maintenance windows IDs separated with dash, e.g. 236-1782-4790.

Maintenance Window: Update

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.
Duration (Minutes)numberYes1The maintenance window activation period (minutes).
Update FieldscollectionNo{}
Options: 1, 0
— Friendly NamestringNo—The friendly name of the maintenance window.
— Start TimedateTimeNo—The maintenance window start datetime.
— TypeoptionsNo1The type of the maintenance window.
Options: 1, 2, 3, 4
— Week DayoptionsNo1The day of the week for weekly maintenance windows. (shown when Type is 3)
Options: 1, 2, 3, 4, 5, 6, 7
— Month DaynumberNo1The day of the month for monthly maintenance windows. (shown when Type is 4)

Monitor: Create

ParameterTypeRequiredDefaultDescription
Friendly NamestringYes—The friendly name of the record to create.
Type (monitorType)optionsYes1The kind of check the monitor performs: HTTP(S), Keyword, Ping, Port or Heartbeat.
Options: 1, 2, 3, 4, 5
URLstringYes—The URL/IP of the monitor.

Monitor: Delete

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Monitor: Get

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Monitor: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}
Options: 0, 1
— Alert ContactsbooleanNofalseWhether the alert contacts set for the monitor to be returned.
— LogsbooleanNofalseWhether the logs of each monitor will be returned.
— Maintenance WindowbooleanNofalseWhether to return the maintenance windows for the monitors.
— Monitor IDsstringNo—Monitors IDs separated with dash, e.g. 15830-32696-83920.
— Response TimesbooleanNofalseWhether the response time data of each monitor will be returned.
— SearchstringNo—A keyword to be matched against URL and friendly name.
— StatusesmultiOptionsNo[]Filter by monitor statuses.
Options: 0, 1, 2, 8, 9
— TypesmultiOptionsNo[]Filter by monitor types.
Options: 1, 2, 3, 4, 5

Monitor: Reset

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Monitor: Update

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.
Update FieldscollectionNo{}
Options: 1, 0
— Friendly NamestringNo—The friendly name of the monitor.
— HTTP Auth TypeoptionsNo—The authentication type for password-protected web pages.
Options: 1, 2
— HTTP MethodoptionsNo—The HTTP method to be used.
Options: 1, 2, 3, 4, 5, 6, 7
— HTTP PasswordstringNo—The password used for password-protected web pages.
— HTTP UsernamestringNo—The username used for password-protected web pages.
— IntervalnumberNo—The interval for the monitoring check (in seconds).
— PortnumberNo—The monitored port.
— StatusoptionsNo—Pause or resume the monitor.
Options: 0, 1
— Sub TypeoptionsNo—Specify which pre-defined port/service or custom port is monitored.
Options: 1, 2, 3, 4, 5, 6, 99
— URLstringNo—The URL/IP of the monitor.

Public Status Page: Create

ParameterTypeRequiredDefaultDescription
Friendly NamestringYes—The friendly name of the record to create.
Monitor IDsstringYes—Monitor IDs to be displayed in status page (the values are separated with a dash (-) or 0 for all monitors).
Additional FieldscollectionNo{}
Options: 1
— Custom DomainstringNo—The domain or subdomain that the status page will run on.
— PasswordstringNo—The password for the status page.
— SortoptionsNo1The sorting of the status page.
Options: 1, 2, 3, 4

Public Status Page: Delete

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Public Status Page: Get

ParameterTypeRequiredDefaultDescription
IDstringYes—The ID of the record to act on, matching the chosen resource.

Public Status Page: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}
Options: 0, 1
— Public Status Page IDsstringNo—Public status pages IDs separated with dash, e.g. 236-1782-4790.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The UptimeRobot record is merged onto the input item’s JSON at the top level — the returned fields sit alongside the fields the item already carried, so downstream nodes address them directly ({{ $json.id }}). A response field with the same name as an existing item field overwrites it. The API’s envelope is unwrapped for you, so you read friendly_name rather than monitor.friendly_name.

Binary data is not forwarded. Unlike most nodes, this one builds its output items from JSON only, so any binary property on the input item is dropped. Branch binary around this node if a later step needs it.

Both Get and Get Many fan out, because UptimeRobot answers a single-record lookup with a filtered list. Each record becomes its own output item, still merged onto the same input JSON — a Get normally yields one, a Get Many yields as many as matched.

OperationsOutput
Monitor, Alert Contact, Maintenance Window and Public Status Page — Get and Get ManyOne output item per record returned. Turn Return All on to page through everything; leave it off and Limit caps the page.
Account Get; Monitor Create, Delete, Reset and Update; Alert Contact Create, Delete and Update; Maintenance Window Create and Update; Public Status Page Create and DeleteOne output item carrying the returned record.
Maintenance Window DeleteOne output item carrying status, set to the message the API returned.

If a call returns nothing at all, one output item is still emitted carrying the input item’s JSON unchanged.

Example Configuration

Read the account’s plan and monitor limits:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "account",
    "operation": "get"
  }
}

Create an HTTP(S) monitor:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "monitor",
    "operation": "create",
    "friendlyName": "My Website Monitor",
    "type": 1,
    "url": "https://example.com"
  }
}

List monitors that are down or look down, with their logs and response times:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "monitor",
    "operation": "getAll",
    "returnAll": false,
    "limit": 10,
    "filters": {
      "logs": true,
      "response_times": true,
      "statuses": [8, 9],
      "search": "example"
    }
  }
}

Rename a monitor and slow its check interval to ten minutes:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "monitor",
    "operation": "update",
    "id": "{{ $json.id }}",
    "updateFields": {
      "friendly_name": "Updated Monitor Name",
      "interval": 600,
      "url": "https://newexample.com"
    }
  }
}

Pause a monitor:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "monitor",
    "operation": "update",
    "id": "{{ $json.id }}",
    "updateFields": {
      "status": 0
    }
  }
}

Add an email alert contact:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "alertContact",
    "operation": "create",
    "friendlyName": "Admin Email",
    "type": 2,
    "value": "admin@example.com"
  }
}

Schedule a one-hour maintenance window every Monday:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "maintenanceWindow",
    "operation": "create",
    "friendlyName": "Weekly Maintenance",
    "type": 3,
    "weekDay": 1,
    "duration": 60,
    "start_time": "2026-01-05T02:00:00Z"
  }
}

Publish a password-protected status page on your own domain:

{
  "type": "uptime_robot",
  "parameters": {
    "resource": "publicStatusPage",
    "operation": "create",
    "friendlyName": "Public Status",
    "monitors": "123-456-789",
    "additionalFields": {
      "custom_domain": "status.mysite.com",
      "password": "{{ $json.statusPagePassword }}",
      "sort": 3
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

UptimeRobot manages monitors, alert contacts, maintenance windows and public status pages in an UptimeRobot account, and reads the account details. It is the right tool when a workflow must create, update, delete, fetch or list monitors, alert contacts or maintenance windows, reset a monitor, create, delete, fetch or list public status pages, or check account limits, rather than another monitoring service; a status page cannot be updated in place. It returns the affected or fetched records as JSON items, with getAll paging through lists.

Monitor Management Workflow

  1. Create the monitor with its type and URL.
  2. Get it by ID to read current status, or Get Many with Statuses to sweep for anything down.
  3. Update settings through Update Fields — the same operation pauses (status 0) and resumes (status 1) a monitor.
  4. Reset clears a monitor’s accumulated statistics without deleting it.

Maintenance Window Scheduling

  • One-time windows use Type 1 and consume the full Start Time datetime.
  • Recurring windows use Type 2 (daily), 3 (weekly, with Week Day) or 4 (monthly, with Month Day), and only the time portion of Start Time is used.
  • Duration (Minutes) is required on both Create and Update, even when you are only changing the name.

Batch Operations

Use Return All for a complete sweep, or leave it off and set Limit for a predictable page. Filters narrows by ID list, keyword, status or type, and the boolean filters on monitors control how much extra detail (logs, response times, alert contacts, maintenance windows) each record carries.

Frequently asked questions

What does a monitor lifecycle look like?

Create the monitor with its type and URL, get it by ID to read current status or use Get Many with Statuses to sweep for anything down, then update settings through Update Fields.

How do I pause and resume a monitor?

Through the same update operation — status `0` pauses and the corresponding value resumes, so maintenance windows can be automated.

Can it manage status pages?

Yes, public status pages are supported alongside monitors and alert contacts.

Which credential does it need?

An UptimeRobot API credential.

Build with UptimeRobot

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need UptimeRobot API credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.