
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-18-2022 11:06 AM
We're working on configuring granular approval for all the approvals that we currently use in the system.
For the most part, this goes swimmingly, but I have some trouble adding granular delegation for a non-task table.
Use case
When a new record is inserted in ast_contract, we ask a certain manager for approval. This approval can then be delegated using granular delegation.
How we tried to configure this
Per Willem's suggestion in this community post, we added ast_contract to the "Delegation Rule Tables" and then created a delegation rule to include all contracts with the condition "active=true".
The result
When creating a new contract that's been send to approval, this contract is not visible for the delegated user.
We tried this with the 'old' delegation feature, and then the contract is visible.
Is this scenario supported?
I suspect the scenario of delegation a non-task table isn't supported by granular delegation. I tried debugging the getDelegatedApprovalsForUser function, but couldn't find it.
Is this scenario supported and should I look at our configuration again, or can I give up? 😉
Solved! Go to Solution.
- Labels:
-
HR Service Delivery

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-18-2022 01:31 PM
Figured this one out myself.
Short answer: Yes, this works and is possible.
I replayed the use case on a fresh PDI and confirmed it was working as expected.
On our company instance I noticed that I had to make the following change:
- Open Employee Center -> To-dos Configuration
- Open the "Approvals" one
Confirm that under conditions you have the following conditions as well:
Sys ID is javascript:new global.ApprovalDelegationUtil().getMyAndDelegatedApprovals()
OR
Approver is javascript:new global.ApprovalDelegationUtil().getApprovers()
After adding this condition, it works as expected.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-18-2022 01:31 PM
Figured this one out myself.
Short answer: Yes, this works and is possible.
I replayed the use case on a fresh PDI and confirmed it was working as expected.
On our company instance I noticed that I had to make the following change:
- Open Employee Center -> To-dos Configuration
- Open the "Approvals" one
Confirm that under conditions you have the following conditions as well:
Sys ID is javascript:new global.ApprovalDelegationUtil().getMyAndDelegatedApprovals()
OR
Approver is javascript:new global.ApprovalDelegationUtil().getApprovers()
After adding this condition, it works as expected.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-24-2022 07:32 AM
Was there any other configurations you had to setup to get the approvals set?
I'm trying to do this for change and catalog items but the approvals don't drop into the delegates approvals currently.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-25-2022 01:51 AM
Hi Glenn,
Not really. After we made the adjustment to the to-do record, approvals get delegated.
I did run into an issue with pre-existing approval records older than 7 days. By default older records do not get delegated (see this post with a very helpful answer: https://community.servicenow.com/community?id=community_question&sys_id=f2170d801bfec1500ccc85176e4bcb53 )
New records do get delegated correctly for us. We've added the "change_request" and "sc_req_item" table to the delegation rule tables, and experience no issues as of yet!
Another issue might be if the delegate does not have the appropriate roles. We had to play with the approver_user and itil-roles for some users, in order to get certain records to show.
As a way of troubleshooting, sometimes I would add a record in the "old" delegate table to see if the records would show up that way, to get a better perspective of what the fault may be.