SLAs on Approvals? (sysapproval_approver) Is it even possible?

howard8
Tera Contributor

Hi All,

 

I have a business requirement to impose performance targets on the approval/rejection of changes, to ensure that our approvers follow the timing of our CAB process. We have several groups sent separate technical approvals at the same time (application approval, infrastructure approval, security approval). I want to put an SLA on each approval but is seem that SLA definitions only work for tables based on the Task table. Approval records are on sysapproval_approver which is not based on the task table. Because approvals run in parallel it's difficult to link the SLAs to the parent record (change_request).

 

Has anyone ever tackled this scenario? What was your approach?

 

Thanks in advance.

 

Howard Elton

14 REPLIES 14

you are correct that is going to cause major issues because of the way sla's work.. you can't simply copy a br to a new table and have it work like you can for metrics.. have you opened a hi ticket to ask them for help?




my next thought would be a scheduled action to send an email reminder of all change approvals that are over a set age..


marcguy
ServiceNow Employee
ServiceNow Employee

you could use a metric definition and store the timings as metrics.



alternatively add a duration type field to sysapproval_approver and have a BR to calculate a duration from created to approved.



Marc


Badal Bhat1
Mega Contributor

Hi Howard,

 

Did you find any solution for this problem? I also, got the same requirement from one of our client. so, i would request you share your approach on this.

warren_chan
ServiceNow Employee
ServiceNow Employee

Old thread, I know, but figured I'd share my solution. 

I ended up creating a new, custom table called "Approval Task" [u_approval_task] that is a direct descendent of the Task table. I gave it a very basic form with just a few fields necessary for me to run my SLA. Permissions were locked down to everyone. Through workflow and business rules, the Approval Task record would be generated automatically when a new Approval was inserted into the sysapproval_approver table. I set up a business rule to close the Approval Task whenever the real Approval was completed.

I then set up the SLA definition in accordance to the Approval Task table, which for me was basically start at State = Open, and stop at State = Closed Complete.

In a nutshell, I put the SLA two hops away from the Approval record, but it does everything I need since I was primarily interested in running the SLA workflow. This was more practical for my use case since we had constraints around Schedules, and running a daily scheduled job to make those same determinations wasn't a feasible option.

Sam Chan
Tera Contributor

We are on Rome.  Is there an OOTB option?