cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Oskarkuus
Impactful Individual
Impactful Individual

How to send multiple approvals to different people at once (more than 100 at once)?

I have a flow that is scheduled to run each day.

It checks a large sharepoint list. If a value i strue the flow is suppose to send a approval to the persons mentioned on the specific row.

 

some days the flow can find nothing and no approvals are sent out.

other days there are 10 and other days there can be 100 approvals that need to be sent out.

 

my flow is roughly built like this.

EACH DAY > GET ITEMS (filter on specific value) > FOR EACH row in SP list found, send approval.

I have configured the FOR EACH step with Concurrency Control at 50 rows at once. But 50 is not enough, some days many will not be sent since the flow will wait for other approvals to finish before it starts doing 51, 52 and so on....

 

Is there some way to increas the Concurrency Control?

I have been thinking about adding another column in the list stating the status so i can do multiple checks each day... but i really do not want to have to do this.

 

Looking for other ideas

10 REPLIES 10

A few questions.

  1. Approx. how many items are in your SharePoint List (total number of items)?
  2. What happens in the flow logic when people response to the Approval?

 

One option is to have a flow that runs on a schedule (once a day at a particular time). This flow gets the results based on your filter (your filter value is true) and then calls a child flow for each result (person). It would pass in the relevant details from the scheduled flow to the child flow (person object, etc.).

 

This would mean there would be potentially 100 flows running (one for each person) with the Approval action and any further logic you want once they respond to the Approval.

 

You would end up building two flows.

  1. Scheduled flow that gets the data and calls the child flow passing in relevant details
  2. Child flow (HTTP trigger) that handles the approval and any flow logic after getting a response

 

This would fix your concurrency issue, and much better than having ~100 people assigned to a single Approval action in a single flow.

 

 

On a sidenote: It seems like an interesting solution sending out so many approvals. What do you do when people don't approve after a certain period of time? I can imagine there would be people ending up with multiple approvals if they potentially get a new approval each day. Maybe there would be a better way to approach what you're trying to achieve.


----------------------------------------------------------------------
If I've answered your question, please mark the post as Solved.
If you like my response, please consider giving it a Thumbs Up.
Oskarkuus
Impactful Individual
Impactful Individual

I have now changed the flow so it do have a child-flow.

EACH DAY > GET ITEMS (filter on specific value) > FOR EACH row in SP list found, TRIGGER CHILD-FLOW.

Child Flow have : START AND WAIT FOR APPROVAL

 

main flow scheduled:

Oskarkuus_0-1665913071480.png

 

 

child flow:

Oskarkuus_1-1665913103639.png

 

 

But this wont work since the for each wont go over 50, it waits for child flows to finish before it moves on to next one. so i do not gain anything from having a childflow.

 

 

i wold as you say rather have it just mass-start 1 or 200 separate flow instances at once, but that does not seem to be possible to build. Tho i need to think about the flow limit that one user can trigger, 250.

Oskarkuus_2-1665913366407.png

 

so i am back to thinking about the solution of adding a value to rows that do have an active approval.

this way i can trigger the main flow several times... but i then want to trigger the flow for example at 03.00 and at 03.15 and at 03.30 and at 03.45

but afaik i can not trigger a flow  several times a day like this, within the same hour... so that mean i need 4 flows that trigger once at these hours and then trigger the main flow that trigger the child flow... it went quick frome one flow to handle this to no 6 😄

 

the main issue is still tho, i do need to make sure the flow is sending out all approvals... most of the time it will be enough to handle 50 at once, but i know i will be getting problems with this some days. I have so many possible receivers of the flow so it is not very likely one person will be getting more than one per day... and i am not worried about how many rows my sharepoint list contains, i am not close to any thresholds.

 

 

 

Oskarkuus
Impactful Individual
Impactful Individual

Another idea could be to do this:

MAIN flow triggers once per day.

Identify for example 150 rows that now needs an approval.

Write in a column in my main SP list "approval pending"

Then write 150 new rows to a new sharepoint list with all information that is needed to handle the approvals.

-

Then i create a new flow that triggers at each new row created in the new shrepoint list.

This flow starts and wait for approval. I can not think of any limitations here that would stop the 150 flows to start and trigger 150 approvals almost at once.

 

When a person is acting on the approval and send in an answer.

The row in the new sharepoint list should be deleted. The corresponding row in the Main list now get the value "approval pending" updated to blank.

 

This way the new list is a way to keep track of all outstanding approvals. If an approval timeout (30 days), i can also act on that and update the value in the main list to "approval timeout" and keep the row in the new list to send out another approval request for that specific row that have timed out and if that is answered, then it is handled as a normal answer.

 

on paper it sounds nice, i get more details and control... but i do need another list and a column in my main list that i actually dont want 😄

 

In relation to the limits of how many flows a single user can create and run. It depends on the Flow license of the user. If you have Power Automate per user plan, you can create and run an unlimited number of flows.

 

grantjenkins_0-1665921526346.png

 

This is in accordance with the Power Platform Licensing Guide as of June 2022.

https://go.microsoft.com/fwlink/?LinkId=2085130&clcid=0x409

Note that the link above downloads the latest Licencing Guide from Microsoft.

 

Note however that you may still reach other limits so important to understand them all. I have difficulty trying to understand the limits as hard to find and often change over time.

 

Just a few questions?

  • How many items are in your list?
  • How many items to you expect over the next year?
  • Is there a particular reason people have to approve so often?
  • Are you able to articulate the problem you're trying to resolve? Maybe there is a better way that sending out so many approvals.

 

In relation to calling Child flows and the Parent flow having to wait. You can get around this by returning a response instantly from the Child flow so the Parent flow can continue calling more Child flows, and once it's called the last Child flow it will complete. Note that I generally have the response action on a parallel branch since it's not part of my actual flow logic., so like to keep it separate.

 

It's also worth noting that some of the actions below are Premium.

 

See example below.

 

Main Flow (Schedule in this example).

grantjenkins_2-1665922965347.png

 

Child Flow

grantjenkins_1-1665922942736.png

 


----------------------------------------------------------------------
If I've answered your question, please mark the post as Solved.
If you like my response, please consider giving it a Thumbs Up.
Oskarkuus
Impactful Individual
Impactful Individual

Just a few questions?

  • How many items are in your list?

At a max i estimate the list to contain about 2000 rows.

 

  • How many items to you expect over the next year?

I dont expect the list to grow out of hand, it have a cycle that keeps it kind of clean...

 

  • Is there a particular reason people have to approve so often?

It is not that often different people need to approve. I just know that a few times during a full year there will be peaks where allot will happen at once. So i need to design the solution to work during a extreme peak.

 

  • Are you able to articulate the problem you're trying to resolve? Maybe there is a better way that sending out so many approvals.

I have a list. People add there own rows to the list with information. Each row have a lifespan (date) that depends on the data stored in the record. When a rows lifespan near its ending, the rows owner/creator need to act on if the date should be extended or not, this is where i use the approval.

 

 

I'll create a full example with a list and get items from schedule flow and calling child flow.

 

Just a couple more questions:

  1. Does each list item only contain a single owner? Just that I saw in your original screenshot you were in an Apply to each loop and had a Parse JSON action to Get Owners which indicated more than one.
  2. If the owner approves, do you just add a standard duration to the item (say add 1 year) or something like that?
  3. What happens to the list item if they don't approve?
  4. Does your Approval just have the standard Approve and Reject options or do you have custom options?

----------------------------------------------------------------------
If I've answered your question, please mark the post as Solved.
If you like my response, please consider giving it a Thumbs Up.
takolota
Multi Super User
Multi Super User

@Oskarkuus @grantjenkins 

 

I think you both may be missing a simpler answer.

 

Why not use the Chunk( ) expression on the SharePoint outputs to break it into an array of arrays of potential approval items?

https://learn.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#...

 

From there you can start an outer loop that references the Chunks or the array of arrays of Approval items.

And you can then add an additional inner Apply to each that references the current item or the current array chunk.

Then you can set the Start and wait for approval action in that inner array with the current item of the inner loop (the current SharePoint item).

 

That way, you have a loop that can concurrently run 50 instances of Start and wait for approval within another loop that can run 50 instances of that 50 instance loop or 50 * 50 = 2500 Approvals at once.

I'd much prefer the parent/child flow option.

 

Logically these approvals aren't related so having a separate flow run for each approval makes sense, and easy to create and manage. You're only creating two flows.

 

It also allows you to add fields on the Flow run area using the schema of the child flow trigger so you can see which run relates to which person easily.

grantjenkins_0-1666015935173.png

 

Additionally, having separate flows will allow you to potentially timeout the approval after say 28 days, set the initial approval to expired/cancelled (update approval in Dataverse), then recall the child flow so you get another 28 days, and so on.

 

If all bundled up into a single flow and the flow has an issue, it affects all running approvals in that flow. With a single flow for each approval, it would be isolated to just that flow, etc.

 

I personally see loops within loops within loops as difficult to manage and understand who has/hasn't completed their approvals.

 

Remember, if you have at least a Power Automate per user plan then you can create/run an unlimited number of flows.

 

Anyway - I'll create a full example to show how it would work end to end.


----------------------------------------------------------------------
If I've answered your question, please mark the post as Solved.
If you like my response, please consider giving it a Thumbs Up.
Oskarkuus
Impactful Individual
Impactful Individual

I solved this at the by following the tip of adding a respond to powerapps or flow direct in the child flow.

 

All replies have helped. This have been a good training scenario for me to work with! 

Nice.

 

Yea that's what I always do when calling child flows. I generally put it as the first action and add it to a parallel branch so it's not part of the main logic of the flow.

 

I actually had that in one of my screenshots 🙂


----------------------------------------------------------------------
If I've answered your question, please mark the post as Solved.
If you like my response, please consider giving it a Thumbs Up.

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,349)