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!
Solved! Go to Solution.
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.
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.
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.
Ah ok i think i understand better now - will give it a go!
Thanks!! 🙂
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.
User | Count |
---|---|
91 | |
43 | |
20 | |
19 | |
15 |
User | Count |
---|---|
135 | |
54 | |
44 | |
40 | |
31 |