Approval Delegation to scope to Specific HR Service

Sruthi17
Kilo Sage

Hi All,

I'm having a requirement that is when a delegation request is submitted, I wanted to allow only specific approvals to be delegated. 
For example: A approver "Abel Tutor" has 10 approvals, 5 approvals for Service A and 3 approvals for Service B and 2 approvals from Service C. 
After Abel Tutor submits this Delegate request to  approver "Sam". Sam should only be able to approve only 5 approvals from Service A. Sam should not have access to approver others.

Could someone help me understand whats the best way to implement this?

Thanks in advance

1 ACCEPTED SOLUTION

Dr Atul G- LNG
Tera Patron
Tera Patron

Hi @Sruthi17 

Did you try the granular delegation module? It’s the feature that gives users the flexibility to provide delegation on specific tables as well.

 

https://www.servicenow.com/docs/bundle/yokohama-employee-service-management/page/product/employee-se...

 

*************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.

Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/atul_grover_lng [ Connect for 1-1 Session]

****************************************************************************************************************

View solution in original post

5 REPLIES 5

YaswanthKurre
Giga Guru

HI @Sruthi17 ,

 

Understanding OOTB Delegation Limitations:

  • OOTB Delegation (sys_user_delegate table): When you delegate approvals using the standard feature, ServiceNow essentially makes all sysapproval_approver records where the original approver (Abel Tutor) is assigned visible and actionable for the delegate (Sam). It doesn't allow filtering based on the type of service, record, or any other criteria. The approver field on the actual sysapproval_approver record often remains Abel Tutor, but the UI redirects Sam to see and approve them.

Recommended Approach: Custom Delegation Logic:

To achieve your requirement, you'll need a custom solution that bypasses or works in conjunction with the OOTB delegation, focusing on:

  1. A custom way for the delegator to define partial delegation.

  2. Custom logic to display only relevant approvals to the delegate.

  3. Custom security to prevent the delegate from acting on unauthorized approvals.

Mark this as helpful and correct if this answers your question.

 

Thanks,

Yaswanth

Chaitanya ILCR
Kilo Patron

Hi @Sruthi17 ,

you can create a DenyUnless Write ACL on sysapproval_approver table

with your logic on script on how to identify who should be responsible for which service approval

since these details are not share and you got the idea of it put the logic in the script of the ACL

ChaitanyaILCR_0-1749790072407.png

 

or if you want to hide the approvals entirely create a deny unless read acl

 

Please mark my answer as helpful/correct if it resolves your query.

Regards,
Chaitanya

 

Ankur Bawiskar
Tera Patron
Tera Patron

@Sruthi17 

You cannot directly control this via delegation as delegation will give Sam access to everything that's under Abel

To handle this you can use before update business rule on sysapproval_approver and see if the logged in user/approver has approval access to those approval records

If not then throw an error message and abort the update.

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Sruthi17 

Thank you for marking my response as helpful.

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader