DOCS

Migrate from UptimeRobot

Move your monitors, notification channels, and status pages from UptimeRobot in one sitting.

Overview

This tutorial walks you through migrating an existing UptimeRobot setup. The concepts map closely between the two platforms, so migration is straightforward for most configurations.

Time: 20–60 minutes depending on monitor count
Prerequisites: UptimeRobot account with existing monitors; a HOWLOPS account


Concept mapping

UptimeRobotHOWLOPS equivalentNotes
HTTP(S) monitorHTTP / HTTPS monitorDirect equivalent
Ping monitorPing (ICMP) monitorDirect equivalent
Port monitorPort (TCP) monitorDirect equivalent
Keyword monitorHTTP monitor + keyword checkKeyword check is a setting on the HTTP monitor
Alert contactNotification channelHOWLOPS calls them "channels"
Status pageStatus pageMore customisation options available
Maintenance windowMaintenance windowSame concept

Step 1 — Export your monitor list from UptimeRobot

UptimeRobot does not provide a one-click export, but you can use their API to get a complete list:

curl -s -X POST "https://api.uptimerobot.com/v2/getMonitors" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "api_key=$UPTIMEROBOT_API_KEY&format=json&logs=0" \
  | jq '.monitors[] | {friendly_name, url, type, interval}'

Copy the output to a text file — you will use it as your checklist.


Step 2 — Recreate monitors in HOWLOPS

For each monitor in your list:

  1. Go to Monitors → + New Monitor.
  2. Select the type (HTTP / HTTPS, Ping, or Port).
  3. Enter the URL and name.
  4. Set the check interval to match or improve on UptimeRobot (UptimeRobot free = 5 min; HOWLOPS free = 60 s; HOWLOPS Standard = 30 s).
  5. If the UptimeRobot monitor had a keyword check, enable Keyword check in the Advanced section.
  6. Click Save.

Step 3 — Recreate notification channels

In Integrations → + Add Channel, recreate each alert contact:

UptimeRobot contact typeHOWLOPS channel type
EmailEmail
SlackSlack (Incoming Webhook)
DiscordDiscord (Incoming Webhook)
WebhookCustom Webhook
PagerDutyPagerDuty
TelegramTelegram (via @HowlOpsAlertsBot)

After adding each channel, click Send Test Alert to verify it works before assigning it to monitors.


Step 4 — Assign channels to monitors

For each monitor:

  1. Open the monitor and click Edit.
  2. In the Notifications section, add the appropriate channels.
  3. Click Save.

Step 5 — Recreate your status page

  1. Go to Status Pages → + New Status Page.
  2. Give it the same name and select the same monitors.
  3. If you had a custom domain on UptimeRobot, follow the custom domain setup in Tutorials: Public status page.

Step 6 — Validate and cut over

Before disabling UptimeRobot:

  1. Let HOWLOPS run in parallel for at least 24 hours to confirm monitors are checking correctly.
  2. Trigger a deliberate test failure (take down a test endpoint briefly) to confirm alert delivery.
  3. Verify the status page looks correct.

Once you are confident everything is working:

  1. Disable or delete monitors in UptimeRobot.
  2. Update your DNS or subscriber links to point to the new HOWLOPS status page URL.

Differences to be aware of

  • Check intervals: HOWLOPS Free has a 60-second minimum (vs. UptimeRobot Free 5-minute). Standard plan gets 30-second intervals.
  • Multi-region probing: Available on Premium+. UptimeRobot includes this on paid plans — match the feature with a Premium subscription.
  • Heartbeats: UptimeRobot does not have a heartbeat feature. If you were monitoring cron jobs via HTTP with a health endpoint, consider switching to native heartbeats for more reliable detection.
  • On-call and escalation: Not available in UptimeRobot. Set up escalation policies in HOWLOPS to ensure alerts are not missed.

What's next

Was this page helpful?