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

Jonathan,

I am experiencing the EXACT same issue.  Were you able to figure this out?  If so what did you do?  If I cannot figure it out, I will have to go back to the old Workflow tool.

@jmiskey @Daniel Draes 

 

I never got this to work with sequential approvals so I had to revert back to the "old" workflow which is a pity. I home someone from ServiceNow can share some ideas on how to work around this issue and also when it will be fixed.

Regards

Søren

I am currently working on sequential approvals if Flow (using a subflow). 

The way I am working around the issue is to use a Flow variable I call 'Approval state'. Each approval activity writes its output to this Flow variable. Because I run each approval in an if statement, you can't access the data pills in the next approval so the Flow variable gets around this restriction.

What I found is that for the approval activities, you only want to set the reject rules, not the approval. If the approval is rejected, the Approval state output is 'rejected', otherwise if its approved it returns 'cancelled'.

So once all the approvals are done, update the request with an 'Update record' activity and set the approval state manually. I use one if statement to handle the 'Approval state == rejected' flow variable value and another for 'Approval state != rejected'. 

This seems to work ok for me. It still stitches the RITM approval field from 'Requested' to 'Not Yet Requested' and back again for each approval but the main thing is that its not being marked as approved until all approvals are processed. I have three separate approvals as shown below:

Capture.PNG

@Dave_H 

Could you please share screenshots of the 1st "Ask for approval" and the "Set Flow Variables"

Here you go

Capture.PNG