cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
scutiyog
Helper I
Helper I

Long running approvals with multiple approver levels

Hello!

Having trouble wrapping my head around what I need to do. 

I have an approval process that has several levels of sequential approver groups.  For example:

User uploads a document to a SharePoint library

Approval process begins with Project Managers.  When they approve, the Supply Chain folks need to approve, when they approve, the Deployment folks will need to approve and so on for about 11 levels.

These approvals for the most part will wrap up within the 30 day time limit but there are many instances where the approval could be sitting with an approver group for 2-4 months.

Now I saw where we can use the Start and Approval and then use the CDS to wait for an action to happen.  I read the article where it shows you would use 2 power automates to use this (Build long-running Approval Flows - Power Platform Community (microsoft.com)).  But it only shows for a single level of approvals.....

So my issue is, how would this work with multiple levels of approval that need to happen in a specific sequence?  Will I need to create 22 workflows?  And even then how would I make sure they execute in the proper order?

Is there some other way perhaps to get this to work?  Just looking for suggestions on how to proceed as I can't seem to figure out what I need to do.

 

As always thanks!

1 ACCEPTED SOLUTION

Accepted Solutions

Not quite.  Flow A would create the first approval in the series and record the overall status somewhere, lets call it stage 1.  Flow B would wait for the Approval object in CDS to change.  When it changes it would check the response and the overall status (which is now stage 1) and either create a new Approval and set status to Stage 2 or Stop the approval because it was rejected.  Flow B would then wait for the Approval object in CDS to change.  Repeat until all stages are complete.

 

Flow B will fire whenever any Approval record changes.  That's why I would suggest a separate entity that tracks the current stage of the process.  The Approval ID can be looked up in that when Flow B triggers.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

View solution in original post

6 REPLIES 6
Pstork1
Dual Super User
Dual Super User

The process is essentially the same.  And you'll still really only need two flows.  But you'll need to add some logic to the second flow that determines who responded to the approval and who is next in line or whether you are done.  you'll also need to create an entity that can keep track of the progress so you can determine where you are and who is next.  But the key is to separate the creation of the approval from the processing of the response.  Having multiple levels increases the complexity a bit, but it can still be done with two flows.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Ok so I would make 1 flow that would create all of the approvals I need....and the 2nd flow would need to do all the rest of the work...

So Flow A - 11 Start Approvals

Flow B - I would need to work out sending the email notice to each approving group in the right order, wait on their response and then move to the next set of approvers?  But how do I determine that? 

The article shows using the When a Record is Updated - but I see no way to specify which approval record I'm looking for...there was no ID or anything.  I must be missing something somewhere lol

 

Thanks!

Not quite.  Flow A would create the first approval in the series and record the overall status somewhere, lets call it stage 1.  Flow B would wait for the Approval object in CDS to change.  When it changes it would check the response and the overall status (which is now stage 1) and either create a new Approval and set status to Stage 2 or Stop the approval because it was rejected.  Flow B would then wait for the Approval object in CDS to change.  Repeat until all stages are complete.

 

Flow B will fire whenever any Approval record changes.  That's why I would suggest a separate entity that tracks the current stage of the process.  The Approval ID can be looked up in that when Flow B triggers.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Ah ok i think i understand better now - will give it a go!

 

Thanks!! 🙂

Htoledo
New Member

Currently, I'm working on a PowerAutomate sequential approval flow.

 

Problem statement:-

There are totally 5 levels of approval, the recipient of the approvals are dynamically set in Flow. 

Now the level the approval needs to go depends on two variable in the SharePoint list. One is the deal status and the other is by project cost. I have the matrix build in another SharePoint list if this helps. looking for guide as my flows are showing infinite loop error as currently written.

 

If any recipient denies the project the project must show rejected with comments on rejection. Only once approved by all can the project show approved. Is there any way that this particular thing can be achieved? 

 

Thanks,

Please post this as a new question.  You'll get more responses and others will be able to find the answer more easily later.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Users online (6,083)