Flow designer sequential approvals

Jonathan63
Tera Contributor

 

I am trying to create sequential approvals using the flow designer so that I can have multiple levels of approval on a single catalogue item.

In the legacy workflow, I can create multiple approval steps without impacting the parent RITM record, and I can then set the approve or reject value based on the outcome of those actions.

With the flow designer, when the first approval is approved, the flow sets the approval field on the RITM to "Approved", then changes it back to "Requested" when the next approval in the sequence is generated. I have tried removing the "Approval field" from the action config but this hasn't made any difference. This is of course unacceptable behaviour because we will have multiple updates for approved and requested on the RITM...the RITM approval field should only update once all approvals in the sequence have been approved or rejected.

How can we achieve this behaviour with flow designer?

I have seen this forum post which about the same issue but the solutions in the replies are unfortunately not working:
https://community.servicenow.com/community?id=community_question&sys_id=00d918b1db63941011762183ca96199c

 

Cheers

39 REPLIES 39

Daniel Draes
ServiceNow Employee
ServiceNow Employee

Indeed, flow designer approvals work a bit different then good old workflows. We are aware of that and will update this feature somewhen in the future.

For now you basically have a few options to make it work.

 

A) Use separate approval fields

The Approval step has a setting which field is storing the approval state. It defaults to the 'Approval' field on task table. You can create additional fields and point every approval step to another field. Like one 'Manager Approval', 'Department Approval' etc. Each step has to configured to use the respective field.

 

B) Use separate catalog tasks

For each approval create a new catalog task first and run the approval there. This way you basically use the same idea as in 'A', but separate on new records. 

 

C) Combine the needed approvals in one step

Instead of using multiple approval steps just use one step only. You might need to use some scripting in that one to collect all approvers (users and groups) as you need them. Check out this excellent blog on how-to:
Scripted Approvals in Flow Designer with Flow Vari... - ServiceNow Community

Thank you for this response, Daniel.

Looking forward for future versions to have a better approach for this.

Thanks for sharing Daniel 🙂

 

Regarding option A:

 

I have tried removing the approval field in the first approval (line manager) so that the RITM would not be updated when the first approval is run - it did not work. RITM still gets "approved" briefly and then moved back to "requested"

 

Removing the approval field also might have a drawback - what if the first approver (line manager) rejects the approval - then the RITM might not get changed to "Rejected"

 

Do there always have to be an approval field ? as you state "use another field" - why not just empty the field in the flow ?

 

Regards

Søren

Yes, you do need an approval field - i guess without one it just falls back to the standard internally.

Your logic to stop the process once one 'reject' happened needs to be built into the flow with some if conditions.

Hi Daniel

 

I still cannot get it to work.

 

Below is how my line manager approval is set up:

s_renjarnbo_0-1678114973889.png

... but the RITM approval field is still updated when it should not:

s_renjarnbo_1-1678115044226.png

strange thing is that my new approval field "LEO Approval" which is just a string field is also updated to "approved" - which I would expect.

 

Any suggestions ?

 

Regards

Søren Jarnbo