In discussing the use of Service Manager for ITIL Service Desk needs, I have had a few customers desire a way to automate the assignment of a helpdesk analyst/technician. Through Service Manager’s workflow features, this is possible to accomplish with a few basic Orchestrator workflows or RBA’s. The below shows three RBA’s that work together to accomplish the following:
As New IR’s are created that are assigned to a specific Tier (Tier 1 in this example) and other criteria, the ‘RR Tier 1 Assignment’ RBA is triggered:
…As you can see this is a very simple runbook as it simply watches (monitors) for IR’s that are New and meet the criteria as specified in the ‘Watch for IR Assigned…’ object. Once it finds IR’s that meet the criteria, it invokes a second RBA to Assign the IR to a Tech and it looks something like this:
…Before we can figure out which Tech to assign, we first have to find out who is next in line to be assigned an IR. We do this through the third RBA which grabs the current position of the current RR Counter and either increments it by 1 (the next Tech) or resets back to the first Tech in line (if it is determined that the last Tech was indeed the last one in line:
…Once we determine that, we pass back the proper position (counter) value to the ‘Assign IR to Tech’ RBA and go through the process of getting the UPN what is at the proper position and finally assigning them to the IR which triggered this process in the first place.
Sound complicated? It might at first, but once you get your head around how Orchestrator works, it is fairly straight forward. You might ask why I created three different RBA’s vs. one big one to achieve the same goal. The response is two-fold – one – doing it this way allows for the IR’s that get submitted to be assigned 1-by-1 in the event more than 1 IR is picked up by Orchestrator to process. By having the initial RBA simply monitor for new IR’s and invoking the RBA that actually does the work, I essentially control this in a true sequence vs. an asequence set of events. The reason I created a different RBA for the Counter workflow is so that I can more easily make changes to the selection process. For example, maybe instead of round-robin, you prefer just a random selection method, or maybe you also wish to add logic to determine if a tech is off on vacation and therefore need to skip to the next available, and so on. Keeping this within its own RBA helps modularize this for any enhancements in the future.