Layered approvals in Service Desk
I received a request from management asking if it was possible to set up a ticket/queue with multiple layers of approvals. So, for example, Bob wants to buy a new monitor and submits a ticket for it. The ticket would have 2 layers of approvals needed. Layer 1 would include Bob's immediate supervisor and department supervisor and either could approve. They would be sent the approval notices immediately when the ticket is submitted.
Once either of them approves, then the ticket asks for the layer 2 approvals, which would include some people from Finance. Once layer 2 approval is complete, then the ticket simply remains open (maybe with a status change to "Approved" or something, but this could also be done manually by the ticket owner once they see that the approvals are all complete) until the item is ordered and delivery confirmed, etc. Then the ticket owner would manually close the ticket.
It seems like a Process Template would accomplish all of the above, so I went ahead and tried setting one up (I'm new to these). The ticket submission/approval process all worked as desired in the parent ticket, however, once the 2 layers of approvals were completed, the ticket closed itself automatically, and Process Status changed to Complete.
Is there any way to do this type of layered approval with just 1 ticket? Or do we have to use a Process with a parent ticket to gather the approvals and then have it spawn a child ticket for the actual work to be completed?
Yes, you can use Templates to good effect here to help you. So the difficult bit is to have the right data in the right places to use, so when the user logs a request how do you know who is approver level 1 and 2?? I guess if you load up from AD the user's manager that takes care of level 1 and then default finance for level 2.
You can set the ticket template with a field that shows approval levels, and the templates would work from there so showing the fields required for approval when level 1 is required and the same for level 2 etc.
The main challenge you have is that unless an approver is an analyst in a queue or the submitter, then they are not able to edit the ticket ergo approve the request.
The way we have worked around this in the past is to load hidden fields with the ID of key players, in this case the submitter, approver 1 and approver 2. You can then run a ticket rule when the request is filled in ready for approval and switch the approver ID in as the submitter, email the approver (now submitter) and ask them to approve the request.
The same for level 2 approval.
You also need to plan for rejection at both levels, what data are you going to set back in the ticket etc
This is something we have done for customers a number of times, if you would like our pro services help with this, just get in touch with me for a chat #WeAreQuest
Sorry, I should have clarified in my example. To my knowledge so far, the layer 1 approvers and layer 2 approvers will both be static groups of people. The ticket owner will also be a static person. This will also be a standalone queue, so in theory we could set the approvers with increased permissions in this queue if that's the only way they'll be able to edit a ticket.
The Process Template worked perfectly for our needs other than it closing itself after the approvals were completed. - rayken85 1 year ago