Hello,
I am building approval workflow to connect Flow to Excel located in SharePoint. I have created 2 tables "Proposed Changes" and "Approved Changes" in that excel file.
Initially changes are added to Proposed Changes table and after manager's approval flow moves the row to "Approved Changes" table and deletes the row from "Proposed Changes" table.
In the "Proposed Changes" table, I have created a column "Send for Approval" and it is being updated with "Yes" for each change that requires approval from manager. This "Send for approval" - Yes is triggering point for flow. Currently I have 3 row items in "Proposed Changes" table marked with "Send for approval" as Yes. But the flow is only picking up the first one and waiting till it is approved and moved to "Approved Changes" table.
How can I send 3 separate approval emails for the 3 changes marked in Excel sheet?
Solved! Go to Solution.
Hi @AKB_2K19,
I am going to share more details on the flow configuration.
Before creating the flow, I have created an Excel table which contains Title, ApproverName for the approvers email address, and Status for Yes/No.
Then I configured the flow to list rows present in a table first, then filter out items that status is marked as “Yes”.
Under the action Filter array, add an Apply to each, select dynamic content Body from action Filter array. Add the action Start an approval within the Apply to each, enter the following codes for Title and Assigned to field separately:
Title:
item()?['Title']
Assigned to:
item()?['ApproverName']
Besides, click the ellipsis of Apply to each, go to Settings to turn on Concurrency control and set the Degree of parallelism to 50.
Please take a try with it on your side.
Best regards,
Mabel
Hi @AKB_2K19,
I assume that the Concurrency Control would work for you. Enable Concurrency Control can ensure that all of the approvers receive their request at the same time.
Please check this doc on Parallel approvals:
Click the ellipsis of Apply to each, then click Settings, then turn on Concurrency Control and set its degree of parallelism to 50.
I have made the following test for your scenario, all the approval requests would be sent out at the same time without waiting till the first approver gave a response.
Please feel free post back if you need more help.
Best regards,
Mabel
Hello @v-yamao-msft , thanks for looking into this and your response/link. I am very new to FLOW and your answer gives me hope that there is a way out!
My flow is something like
When I used the filter Array, it is successfully filtering the 3 rows for approval based on "Send for Approval" value. So that part works! But when I use start an approval flow I dont see "name" value in the dynamic data list. which has been mentioned in your screenshot. I can just see Current item.
I changed Apply to each value to recurrence value of 50 but that even that didnt help.
When I added dynamic values from excel table, it is creating nested "Apply to each" for each value I am adding from table columns.
Any help here?
Can anyone else help? Basically I want to loop through the rows where "Send for Approval" is marked as "Yes".
I created the following flow which successfully picks up 3 rows where previous condition is met, BUT it waits till 1st row item has been approved by an approver before it moves to next row.
As all approvers are different and each row is independent request not related or linked to other rows, waiting for previous request to get approved so that next one is triggered is completely wrong process. Can I somehow trigger all X number of rows matching the "Send for Approval" criteria at one time for approval parallely and track each of them separately?
Thanks,
AK
Hi @AKB_2K19,
I am going to share more details on the flow configuration.
Before creating the flow, I have created an Excel table which contains Title, ApproverName for the approvers email address, and Status for Yes/No.
Then I configured the flow to list rows present in a table first, then filter out items that status is marked as “Yes”.
Under the action Filter array, add an Apply to each, select dynamic content Body from action Filter array. Add the action Start an approval within the Apply to each, enter the following codes for Title and Assigned to field separately:
Title:
item()?['Title']
Assigned to:
item()?['ApproverName']
Besides, click the ellipsis of Apply to each, go to Settings to turn on Concurrency control and set the Degree of parallelism to 50.
Please take a try with it on your side.
Best regards,
Mabel
User | Count |
---|---|
84 | |
81 | |
48 | |
30 | |
23 |
User | Count |
---|---|
28 | |
28 | |
27 | |
21 | |
20 |