Flow Designer - sequential approvals bug?

SNNoob
Tera Expert

Hello smart people!

I've built a flow designer flow for a Service Catalog item. In it, there is a 3 stage approval process (if 1st level approves, guest to 2nd level approval, etc.). See below picture.

However, weird thing is happening. If the 1st level approver approves it, the flow goes ahead and it creates an approval request for the 2nd level, that's all working OK. But, for some reason, it also reopens the 1st level approval request (it moves from approved state to requested state. Same record gets updated). Same thing happens with 2nd & 3rd level too.

I obviously don't want the same people have repeated requests form approval. Any ideas on what's the issue here? find_real_file.png

10 REPLIES 10

Thanks for your reply @Sebastian Laursen ! I added some 30 seconds waits but unfortunately, it did not fix this particular bug 😕

Sushma R1
Tera Expert

I'd say build it in PDI once again 😛 for just 2 levels for testing purpose, because I'm sure this is a simple usecase and it worked for me multiple times.

Even 2 levels for testing does not fix it. First approval gets reverted still. I agree that this is a very simple use case, which makes me kind of sad if Flow designer can't handle something like this. 

Post below mentioned a solution regarding Approval Engines. What are those? This might help but I'm concerned about system editing properties that I don't fully understand. We have A LOT of traditionals flows, are they affected by this?

https://community.servicenow.com/community?id=community_question&sys_id=59cd19badb787f40fff8a345ca9619ad

Mary T
Mega Expert

This seems to be a known bug fixed in Orlando Patch 9 and Paris.  Which version are you on?

https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0788313

Tristan Elmore
Tera Expert

After a painful amount of trying to test a Flow I created on a Catalog Item / Request record generated from a Catalog item with several sequential approvals, I believe I stumbled across a workaround where you don't have to Turn Engines off under Approval Rules.

We're trying to convert most of our Workflows on Catalog Items to Flows, and I built out and tested my new Flow while the old Workflow was still applied to the Catalog Item. When I went to run the Flow by itself without the Workflow, all of a sudden the Approvals are all wonky. As others described, when you hit your next Approval in your Workflow all of a sudden your previous Approvals are Requested again, which is NOT what we want.


Basically, what our Service Management / SN Administrator team explained to me was:

The Approval engine is only used when the Request Item has a Delivery Plan associated with it. If the Request Item is being managed by a Workflow, then the approval engines are automatically turned off. (See this post about the Approval engine potentially causing this issue Sequential Approvals - Flow Designer - Now Platform - Question - ServiceNow Community)

So all you need to do is have a Workflow be running simultaneously to the Flow and have the same trigger / begin and end conditions for both. All you need is to have your Workflow stall while you're flow is running and then have the End conditions align on both your Flow and Workflow. In most cases from an IT Support (and arguably ITSM) perspective, at least for our organization, a Closed Request or Incident is the end game.

find_real_file.png

This is relatively straight forward to set up on Catalog Items if you populate both fields.

find_real_file.png

This is a great alternative to switching off something Global like Approval Rules and potentially breaking a bunch of other things in your instance that may rely on those (at least from what I understand, don't quote me on that). You also don't have to have full-on admin rights in a developer instance to utilize this workaround--as long as you have access to Flows and Workflows.

I'm not a Developer, nor do I have extensive coding experience but I do a lot of work in our development environment to leverage OOB features to fulfill things so we don't have to custom build everything. I look at a lot of code and sometimes modify it, but I don't really create it (yet). We've found that way things tend to break down less over time.


Hope this helps someone!

Tristan