Migrate from another tool
Import monitors from UptimeRobot, Freshping, Better Stack or Pingdom, and schedules, escalations and heartbeats from Opsgenie, with a preview first.
You can bring your existing checks into SutramX from UptimeRobot, Freshping, Better Stack or Pingdom, and your on-call setup and heartbeats from Opsgenie (see Import from Opsgenie). Every import shows a preview of exactly what will be created before anything changes, and running an import again never creates duplicates. Nothing is changed in the other tool.
Before you start#
- Only the workspace owner can import.
- Verify your email address first. Monitor imports are refused until it is verified.
- Imports follow your plan. Imported monitors count towards your plan's monitor limit, intervals are raised to your plan's minimum, and locations are limited to the ones your plan includes. See Plans & limits.
- Imports go into the workspace you have open. Switch workspace first if you use more than one: see Workspaces.
Supported tools#
| Tool | How you connect | What is imported |
|---|---|---|
| UptimeRobot | Read-only API key, or a CSV export of your monitors | Monitors; with the API key, also alert contact emails |
| Freshping | The CSV or JSON export of your checks | Monitors and the alert emails listed in the file |
| Better Stack | Uptime API token | Monitors and heartbeats (no alert contacts) |
| Pingdom | API token | Checks and alerting contact emails |
Where to find the key for each tool (the same hints are shown in the import form):
| Tool | Where to get it |
|---|---|
| UptimeRobot | Integrations & API → API → Read-only API key |
| Better Stack | Uptime → API tokens. A team token with read access is enough. |
| Pingdom | Integrations → The Pingdom API → Add API token (read access) |
The key is used once to read your checks and is not stored. Export files can be up to 2 MB.
Import monitors#
- Open Settings, find Import from another tool and click Start an import. If you have no monitors yet, you can also click Import from UptimeRobot, Pingdom… on the empty dashboard. Both open https://app.sutramx.com/dashboard/import.
- Stay on the Monitors tab and choose the tool your monitors are in.
- For UptimeRobot, choose API key or Export file. Paste the key or choose the file.
- Click Preview import. SutramX reads your checks and shows what it would create.
- Review the preview (see below). Untick any check you don't want.
- If the preview lists alert emails, decide whether to keep Import alert emails ticked.
- Click Import N monitors.
The preview is valid for 24 hours. If it expires, or you change your plan to make room for more monitors, click Start over and preview again.
When the import finishes you see how many monitors were created, skipped or failed, with the reason for each failure. Click Go to monitors to see them. The Recent imports list on the import page shows your last imports with their results.
Reading the preview#
The preview counts the checks found, those that will be imported, those skipped, and those over your plan limit. Each check has a status:
| Status | Meaning |
|---|---|
| Will import | It will be created as shown in the In SutramX column |
| Already imported | It was imported before; left unchanged |
| Already exists | A monitor for the same target already exists in this workspace |
| Not supported | It has no SutramX equivalent, or its settings can't be imported (the reason is shown) |
| Over plan limit | Your plan has no monitor slots left for it |
The In SutramX column shows the monitor type, interval and locations, plus notes about any adjustment (for example "Checked every 60s, the fastest your plan allows").
How checks are mapped#
| Source check | Becomes in SutramX |
|---|---|
| HTTP(s) / website | HTTP monitor |
| Keyword (must contain) | HTTP monitor with a keyword |
| Keyword (must not contain) | HTTP monitor with a forbidden keyword |
| HTTP check using POST, PUT, PATCH, DELETE or a request body | API monitor with the same method and body |
| Ping | Ping monitor |
| TCP port | Port monitor |
| UDP | UDP monitor |
| SMTP, POP3, IMAP | Port monitor on the same port (25, 110 or 143 by default) |
| Heartbeat / cron | Heartbeat monitor |
| DNS | Not imported yet |
| Browser, transaction or Playwright checks | Not imported |
| Pingdom "HTTP custom" and other types | Not imported |
Settings carried over where the source has them:
| Setting | How it is imported |
|---|---|
| Name | Kept. Checks without a name use their URL or host. |
| URL or host | Kept. A bare host for an HTTP check gets https://. |
| Interval | Kept, but raised to your plan's minimum and capped at 15 minutes. Checks without an interval get 5 minutes. |
| Timeout | Kept, within SutramX's limits (1–60 seconds for HTTP). |
| Expected status codes | Kept |
| Request headers and method | Kept |
| "Don't follow redirects" | Imported as no redirects followed |
| Keyword case sensitivity | Kept |
| Locations | Matched to the nearest locations your plan includes (by country, then continent). If nothing matches, your plan's default locations are used. |
| Paused | Paused checks are imported paused |
| Tags | Each monitor gets a tag with the source name (for example uptimerobot), plus its tags from the source, in lower case |
A few things work differently in SutramX:
- Heartbeats get a new heartbeat URL. Update your job to call the new SutramX URL after importing; the old tool's URL isn't watched by SutramX. The heartbeat period becomes a cron schedule; if the period doesn't divide evenly into an hour or day, it is rounded up so your job is never reported late (the note says so). The grace period is kept, between 1 minute and 7 days, or 5 minutes if the source has none.
- SMTP, POP3 and IMAP checks become TCP port checks: SutramX confirms the port accepts connections, not the mail protocol handshake.
- TLS verification is always on in SutramX. A check that skipped it in the source is noted in the preview.
See Monitors overview for what each monitor type checks.
Plan limits during an import#
- Active checks take your remaining monitor slots in the order the source lists them.
- Checks that are paused in the source are imported paused and don't use a monitor slot.
- Checks that don't fit are marked Over plan limit. Upgrade, then preview again to import the rest; checks already imported are skipped.
Alert contacts#
Email contacts linked to a check are imported as that monitor's alert recipients (up to 20 per monitor). Each new address gets one confirmation email and only receives alerts after confirming. Untick Import alert emails to skip them.
Other contact types are listed in the preview but not imported:
| Contact type | What to do instead |
|---|---|
| SMS and phone | Add SMS or voice recipients in SutramX if your plan includes them: see SMS, WhatsApp & voice |
| Slack | Connect Slack again in SutramX (it needs a new authorisation): see Slack, Teams & chat apps |
| Webhooks | Add the webhook in SutramX so it can be verified: see Webhooks |
Better Stack doesn't expose alert addresses through its API, so no contacts come from Better Stack. UptimeRobot CSV exports don't include contacts; connect with the API key if you want them.
Import from Opsgenie#
Atlassian ends Opsgenie on 5 April 2027. Starting Atlassian's own migration tool switches Opsgenie off 120 days later, so import into SutramX first if you want both running side by side. Atlassian's suggested replacements (Jira Service Management and Compass) don't include uptime monitoring; SutramX does both.
The Opsgenie import reads your account with an API key and never changes anything in Opsgenie.
What is imported#
| From Opsgenie | Becomes in SutramX |
|---|---|
| Schedules | One on-call schedule per rotation (named "Schedule – Rotation", or just the schedule's name if it has one rotation). Time restrictions become shift windows, and upcoming overrides are included |
| Escalation policies | Escalation policies. A user step becomes an email step to that person, a schedule step becomes "current on-call" for the imported schedule, and a team step becomes one email step per team member |
| Heartbeats | Heartbeat (cron) monitors with new SutramX ping URLs (see below) |
| Phone numbers | Only if you tick Import phone numbers, and only used after each person confirms (see below) |
Teams and users are used to work out who is in each rotation and step, but aren't imported as objects. Invite your responders to SutramX as team members; seats are unlimited on every plan.
On-call schedules and escalation policies depend on your plan. Items your plan doesn't include are shown as Needs plan upgrade in the preview; if you upgrade within 24 hours of the preview, they are created then. See Plans & limits.
Run the import#
- In Opsgenie, go to Settings → API key management and add an API key with Read and Configuration access.
- In SutramX, open https://app.sutramx.com/dashboard/import (or Settings → Import from another tool → Start an import) and choose the Opsgenie on-call tab.
- Paste the key into Opsgenie API key and choose your Region: US (api.opsgenie.com), or EU (api.eu.opsgenie.com) if you sign in at app.eu.opsgenie.com.
- Decide whether to tick Import phone numbers.
- Click Preview import, review the schedules, policies and heartbeats, and untick anything you don't want.
- Click Import N items.
The key is used once and not stored. Only the workspace owner can import.
Heartbeats: point your jobs at SutramX#
Each Opsgenie heartbeat becomes a heartbeat monitor. Its interval becomes the expected schedule (in UTC) and the grace period is one full interval (at least 1 minute, at most 7 days). Disabled heartbeats are imported paused and don't use a monitor slot; heartbeats beyond your plan's monitor limit are skipped.
After the import, the Point your jobs at SutramX section lists, for each heartbeat, the Opsgenie URL to replace (https://api.opsgenie.com/v2/heartbeats/<name>/ping, or api.eu.opsgenie.com) and the SutramX URL to use instead. The SutramX URL needs no API key header. Update each job; SutramX doesn't watch the Opsgenie URL.
Phone numbers need each person's consent#
Phone numbers are only imported if you tick Import phone numbers. In the preview they are masked.
Imported numbers are not used straight away, and nothing is sent automatically:
- After the import, click Email them a confirmation link in the import result. You can also send links later with Email a confirmation link in the Imported phone numbers panel on the import page.
- Each person gets an email with a link (valid for 72 hours) and chooses Yes, text or call me or No, decline.
- The panel shows each number as Waiting for confirmation, Confirmed or Declined.
Until a number is confirmed, the SMS and voice steps for that person are skipped; their email steps still run. SMS and voice steps also need a plan that includes them: see SMS, WhatsApp & voice.
Follow-up checklist#
Some Opsgenie settings have no direct equivalent and are not imported. The import lists them in a checklist with what to use in SutramX:
| Opsgenie | What to do in SutramX |
|---|---|
| Integrations: Slack, Microsoft Teams, Google Chat, Mattermost, Webhook, PagerDuty, Zapier, GitHub, Telegram | Connect the matching SutramX integration: see Slack, Teams & chat apps and Webhooks |
| Integrations: Heartbeat | Already imported as heartbeat monitors |
| Integrations: Pingdom, UptimeRobot, Freshping, Better Stack | Import those monitors with the Monitors tab of the same page |
| Integrations: StatusCake, Site24x7 | Recreate the checks as SutramX monitors |
| Integrations: API, email, Jira / JSM / Statuspage | No equivalent: SutramX pages for its own monitors and doesn't accept alerts from other tools |
| Routing rules | Attach an escalation policy to each monitor. Conditions and time windows aren't imported |
| Notification policies | Confirmation period, escalation delays and maintenance windows; auto-close is automatic resolve on recovery |
| Alert policies | No equivalent |
| Personal notification rules | Escalation steps and the SutramX app (see Mobile app) |
If you page through Opsgenie today, you can keep doing so while you move: SutramX can send alerts to Opsgenie. See PagerDuty & Opsgenie.
A safe switch, step by step#
- Import your monitors and check the preview notes.
- Connect your alert channels and, if you used Opsgenie, import your schedules, escalation policies and heartbeats and work through the follow-up checklist.
- Update heartbeat jobs to call their new SutramX URLs, and send phone-number confirmation links if you imported numbers.
- Run SutramX alongside your current tool for a while and compare what each one catches.
- Recreate your status page in SutramX, check it, then point your status domain at it: see Status pages overview.
- Switch off the old tool.
Troubleshooting#
| Message | What to do |
|---|---|
| "Verify your email before importing monitors." | Verify your email address, then try again |
| "Enter the API key or token from your account." | Paste the key in the form |
| "No checks were found in your … account." | Check the key belongs to the right account and has read access, or that the file is the right export |
| "The export file is larger than 2 MB." | Split the export, or connect with an API key where the tool supports it |
| "This preview has expired or was already imported." | Click Start over and preview again |
| A check shows Already exists | A monitor for the same URL or host and port is already in the workspace, so it isn't created twice |
| A check shows Not supported | Read the reason; create it by hand if SutramX has a matching monitor type |
Previews read your account through the other tool's API, so they are rate limited. If you hit the limit, wait and try again later.
Common questions#
Does importing change anything in my old tool? No. SutramX only reads from it.
Can I import again after adding checks in the old tool? Yes. Checks imported before show as Already imported and are left unchanged; only new ones are created.
Does the Opsgenie import text or call anyone? No. Imported phone numbers are only used after each person confirms by email, and only when you send the confirmation links.
Can I import with the API or CLI? No, imports run from the dashboard. To create monitors in bulk from your own data, use the REST API.
I have a large migration. Can you help? Yes. Email support@sutramx.com with your current setup.
Related
Last updated . Something unclear or missing on this page? Tell us at support@sutramx.com.