Migrating Five Teams Off Opsgenie: The Tool Was the Easy Part

May 13, 2026

We moved every team off Opsgenie and onto BetterStack. I expected the hard part to be the migration. It wasn’t. The hard part was admitting our on-call was bad, and that the tool had been quietly hiding it.


Five teams, one shared paging setup, and a quiet agreement that nobody fully trusted the alerts. That was the starting point. Opsgenie worked fine. The problem was never Opsgenie.

When you migrate a paging tool you can’t just copy the config across. You re-enter every escalation policy, every rotation, every routing rule by hand. Which means you read all of them. And reading all of them is where it gets uncomfortable.

Half our rules paged a human for things that auto-resolved in two minutes. Some escalation policies pointed at people who had left. One team’s “critical” alerts routed to an inbox nobody had opened in months. The tool had faithfully delivered all of this for years. Migration just turned the lights on.

So the BetterStack move became a cleanup disguised as a migration. For each of the five teams I rebuilt:

Then the integrations, which is where a paging tool earns its keep. Prometheus and Grafana fed alerts straight in, uptime monitors covered the external view, and notifications fanned out across email, SMS, phone call, Discord, and mobile push, escalating in that order. The goal was never “more channels.” It was that a real page reaches you through something you can’t ignore, while everything else stays out of your face.

One thing I didn’t expect was how much time I would spend talking to BetterStack’s own engineers. Their mobile app had rough edges when we leaned on it hard. I reported them, they shipped fixes, and the integration got better because we were loud about what broke. A vendor relationship is a feature, if you treat it like one.

The lesson I walked away with is boring, and I believe it completely: for us, the tool itself was the least important part. Opsgenie, BetterStack, PagerDuty, they are all fine. What decides whether on-call is humane is the part the tool can’t do for you: alerts that only fire when a human is genuinely needed, escalation that reaches a real person, and a runbook that is one click away. The migration was just an excuse to fix those.

Looking back, the cleanup was the part that mattered. We could have done most of it without switching tools at all.