Changing Approver on Existing Approval
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2023 05:14 PM
Trying to find out the correct procedure to change the user/approver on an existing Approval Request. In the below,example, Erica is the current approver. But she is not correct, a diffferent user needs to be choosen.
Also (as some searches said change the approval record), the approval record is read only and controlling policy can not be found.
Going back to the approval list, clicking on the Edit button allows a new user to be added to the approver list.
Editing the State of the new approver from Not Yet Requested to Requested is next.
SO... the big question I have is what to do next with the original requestor. Choosing Approved or Rejected will either move the approval ahead by the wrong approver or will cause the approvel to be rejected which affects the workflow.
Of the remaining 3 choices I am not sure which to choose. I think over time I have choosen each and some just advance to workflow and the new approver (Ken Shaw in example) does not need to approve. If I leave the old approver as Requested, even if Ken approves, the approval is still waiting for Erica to approve before the workflow advances.
I am trying to figure out the correct steps to take to change approvers
Thanks in advance for help.
Ken
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-01-2024 09:44 PM
What we have done here is all using UI Actions / UI Pages, so it won't copy/paste to workspace. Our change management system is still on the old UI so it hasn't been migrated. It wouldn't be challenging to migrate but we haven't had the need to yet.
Do you have any specific questions or items you are curious about? It's a pretty straight forward system in that it sets approvals and allows emails to be resent. We use our CMDB as the source of truth for who can approve what as well.
Tasks such as "Change Approver" are pretty straight forward because we change the approver, flip to Requested and the email is sent.
Let me know how I can help!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-02-2024 12:46 AM - edited 10-02-2024 12:46 AM
hi @TrevorK ,
I would like to know how your are triggering approvals here? via flow or any BR is running
We have a flow in our system which is responsible for triggering the approvals..now that we are going incorporate such ui action ..user_id taken as input should be passed to the existing flow and flow should be re-executed...I am trying to figure out how can I achieve this?
Any thoughts if you can share here?
Many thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-02-2024 01:02 PM
The entire Change Request is encapsulated in a single flow (workflow, we haven't updated it to flow since it works fine). In our Change Management process we have different steps for approvals: approval to build / test (we removed this one a couple years ago), approval by the Change Management team that the change can proceed to implementation, Implementation approvals, Post-Implementation approvals. There can be a couple other approvals thrown in.
Because we have a single flow for our entire change, restarting it is not possible. Or rather would be very technically challenging with our complex scenario. Therefore we switch the name on the approval record itself (which triggers the audit history to show previous / current values). That was deemed acceptable in our case - we didn't need to have a visual indicator an approver was changed but rather just the ability to audit if needed (via audit logs).
If you were to take a similar approach - changing the approver name and resending the approval email - you would have no need to restart the flow (or even touch the flow). It would progress as expected when the approval record is saved as approved / rejected.
If this is your only approval for a change then stopping the flow and starting again would be reasonable since it's easy to do and has no impacts. If you have multiple approvals, I'd probably ask myself whether your Change Management process derives value from showing a "skipped" approval record and if not, I'd keep the large single flow and just change the approver (relying on the audit log to capture it was changed).
One thing I teach is asking yourself what is the value of something you want to do. Everything should add some sort of value and your job is to minimize the time it takes to add that value. Therefore, if there is no value is creating a new approval record just re-use the existing one as that provides the most value for the time you spend.
In short, if you change the user on the approval record itself you have no need to change the flow as it's waiting for an approve / reject / other status change and shouldn't proceed forward on other approval record changes (such as approver). This is what we do and our auditors are fine with it since the actions is documented in the notes / audit history of the approval record.
Ask away with any other questions!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-09-2025 12:20 PM - edited 01-09-2025 12:26 PM
For anyone reading through this needing a simple way to swap out one approver for another without impacting or re-running the workflow, I found a straightforward (albeit manual) way to do it on-the-fly (though it could be scripted).
Before starting:
- This assumes the target record is still in a 'Requested' approval state
- Our workflow is in Flow Designer, though it should not matter
- Unsure if this works for group approvals (test it, let me know!)
ACL Modification - Enables edits to the 'user' field on sysapproval_approver records.
- Navigate to https://<instance>.service-now.com/nav_to.do?uri=sys_security_acl.do?sys_id=349357410b02020066fce240e0ea60fb or locate the sysapproval_approver.approver WRITE ACL.
- Elevate permissions as needed.
- Either a) enable Admin overrides, or b) add an additional required role (e.g. admin)
- Update the record
Editing the Approver
- Navigate to a sysapproval_approver record (list view is also fine)
- Edit the Approver field, update the record
- Once done, the workflow will recognize when the (now modified) approval record has approved or rejected.
Hope this helps someone!
Note: if by chance this is a terrible way to do this, please educate me! I love to learn! This works for us though and thus far no one has raised an issue.
Edit: Apparently this is not technically a supported feature and you may run into workflow issues as a result of performing this action. Be careful and test thoroughly. However, it does seem to work perfectly fine for single-approver use-cases.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-09-2025 01:02 PM
The only comment I would make is if your users want an email indicating they have an approval waiting you may need to slightly change your process. For us we set the new approver then the state to Not Yet Requested and save. Then we set the state to Requested and it resends the email
Another way would be to have a business rule re-trigger the event.
We find a lot of users still like the email for approvals so for us it's key to send that back out.
This would need to be different for group approvals