Migrating from Opsgenie to Sched

Updated October 16, 2026 · For team leads who used Opsgenie for on-call schedules and Slack paging, not heavy alerting.

What maps to what

Opsgenie reaches end of life in April 2027. Most of what a schedule-focused team used it for has a direct equivalent in Sched; the alerting pieces do not. Here is the honest mapping.

In OpsgenieIn Sched
TeamTeam. The people who share one rotation. Optionally backed by a Slack user group (e.g. @oncall) that Sched keeps pointed at whoever is on duty.
ScheduleRotation schedule on a team: start date, handoff days, handoff time and timezone, optional coverage window, assignees per shift.
Rotation (daily / weekly / custom)Handoff days. Pick every day for a daily rotation, one weekday for weekly, or weekdays only. Order follows the team roster.
Time restrictionCoverage window (e.g. 09:00-18:00). Outside the window the schedule is in a gap; choose whether the group is cleared, keeps the previous person, or falls back to a named person.
OverrideOverride any date from the dashboard: pick a different person (anyone in the workspace) for that day. The regular order resumes afterwards.
Escalation policyNot available. Sched has no escalation tiers, acknowledgements or timeouts. Pair it with an alerting tool if you need escalation.
On-call notification (schedule start/end)Handoff DMs to the incoming and outgoing person, plus an optional announcement in a channel of your choice.
Alert notification (phone / SMS / push)Not available. Sched never pages anyone; it only tells people who is on call. Route alerts with your monitoring tool or a dedicated alerting product.
Who is on-call APINo public REST API. Use /oncall in Slack, the App Home tab, or subscribe to the iCal feed (per person or per team) from your calendar.
Alert integrations (Datadog, Sentry, ...)Not available. Sched has no inbound alert integrations.

Sched asks Slack for five bot permissions: usergroups:read, usergroups:write, users:read, chat:write and commands. It cannot read your messages or channel list.

Step by step: migrate in under 30 minutes

  1. Export your Opsgenie roster. In Opsgenie open Teams → your team → On-call schedules and, for each schedule, write down the participants in order, the rotation type (daily or weekly), the handoff day and time, the timezone, and any time restriction. If you prefer the API, GET /v2/schedules?expand=rotation returns the same data as JSON. Five minutes per schedule is plenty.
  2. Install Sched. Use the Slack Marketplace listing or getsched.dev/install. A Slack admin or owner should do this so the user group permission is granted. You sign in with Slack afterwards; there is no separate account.
  3. Create a team. Name it after the Opsgenie team and add the same people in the same order. If your workspace allows it, let Sched create or link a Slack user group (for example @oncall) so @mentioning it always reaches the current person. If user groups are blocked, choose local-only (see below).
  4. Match the cadence. Create the rotation schedule: set the start date to your next Opsgenie handoff, pick the handoff days (one weekday for a weekly rotation, every day for daily), and set the handoff time and timezone to the values you wrote down. Add a coverage window if the Opsgenie schedule had a time restriction, and set assignees per shift to 2 if you ran a paired rotation.
  5. Pick the announcement channel. In the schedule settings paste a link to the channel where Opsgenie used to post handoffs, then run /invite @Sched in that channel so the bot can post there. Sched announces every handoff as "@new is now on duty (taking over from @previous)". The incoming and outgoing person also get a DM.
  6. Check it. Type /oncall in any channel: it lists who is on call for every schedule. Compare with Opsgenie's Who is on-call for the same moment. If someone is wrong, open the schedule in the dashboard and override that date, or use the manual trigger to run the handoff now. The rotation history view shows what Sched did and when.

Run both tools through one full cycle. Once the handoffs line up, turn off the schedule notifications in Opsgenie. Keep your alerting there (or wherever it moves) until you have a replacement for that part.

On the Slack free plan, or when user groups are blocked

Slack only allows user groups on paid plans, and many workspaces restrict who can create them. Sched detects this at install and offers local-only teams: the roster and rotation live in Sched and nothing is written to a Slack user group.

What still works in local-only mode:

  • Handoffs run on your schedule, with the same time, timezone and coverage window.
  • The incoming and outgoing on-call each get a Slack DM.
  • The announcement channel still gets the handoff post (it @mentions the person).
  • /oncall still answers for the team.
  • The App Home tab still shows your current shift and the next 30 days.
  • The iCal feed, overrides and rotation history are unchanged.

What you lose is the auto-updated @oncall mention group. If an admin later allows user groups, create a Slack-backed team and recreate the schedule there; it takes a couple of minutes. Details in fixing user group permissions and on-call on the Slack free plan.

FAQ

Does Sched page people like Opsgenie did?

No. Sched tells your team who is on call (Slack user group sync, handoff DMs, channel announcements, /oncall) but it does not receive alerts and does not call, text or push-notify anyone. If you relied on Opsgenie for phone or SMS escalation, keep a dedicated alerting tool for that part and let Sched own the schedule.

Can I import my Opsgenie schedules automatically?

Not yet. Opsgenie schedules are simple enough that re-creating them by hand takes a few minutes each: note the participants and their order, the handoff day and time, the timezone, and any time restriction, then enter them as a Sched team and rotation schedule.

What happens if my Slack workspace does not allow user groups?

Create the team in local-only mode. Rotations still hand off on schedule, both people get a DM, the announcement channel still gets a post, /oncall still answers, and the App Home tab still shows upcoming shifts. The only thing missing is the auto-updated @mention group, which Slack restricts to paid plans and admin-approved apps.

How much does Sched cost compared to Opsgenie?

Sched is free for up to 3 schedules per Slack workspace. Pro is a flat $9.99 per workspace per month for unlimited schedules. There is no per-user pricing, so adding people to a rotation never changes the bill.

Can we run Opsgenie and Sched side by side while we migrate?

Yes. Sched only touches the Slack user group you point it at, the people it DMs and the channel you choose for announcements. Keep Opsgenie running for alerting while you confirm Sched's handoffs match, then switch off the Opsgenie schedule notifications.

Move your Opsgenie schedules to Slack

Free for up to 3 schedules per workspace. No credit card, no per-user pricing.