Round Robin Assignment in Service Manager – Part 2: SCSM Setup

Author by Christopher Mank

In this second part, I am going to show how each of the pieces from within Service Manager work. To follow along and work with the exact solution yourself, I've posted all the needed files on the Microsoft Gallery, which you can access here. The solution files are broken out into 3 folder. A description of each is found below: 

Cncy.RoundRobin.Library

This folder contians the sealed MPB of the Round Robin class object, associated properties, relationships and custom form. The MPB also contains extensions to some other out-of-box classes needed for the solution. 

CNCY.SCSM.CustomForms

This folder contians the full Visual Studio solution files that were used to build the custom Round Robin form for the SCSM console. Feel free to further customize the form to your liking. 

Orchestrator

This folder cntains the exported Runbook that actually does the assigning. All the details of how this Runbook works will be found in Parts 3 and 4 of this blog series. 

So here is how it works. All you need to do to get this imported into your own environment is import the Cncy.RoundRobin.Library.mpb Management Pack. 

  • ​​​​The MPB creates a new class of object called Round Robin. The form is shown below. How it works is for every Support Group you wish to have Round Robin capability, you create a new Round Robin object. As you can see below, enabled for the "Service Desk" Support Group. The Support Group enum maps directly to the same one found on the Incident form. 

 

  • You will need to create a View for the new Round Robin class. You can store this view in any MP you see fit (new, existing, etc.).

 

  • There is an AD Group relationship, which maps to the Microsoft.AD.Group class. This is how the Runbook (which we'll see later on) knows which AD group to query against to find the next user to assign Incidents to. The form also contains as IsActive flag, which gives you a quick way to disable the functionality temporarily if needed. 

RRB2-(2).png

  • That last notable property that is stored on the Round Robin (which I didn't expose  on the form but you could) is the LastAssignedUser. This contains the Distinguished Name of the last user that an Incident was assigned to. This assists the Runbook in knowing where it last left off. This also allows you to go to the History tab of the Round Robin object to see a running history of when users were assigned to Incidents. 

RRB2-(4).png

  • The MPB also contains some class extentions to the User class. These extensions are shown below. The first is the IsRoundRobinEnabled property. This is for the scenario where you have a member in your Support Group who you don't want to include in the Round Robin. So instead of creating a new AD group and removing that user from the membership, you can just flag their user so the Runbook will not assign them any Incidents. This is great for Managers. 

 

  • The other extensions are for Out of Office. This way when an analyst is going to be out of the office on vacation or for any other reason, the Runbook will not assign them any Incidents even though they may be Round Robin Enabled. A great way to facilitate this would be to offer a self-service request on the portal that sets the user's Out of Office in SCSM. 

RRB2-(6).png

  • That's all there is to it. Stay tuned for Part 3 where we'll dive into the Runbook and exactly how it works and assigns a new user to an Incident. 

Stay Tuned! Part 1: IntroductionPart 2: SCSM Setup (this post), Part 3: Orchestrator Setup, Part 4: Get Next User Script

Until the Whole World Hears,

Christopher

Author

Christopher Mank

Systems Architect