• Products
  • Get started
  • Documentation
  • Resources

Build an on-call schedule

An on-call schedule is used to determine who is on-call at a given time.

Watch Setting up on-call schedules on Youtube.

With Opsgenie, an on-call schedule is automatically created when the team is created. Opsgenie supports creating and managing on-call schedules in just a few short steps. Admins (and team admins) can set up schedules with daily, weekly, and custom rotations.

To create a schedule, go to your team’s dashboard and under the On-call tab, following Escalation Policies, are your at-a-glance On-Call Schedules.

Click Add Schedule and fill out the form to build the new desired On-Call Schedule.


Name: Give the schedule a name using only letters, numbers, underscores, and periods. You will use this name when configuring the on-call schedule in your team’s Routing Rules.

Timezone: Select the appropriate time zone and click save.

How do I define a rotation?

A rotation is group of people who rotate through the same shift. You can provide multiple rotations for a schedule; and rotations can be restricted to specific time periods. When an alert is escalated through the schedule, all on-call users in all the different rotations are notified (cumulative).

Opsgenie supports multiple rotations with different participants, rotations and time intervals to be defined for a schedule. When a schedule is being used to determine who should be notified, all on-call users from different rotations are notified

To define rotations first click on the + Add rotation button next to the “Rotations” section to begin populating your schedule.

An screenshot showing the location of Add rotation button in an Opsgenie schedule.


As rotations are defined, Opsgenie automatically calculates and displays who will be on-call and when, according to the parameters below:

Starting date and time indicates when the rotation becomes active. Scheduled rotations are calculated from this date and time. The time is often particularly important as it becomes the handover time for on-call responsibilities (e.g. start of business day vs. start of actual day at midnight). Default rotation start time is 08:00.

End date and time indicates when the rotation ends and becomes inactive. No on-call rotation can be used after the specified end date of the rule. End date is optional; if it's left unspecified the rotation will continue indefinitely.

Participants can be users, teams, and escalations. A user can be included multiple times for more frequent participation in the rotation. Order of the participants can be changed by dragging and dropping the participants in the list. Each participant is assigned a color and is represented with that color in the schedule preview.

Rotation can be daily, weekly, or custom. Select daily rotation if participants will rotate every 24 hours starting from the specified starting date and time. Select weekly rotation to rotate participants every week starting from the specified date and time.

Rotations can be restricted to certain days and times of the week. Limiting the time frame of the rotations allows defining different on-call rotations at different time periods, such as working hours, off hours, and weekends. Rotations are cumulative. If the time frames for rotations overlap, all the rotations apply, hence there may be multiple participants assigned to be on-call at the same time.

How do I view my personal schedule?

Users can view and export schedules assigned to them by using On call schedule tab under My profile on the Settings page.

Users can also simply visit their On call schedule by clicking When am I on-call? in the profile fly-out menu on the top navigation bar.

How do I set up escalations?

Escalation options on the Free and Essentials plans don’t include: Notify Group, Notify next user in schedule, Notify previous user in schedule, Notify random member of team, and Repeat options.

To unlock these options, upgrade to the Standard or Enterprise plan.

When multiple users are specified as the recipients of an alert, Opsgenie notifies each user at the same time according to their notification preferences. However, notifying users in a desired order is required in most cases, instead of notifying all of them at once.

Escalations are used to notify the recipients of each rule according to the given order and timeline to meet this requirement. When the Team Routing Rules use an escalation to notify users for the alert, the escalation rules will notify their recipients when the specified time is over and the state of the alert meets the specified condition.

Each escalation rule can have one of the following as its recipient:

  • A single user

  • On-call user(s) in schedule

  • Next on-call user in schedule

  • Previous on-call member of a schedule

  • All members of a team

  • Admin(s) of a team

  • User(s) of a team

  • Route to team

  • Random team member

While adding rules to an escalation, a condition for the rule to notify its recipient should be specified. Each rule can have one of the following as its notify condition:

  • Alert is not acknowledged

  • Alert is not closed

If an alert is either acknowledged or closed when the time comes for an escalation rule with the condition “alert is not acknowledged,” the recipient of this rule will not be notified. On the other hand, if an alert is closed when the time comes for an escalation rule with the condition “alert is not closed,” the recipient of this rule will not be notified.

How do I set up an escalation policy?

Escalation policies can be configured from the On-call tab of a selected Team’s dashboard.

Escalations also have an option of repeating. When the time for the last escalation rule passes and there is still at least one rule with a matching condition of alert state, the escalation policy will be executed from scratch after the time for repeating after (if one is specified) passes. Please note that if the alert is acknowledged and all escalation rules have the condition of "if alert is not acknowledged" or if the alert is closed, the escalation will not be repeated.


When the Team Routing Rules have an escalation to route the alerts, Opsgenie uses that escalation policy to determine who should be notified when (in what order). In addition, a default team escalation policy is created automatically for each team. When a team is added to an alert, the routed escalation policy of the team is used to determine who should be notified, and when. The following is an example escalation of a team:

A screenshot showing a sample escalation policy in Opsgenie.

The default team escalation policy is a good example to understand escalations. Using this escalation policy, Opsgenie will first send notifications to the on-call user(s) based on the on-call schedule. On the example above, on-call users can view and acknowledge/close the alert. If/when the alert is acknowledged or closed, escalation policy stops. If the alert is NOT acknowledged or closed after 5 minutes, then Opsgenie will execute the second escalation step and notify the next user on rotation. Finally, if the alert is still not acknowledged or closed after 10 minutes, the third escalation step is executed and all members of the team are notified.

How do I manage exceptions?

There are times when your on-call users go on vacation, need to swap shifts or cannot respond to alerts in general.

For these situations, Opsgenie provides ad-hoc schedule exceptions, i.e., overrides, allowing schedule modifications without altering your schedule (rotations) settings. Overrides can be defined by admins or team members.

A team member can take the on-call responsibility for the time interval he/she specifies. Team admins can define overrides for other members of the team as well. A schedule override replaces all on-call users from different rotations of the schedule.

An image showing how to override an existing on-call schedule.

Schedule overrides can be created by users or by an admin on the account.


Opsgenie also provides Forwarding Rules which enable users to forward all notifications to another user.

Can I override a specific rotation?

It is possible to define an override to take on-call from one or multiple rotations of the schedule. To manage this, specify rotation names while creating the override.

If an override is defined to take on-call from specific rotations, rotation names will be shown on the override tooltip. Also in the final schedule, overrides that are defined for specific rotations will be shown just on these rotations.



 

Additional Help