Skip to main content
Atlassian is retiring Opsgenie. Sales ended on 4 June 2025, support ends on 5 April 2027, and Atlassian deletes unmigrated data on that date. There is no official portable export, so the REST API is the only supported way to get your configuration out — and it keeps working right up until support ends. WHAWIT reads it for you. In On-Call Configuration, choose Import from Opsgenie: paste an API key, review exactly what will be created, apply.
The import only ever reads from Opsgenie. Nothing in your Opsgenie account is modified or deleted, and your existing rotations keep paging while you evaluate the result.

Before you start

In Opsgenie, go to Settings → API key management → Add new API key and grant it Read and Configuration Access.Use an API-key-management key, not an integration key. A key that belongs to a single team only sees that team’s data, so the import would silently come back with a fraction of your account.
Opsgenie splits its API in two, and one key cannot do both halves. The API-key-management key above reads your configuration; creating, acknowledging and closing alerts is blocked for that kind of key. If you want WHAWIT incidents to keep flowing into Opsgenie while you cut over, add an API integration key from Settings → Integrations → API in the API Integration Key field — on the Opsgenie card under Integrations, or on the connect step of the wizard when you save the connection.Skip it if you are migrating off Opsgenie and do not need alerts to keep arriving there. The import does not use it.
Accounts live on either api.opsgenie.com (US) or api.eu.opsgenie.com (EU). A key is only valid on its own region — if the connect step reports that the key was rejected and you are certain it is correct, try the other region.
You need the on-call configure capability, the same one that lets you create a schedule by hand. Owners and admins have it.
The import creates entities in the organization and project you currently have selected. Switch to the right one before you start.

Running the import

1

Connect

Paste the API key and pick the region. Optionally tick save this connection as an Opsgenie integration — useful if you also want incident sync while you run both systems in parallel.If you leave it unticked, the key is used for this read and then discarded. It is never written to the database, and it never appears in a log line. When you do save it, it goes to Google Secret Manager like every other credential.
2

Preview

WHAWIT reads your users, teams, schedules and escalation policies, maps them, and shows you the result before anything is written. Nothing has been created at this point — not an entity, not an invitation, not a secret.Untick anything you do not want. The counts at the top follow your selection, so you can see exactly what a partial import would produce.
3

Import

People are invited first, then teams, then schedules, then escalation policies — in that order, because a rotation cannot reference someone who is not yet a member of your organization.The final screen reports what was created, any invitations that failed, and everything that could not be migrated automatically.

What comes across

Every imported escalation level notifies by email. Opsgenie’s per-user notification rules do not have a WHAWIT equivalent, so nothing decides for you that a level should also send SMS or WhatsApp. Add the channels you need per level after importing — and fill in phone numbers first, because a user without one is skipped for those channels.

Nothing you already have is touched

The import is strictly additive. If an incoming team, schedule or policy has the same name as one you already have, WHAWIT creates it as Name (OpsGenie) rather than overwriting yours, and tells you it did. No pre-existing entity is ever modified or deleted.

What does not come across

Every import ends with a report naming these explicitly, so nothing disappears quietly:
Your Datadog, Sentry, CloudWatch and similar integrations are listed but not recreated. Reconnect each source natively in WHAWIT — connecting the source directly is what gives you the investigation, which an alert forwarded from Opsgenie cannot.
Listed with their criteria so you can see what you had. Route with escalation policies and per-agent defaults instead.
Per-user notification rules, alert policies and notification policies have no direct equivalent. See the warning above about channels.
Not migrated. WHAWIT covers this ground with its on-call agents.
Not migrated. This is deliberate, and every tool in this space does the same: history belongs to the system that produced it. Keep Opsgenie reachable until you no longer need to look back.

After the import

Run through this before you turn Opsgenie off. The first two are where migrations actually go wrong.
Preview resolves a policy as if an incident had just fired and shows who would really be paged at each level, with the imported rotations and overrides applied. It is the cheapest way to find a coverage gap, and it takes seconds per policy.
Open each imported schedule and look at the shifts it produces across a whole week. Restrictions that do not quite meet leave a window where the schedule resolves to nobody — visible instantly here, invisible until 3am otherwise.
Opsgenie users who were not already members are invited by email. They appear in the directory as invited, and paging works once they accept. Any invitation that failed is named on the final screen — those people are left out of the imported rosters rather than silently referenced.
Imported levels notify by email only. Add SMS, WhatsApp, Slack or Teams per level where you need them, and make sure the people on those levels have a phone number on their profile.
One policy should be the organization default. It catches any incident raised by something you have not explicitly configured.

Troubleshooting

The key exists but does not have what the import needs. Recreate it under Settings → API key management with Read and Configuration Access. If the key is definitely right, check the region — an EU key fails against the US endpoint and vice versa.
You are almost certainly using a team-scoped integration key, which can only see its own team. Use an account-level API-key-management key.
Its rotations had no participants WHAWIT could resolve — usually because they pointed at an Opsgenie escalation rather than at users or a team. The preview names each one. Add the roster by hand after importing.
You excluded a schedule or team that an included policy escalates to. Include it, or fix that level after importing — the preview flags it before you commit, precisely so it is not discovered during an incident.
Opsgenie rate-limits configuration endpoints, and WHAWIT backs off and retries rather than failing your import. A big account takes a little longer; it does not need babysitting.

Running both systems in parallel

You do not have to cut over on import day. WHAWIT can ingest Opsgenie alerts while your Opsgenie rotations stay authoritative, which lets you compare WHAWIT’s investigation against what your team found on real incidents. Import the rotations whenever you are ready, verify them with Preview, then turn off the old escalation.
Migrating a large account and want a second pair of eyes on it? Email [email protected]. If something is not resolving the way you expect after importing, [email protected].

Next

Schedules and rotations

Adjusting the layers and restrictions that came across.

Escalation policies

Previewing the imported chains, and adding channels per level.