Migrate from Opsgenie
Atlassian ended new Opsgenie sales on June 4, 2025, and Opsgenie reaches end of support on April 5, 2027. EvoHub On-Call has a built-in importer that reads your Opsgenie account and creates the matching schedules, escalation policies and integrations. This page explains how to run it, what it maps and what you finish by hand.
How Opsgenie concepts map to EvoHub
| Opsgenie | EvoHub | Notes |
|---|---|---|
| Users | Organization members | Matched by email. Invite everyone — EvoHub has no per-seat fee. |
| Teams | Teams | Not created. You choose which of your EvoHub teams each Opsgenie team's schedules, policies and integrations go into. |
| Schedules and rotations | Schedules and layers | Imported. |
| Schedule overrides | Overrides | Upcoming ones are imported with their schedule. |
| Escalations | Escalation policies | Imported. |
| Integrations (Prometheus, Datadog, CloudWatch, email, API…) | Integrations | Imported, each with a new URL to paste into the tool. |
| Heartbeats | Uptime heartbeat monitors | Not imported. See Heartbeat monitors. |
| Notification rules | Notification settings and notification schedule | Not imported; each person sets their own. |
| SMS notifications | Push or voice call | EvoHub does not currently send SMS. |
| Mobile app | EvoHub iOS and Android apps | See Mobile app. |
Before you import
- Invite your people first. The importer matches Opsgenie users to EvoHub members by email address. A schedule or escalation policy that names someone who is not a member yet is not imported until they join; the preview says which person is missing. The preview lists unmatched people and, if you are allowed to invite, offers an Invite N people button.
- Make sure they can respond to alerts. A member whose role cannot respond to alerts holds back the schedules and policies they appear in the same way, with a message naming them.
- Create an Opsgenie API key with read access. In Opsgenie: Settings → API key management → Add new API key, give it read access and copy it.
You need the On-Call settings permission to import (Owners, Admins and Members have it by default).
Run the importer
Open the importer
Go to On-Call → Import from Opsgenie (also linked from the Moving from Opsgenie or PagerDuty? banner on the Integrations page).
Enter the key and region
Paste the Opsgenie API key and choose the Region: US (api.opsgenie.com) or EU (api.eu.opsgenie.com). Click Preview. The key is used for this import only; EvoHub does not store it.
Review the preview
Nothing is created yet. The preview shows People (who matched), Teams (where each Opsgenie team's objects go — by default, your current team), Schedules with their layers, Escalation policies with their steps and delays, Integrations with the EvoHub type each maps to, and every warning. Untick anything you do not want.
You can run the importer again at any time. Items that were already imported are marked and skipped, so a re-run never creates duplicates. Only one import runs at a time per organization.
A schedule imported before that people have joined since shows Add N new people. Tick it and import: they are put where Opsgenie has them in the rotation. If you changed the layer in EvoHub since the import, they are added at the end instead and a warning asks you to check the order. Nobody is removed.
What is imported, and how
Schedules
Each Opsgenie schedule becomes an EvoHub schedule in the same timezone, and each rotation becomes a layer:
- Daily and weekly rotations carry over. A rotation of several days or weeks becomes a custom rotation of that many days.
- Hourly rotations become custom rotations of that many hours (up to 168). Longer hourly rotations are rounded to whole days, with a warning.
- Time restrictions become shift windows when EvoHub can express them: a daily window, or the same window on selected weekdays (such as Mon–Fri 09:00–17:00). A schedule with a restriction EvoHub cannot express (such as Friday 18:00 to Monday 09:00) is not imported; the preview tells you to create that layer by hand, one layer per window.
- Rotations that have already ended are skipped. Rotations that start or end in the future are imported with that start or end date.
Overrides
Every override that has not ended yet comes over with its schedule, for the same person and the same start and end. The preview shows how many each schedule brings. An EvoHub override covers the whole schedule for one person, so these are not imported, and the preview names each one for you to recreate:
- an override on only some of a schedule's rotations, when the schedule has more than one;
- an override handed to a team rather than a person;
- an override for someone who is not in EvoHub yet, or cannot respond to alerts. Invite them or change their role, then run the import again.
If Opsgenie does not return a schedule's overrides, the schedule is still imported and the preview says so. Running the import again adds overrides that are new since; one that is already on the schedule is not added twice.
- Rotation participants are kept in order. A rotation with a team, an escalation, an empty ("no one") slot or the same person twice cannot be imported as it is: its schedule is not imported, and the preview tells you what to change in Opsgenie or to create the layer by hand.
- A disabled Opsgenie schedule is imported as inactive.
Escalation policies
Each Opsgenie escalation becomes an escalation policy, and each rule a step:
- Steps can target a user or a schedule. A rule that notifies a team becomes a step for that team's schedule when the team owns exactly one; otherwise it is skipped with a warning, as are rules that notify another escalation. A rule that notifies a schedule whose rotations overlap becomes one step per rotation, a minute apart.
- Opsgenie counts every rule's delay from when the alert was created; EvoHub counts each step's delay from the step before, using 1, 2, 3, 5, 10, 15, 30 or 60 minutes. The importer converts the delays so each step lands as close as possible to its Opsgenie time and warns about any difference.
- A rule that notifies the "next" or "previous" on-call of a schedule notifies whoever is on call now in EvoHub.
- Opsgenie rules that escalate "if not closed" become steps that escalate until someone acknowledges.
- Repeat settings carry over, up to EvoHub's maximum of 5 repeats.
- Steps use each person's own notification preferences.
Integrations
- Integrations that send alerts into Opsgenie are imported as the matching EvoHub integration type (Prometheus/Alertmanager, Grafana, Datadog, New Relic, CloudWatch, Azure Monitor, Dynatrace, Sentry, Google Cloud, Zabbix, UptimeRobot, Pingdom, Site24x7, StatusCake, Nagios, PRTG, email and API).
- A type EvoHub has no equivalent for is imported as a generic API integration, with a warning to check the payload it sends.
- Integrations that only send out of Opsgenie — Slack, Microsoft Teams, Jira, ServiceNow, Zendesk, outgoing webhooks, Statuspage — are not imported.
- Disabled Opsgenie integrations are not imported.
- Each integration is attached to the first (by name) escalation policy of its Opsgenie team that is imported. If none is, it is created without a policy — choose one on the Integrations page.
What you recreate by hand
The preview lists these under Not imported yet:
- Heartbeats — use heartbeat monitors.
- Alert policies and routing rules.
- Notification rules — each person sets their own notifications.
- Maintenance windows — schedule them in On-Call → Maintenance.
- Team members — Opsgenie teams are not created. Each team's objects go into the EvoHub team you choose in the preview, or your current team.
Also recreate:
- Overrides the preview flagged (see Overrides).
- People who joined after the import, on escalation steps. A re-run adds them to the schedules it imported (see above), but not to escalation policies imported before; add them to those steps by hand.
Run both in parallel, then cut over
Add EvoHub next to Opsgenie
Where a tool supports several destinations (Alertmanager receivers, Datadog webhooks, CloudWatch SNS subscriptions, email recipients), keep Opsgenie and add the EvoHub URL, so both receive the same alerts for a week or two.
The import itself is free. Alerts and notifications in EvoHub are billed by usage — see How billing works. For help planning a migration, contact info@evosync.io.

