Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

/genie whoisoncall - why is the ordering non-deterministic (or missing rotation labels)

Kevin Durdle April 7, 2021

Recently ran into an unexpected source of confusion with the opsgenie slackbot.  Specifically, querying whoisoncall returns the participants in a non-deterministic order, and without the rotation label. 

Our setup is fairly simple.  We have a single organization, with a single oncall schedule, that includes two rotations (Primary, Secondary).  

I see the following via slack, where engineer-1 is primary, and engineer-2 is secondary. This is good. 

/genie whoisoncall
Only visible to you #(me)
Oncall Schedules:
my_organization_schedule Participants: engineer-1, engineer-2

However, a peer of mine has observed the following

/genie whoisoncall
Only visible to you #(peer)
Oncall Schedules:
my_organization_schedule Participants: engineer-2, engineer-1

This feels incorrect - either they should be ordered based on rotation ordering, OR, the name of the rotation should be included as follows:

Oncall Schedules:
my_organization_schedule Participants: Secondary: engineer-2, Primary: engineer-1


Question: Has anyone else observed this behavior, or found a solution? 


2 answers

1 accepted

0 votes
Answer accepted
Justin Sitarz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 23, 2021



Addresing Kevin's question:


In the scope of Opsgenie's schedules, there isn't exactly a concept of order to the rotations - each rotation within a schedule is considered to be on-call, so any user or entity on-call at a particular time for each rotation is also on-call within each schedule.

When routing a normal alert to that schedule, if there are multiple entities on-call on different rotations, each will receive a notification in the same way.


To address Logan's question:


If a phone call is routed to a schedule with multiple on-call participants, though, it will select randomly who is dialed (which is why I generally don't recommend configuring call routing this way).

If you're wanting a true primary, secondary, backup, etc. hierarchy in your on-call flow, it's recommended to set up each as its own schedule, instead, so that you can route to each in turn via an escalation policy. Then, you will also get more useful information in the /whoisoncall command in Slack - it would then return your full primary, secondary, etc. on-call schedules.


Let me know if that helps to answer your questions - thanks!



0 votes
Logan Broitman April 9, 2021

Hi Kevin,

Experiencing a similar issue with a schedule with 2 rotations and a phone integration, OpsGenie appears to be picking randomly between the 2 rotations in the schedule to call first.

We thought it may have been alphabetical, but ruled that out by editing one of the users names.

Wondering the same, if anyone else has a solution

Suggest an answer

Log in or Sign up to answer
Site Admin
AUG Leaders

Atlassian Community Events