Hello,
I am using Apply for Each to loop through the records and some conditions in LOOP. My observation is that the Flow gets stuck up in Apply for Each and takes 30 mins for looping through 150 records.
Any help is appreciated for improving the performance of the Flow
Hi @bondy_07 the amount of time the looping takes will depend on the actions which are contained within the loop. When I'm working on my Flows, I always try to limit the number of steps that are in each loop.
Another consideration is concurrency. By default the loop will process sequentially, whereas, assuming you're using an apply to each loop, I can change the concurrency to allow side by side iterations of the loop. To do this
Give that a go and see if that brings the run time down.
Hi @bondy_07 can you please post a screenshot of your Flow actions? If you can post one screenshot which just outlines the overall Flow, and one which shows the execution times for each of the steps please?
I agree with this. I am insert 13,000 records into a sharepoint list. Entire payload converted into JSON is 10 MB. With parallelism set to the maximum of 50 it takes 30 minutes to complete. That is not an acceptable amount of time. A couple of minutes, maybe.
I have the same issue. I'm testing flows, while developing them. I need to iterate through a small array for 20 items that was already retreived. It takes more than 10 minutes for it to go through. I never saw it to be that slow before.
I'm experiencing a similar issue in speed. I have a loop with 8 actions contained within that is meant to loop through several hundred CSV values and store in an array on it's way to JSON. It takes ~30 minutes sequentially and upwards of 1.25 hours at full concurrency. I understand the reasoning to keep the loop as simple as possible, but what stumps me is that concurrency is slower than sequential. That doesn't make much sense to me...
Can anybody explain what is the root cause for these delays ? Seconds, I can understand, minutes is just baffling.
Stephane
Yes, the unexplainable slowness of Power Automate flows is something that's rankled me, as well.
While it's not a solution, per se, one way to mitigate the time it takes to complete a "apply to each" loop is to limit the number of iterations it needs to complete. I do this by always using a "filter" action immediately before the loop, and then feeding the loop with the result of that filter. You will often need to get creative with your filter conditions, but it can significantly reduce the amount of time it takes for your flow to complete.
Another trick I've found is to break up the loop into multiple loops (again, using the filter action to break up the data). If, for example, you use a condition inside your loop to do one thing to some data and another thing to the rest of the data, perform this data separation outside of the loop using a pair of filter actions, and then run two loops in parallel, each taking the result of one of the filter actions. This avoids the use of a conditional inside the loop, which can halve the time to complete.
Something like this...
Whenever something is slow, it makes me wonder if between certain steps the workflow engine is doing transactional writing of data to a persistent storage, in case it needs to restart due to some failure. At least, that's what I learned from my Biztalk years. There should be a way to tell the engine not to bother with that and just restart from the saved state before the apply to each.
Or it could be Microsoft being...well...Microsoft, and not bothering to implement anything correctly. >_>
Seriously, I've seen better code come out of an eight year-old. Microsoft's dev teams ought to be ashamed of themselves.
today im getting random slows on appy to each, on a flow that was always working ok, im guessing right now its something microsoft related, to accelerate de process im cancelling manually the stucked flow and resubmitting.
Hi guys!
I have a flow that makes a REST request to update items in a Sharepoint list. I have about 5k items on the list and my flow is taking more than a day to execute: one day and 18 hours on average. Is there any way to decrease this time?
PS: I already put the flow parallelism at maximum. 😕
Thank you all!
Hi, @carudev!
When you say you've "put the flow parallelism at maximum," do you mean you've set the concurrence of an apply to each block to 50, or that you've created hundreds (whatever the maximum is) of parallel branches within the flow?
Since a REST call (I assume you're using the send HTTP request action here) can be used for only one item at-a-time, there's no way to speed up this action itself. However, you could try running more than one of them simultaneously. In your flow, use filters to break up your array of items into multiple sets—say, one set could have the first 100 items, then the next set could have the next 100, and so on. Then, in parallel branches, send each set through an apply to each action with the REST call inside. While the concurrence limit of each apply to each action will still keep things slow, you'll be running more than one of them at any time, which could speed things up. Remember to set the concurrence of the apply to each blocks to 50, and it's fine to have all your branches be identical and performing the same task. What we're trying to accomplish is tricking Power Automate into thinking it's doing different things with each branch.
For a diagram of how this might work, see my screenshot above from 30 April 2021.
Another issue might be how quickly SharePoint is responding, especially if you're sending it 5k+ REST reuests.
Hi @carudev ,
I have also struggled with slow operations against Sharepoint. Currently I believe batching might be the solution.
I have tested this with Graph API using Powershell. I have also written a blog post about it: https://jb1c.blog/2021/05/18/using-graphapi-for-exporting-importing-editing-gigantic-sharepoint-list...
Microsoft has also a nice tutorial on doing something similar with the flow: Create a Microsoft Graph JSON Batch Custom Connector for Power Automate - Microsoft Graph | Microsof...
That requires using registered AzureAD application but fortunately it is now possible to have one with a reasonable permissions: https://developer.microsoft.com/en-us/graph/blogs/controlling-app-access-on-specific-sharepoint-site...
I'm currently planning to try this out with the flow, but building batches from json needs some more designing. Anyways my experience with the Powershell is promising!
Hope this helps!
Hi @carudev
I have just done a blog post and video which covers using Power Automate delete items from a SharePoint list using the Batch API. It is much faster than the standard method.
I am also going to do a separate video on creating and updating items, but the concept will be similar for all cases. Might be a good place for you to start.
Blog: tachytelic.net
YouTube: https://www.youtube.com/c/PaulieM/videos
If I answered your question, please accept it as a solution 😘
Hi,
I have found that using Variables inside apply to each functions slow it down considerably. This is because the Flow has to "Lock" the variable while it is in use and this adds time to the run. Concurrency will make the situation worse in these cases as each concurrent action is raised as a separate "mini flow" when being run and each "mini flow" has to wait for the variable to become unlocked and then has to lock it for its run, do its actions and then unlock it again.
I have found that minimising the use of variables can significantly reduce run times. I have found that using Compose actions are far quicker, although you may need to evaluate this depending on your needs.
I have also found that table actions tend to be mush faster as well. One example was I needed to update records in sharepoint in bulk. I used a select command to build a JSON input with graph bulk commands and then ran a single bulk graph command to do my inputs (up to 20 a time), instead of using an apply to each, this reduced my import times from approx 4 hours per 1000 to about 10 minutes.
Have a look at the blog here, there is some really good info about Flow performance improvements:
https://sharepains.com/2018/10/15/microsoft-flow-improve-your-flows-performance-in-a-few-easy-steps/
@Anonymous wrote:...each concurrent action is raised as a separate "mini flow" when being run and each "mini flow" has to wait for the variable to become unlocked and then has to lock it for its run, do its actions and then unlock it again.
While this is technically true, it's a very niche case. The variable in-question is "locked" only while a CRUD operation is being actively applied to it, not for the entire run of that particular instance. That takes almost no time at all, and running concurrent "mini flows" will use the same variable space simultaneously while running. That's why a tooltip appears when you add a "Set variable" control within an "Apply to each" container, telling you to set the concurrency to 1. Multiple concurrent runs of that container—depending on what happens within the container—will use and/or overwrite the variable while another instance of that container is still using it. So, the time impact of accessing variables within an "Apply to each" container is negligible. The real time hit comes from more compute-heavy operations like file I/O, complex calculations, or branched and nested conditional statements (conditionals are an interesting case in themselves, since every branch needs to be computed whether or not it's actually executed).
Hi @Anonymous That's not my experience, almost every time I have tried to use a variable in an apply to each, my flow grinds to a halt and adds huge amounts of time.
In the example given above by Alan Sanchez, every action in the loop is actioning a variable, so whilst it seems negligible on a single action, when you have a loop with 4 variable actions and then a loop inside that with 3 variable actions, all of a sudden that negligible delay becomes huge delays. Even 1 extra second per loop can add hours to the run if you have thousands of iterations. For example, 3600 records with 1 extra second will add an hour to the run time.
All I am saying is try to reduce the amount of variable actions, try using a compose action if you don't need to make amendments and also try using array actions instead of loops as they can do thousands of edits in a second. I am not saying that variables are bad or useless, just expect your flow to take longer to run. And yes, there are also 10 other things that can slow it down, but again in the example above, they are not using conditions, file IO, complex calcs (Its all string amendments) or heavy computational stuff, they are just using variables to amend JSON strings. My answer was specific to the example given and my response was not based on the technicality, but my experience with using variables in flow.
@Alan_Sanchez you have have better luck using this guide to convert your csv into json, it uses a select / join action instead of variables and a loop, I have it in use in one of my flows and it regularly does 10,000+ records (csv to JSON) in a matter of 20-30 seconds. You may need to modify the replace commands to meet your needs, if you need help, let me know.
https://sharepains.com/2020/03/09/read-csv-files-from-sharepoint/
Thanks for the tip @Anonymous. I'll try this on my next flow where this is needed and share my feedback.
A new month means it's time to celebrate and welcome the new user groups that have joined our community. We are excited to announce that we have more than 8 New Groups, which is no surprise after the amazing Microsoft Power Platform Conference. This month, we are breaking them out by the different community categories. If your group is listed here, give this post a kudo so we can celebrate with you! Don't forget to take a look at the many events happening near you or virtually! It's a great time of year to connect and engage with User Groups both locally and online. Please Welcome Our NEW User Groups Power Platform: PowerIT User Group: Nottingham Power Platform User Group: Bergen Power Platform User Group: Danmark Nashville Power Platform User Group Microsoft Ambassador Program y Mujer Latina Technolochicas NCWIT Community Copilot Studio: Copilot User Group Italia Dynamics365: Dynamics User Group AdriaticDynamic 365 Azerbaijan December User Group Events 01 Dec 2023 Aprendiendo Desarrollo web, creando mi primer power app y power page. 01 Dec 2023 Q4 Hybrid Philadelphia Dynamics 365 & Power Platform User Group Meeting05 Dec 2023APAC Dynamics 365 FastTrack Bootcamp - BI and Analytics07 Dec 2023Bay Area Power Platform Meetup: Learn, Share, and Connect07 Dec 2023Indiana D365/AX December User Group Meeting07 Dec 2023Dynamics User Group Meeting: Houston09 Dec 2023 December '23 - NEW Power Apps User Group Meeting - Online 12 Dec 2023December Cleveland Power Platform User Group Meeting12 Dec 2023 RW2 Data Stewardship Open Forum Discussion 13 Dec 2023 Black Country Power Platform User Group - December 2023 - West Midlands
Our ongoing BACK TO BASICS: TUESDAY TIP series dedicated to helping both new members and seasoned veterans of our community learn and grow reached a milestone ten posts! We're excited to present this "one stop" post for each of our #TuesdayTips, making it easier to find what you're looking for and help you understand the community: from ranking and badges to profile avatars, from being a Super User to blogging in the community, and so much more. Thank you for your incredible support for this series--we are so glad it was able to help so many of you navigate your community experience. Back to Basics Tuesday Tip #1: All About Your Community Account Find out the basics of your community account. Whether it's changing your username, updating an email address, understanding GDPR, or customizing your profile, this is the place to begin. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #2: All About Community Ranks Have you ever wondered how your fellow community members earn the different ranks available? What is the difference between an Advocate and a Helper, a Solution Sage and a Community Champion? In this #TuesdayTip, we share the secrets and tips to help YOU keep your ranking growing--and why it's so important to our communities. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #3: Contributing to the Community If you need to understand how subscriptions or notifications work, how to use search to find the answers you're looking for, or editing your posts, this is the place to start. With these handy tips, you'll find what you're looking for, ask some great questions, and format your posts perfectly! ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #4: What is a Super User? Have you ever been exploring the community and come across a user with this unique icon next to their name? It means you have found the actual, real-life superheroes of the Power Platform Community! Super Users are our heroes because of the way they are consistently helpful with everything from solutions to flagging spam, offering insight on the community, and so much more! Find out more in this #TuesdayTip. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #5: How to Become a Community Blog Author We want YOU to be part of the community blog! Sharing your knowledge of Power Platform is an essential part of our community! By sharing what you know and have learned with the community in the Power Platform in the community blog, you help us create a more engaged and informed community, better equipped to tackle complex challenges. To get started with blogging across the Power Platform communities, please visit the following links. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #6 All About Community User Groups Being part of, starting, or leading a User Group can have many great benefits for our community members who want to learn, share, and connect with others who are interested in the Microsoft Power Platform and the low-code revolution. Don't wait. Get involved with (or maybe even start) a User Group today--just follow the tips below to get started. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #7: Resources for User Groups Once you've launched your Community User Group, we are excited to have many resources available that can help you lead, engage, and grow your User Group! Whether it's access to the Microsoft Community Tenant for User Groups, help with finding speakers for your User Group meetings (both local and virtual speakers), and even finding spaces to have your meetings in--check out this #TuesdayTip to get what you need! ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #8: All About Subscriptions and Notifications Keeping track of what you want to know and how you want to find out about it may seem confusing. This #TuesdayTip is all about your community profile's subscriptions and notifications settings. Check out the links below for clear directions and how-to's. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #9: All About the Community Galleries Have you checked out the library of content in our galleries? Whether you're looking for the latest info on an upcoming event, a helpful webinar, or tips and tricks from some of our most experienced community members, our galleries are full of the latest and greatest video content for the Power Platform communities. Find out more by following the links below. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Back to Basics Tuesday Tip #10: Community Support Whether you're a seasoned community veteran or just getting started, you may need a bit of help from time to time! If you need to share feedback with the Community Engagement team about the community or are looking for ways we can assist you with user groups, events, or something else, Community Support is the place to start. Community Support is part of every one of our communities, accessible to all our community members, so find out what it means for your community with our last #TuesdayTip. ○ Power Apps ○ Power Automate ○ Power Pages ○ Copilot Studio Thank you for your support for our #TuesdayTip series. We look forward to bringing you more tips and tricks to help make your community experience the best it can be!
Welcome to our November Newsletter, where we highlight the latest news, product releases, upcoming events, and the amazing work of our outstanding Community members. If you're new to the Community, please make sure to follow the latest News & Announcements and check out the Community on LinkedIn as well! It's the best way to stay up-to-date with all the news from across the Power Platform and beyond. This month's highlights:- - Our most active community members- Microsoft Power Up Program- Microsoft Community Days website - The latest blogs and more COMMUNITY HIGHLIGHTS Check out the most active community members of the last month. These hardworking members are posting regularly, answering questions, kudos, and providing top solutions in their communities. We are so thankful for each of you--keep up the great work! If you hope to see your name here next month, just get active! FLMikePstork1Nived_NambiarWarrenBelzSprongYeManishSolankiLaurensMwskinnermlcAgniusExpiscornovuscreativeopinion KatieAUinzil2kHaressh2728hafizsultan242douicmccaughanwoLucas001domliu Power Up Program Click the image below to discover more about the amazing Microsoft Power Up Program, as Reem Omar, Abbas Godhrawala, Chahine Atallah, Ruby Ruiz Brown, Juan Francisco Sánchez Enciso, Joscelyne Andrade Arévalo, Eric G. and Paulina Pałczyńska share how non-tech professionals can successfully advance into a new career path using Microsoft #PowerPlatform. To find out more about this amazing initiative, click here to apply for the program and reboot your journey into low-code app development today! Community Days - Event Website Have you checked out the Community Days website yet? Dedicated to the volunteer community organizers around the world, Community Days is the perfect place to find an event near you or add an event for wider exposure. Many thanks to Thomas Daly, Sharon Weaver, Sedat Tum, Jonathan Weaver, Manpreet Singh, David Leveille, Jason Rivera, Mike Maadarani, Rob Windsor and the team for all their hard work. Anyone can host a Community Day on any topic relevant to our industry, just click the image below to find out more. EVENT NEWS Power Platform French Summit - Paris/Virtual - 6-7th Dec It's not long now until the Power Platform French Summit, which takes place both virtually and in-person at the Microsoft France conference center in Paris on 6-7th December 2023. If you can't make it in-person, all sessions will also be broadcast on virtual networks for better distribution and accessibility. There's a fantastic array of speakers, including Jérémy LAPLAINE, Amira Beldjilali, Rémi Chambard, Erika Beaumier, Makenson Frena, Assia Boutera, Elliott Pierret, Clothilde Facon, Gilles Pommier, Marie Aubert, Antoine Herbosa, Chloé Moreau, Raphaël Senis, Rym Ben Hamida, Loïc Cimon, Joséphine Salafia, David Zoonekyndt, Aïcha Charpentier, Henry Jammes, Milene Rochard, Mehdi EL YASSIR, and many more. Click the image below for more information. LATEST COMMUNITY BLOG ARTICLES Power Apps Community Blog Power Automate Community Blog Copilot Community Blog Power Pages Community Blog
This is the TENTH post in our ongoing series dedicated to helping the amazing members of our community--both new members and seasoned veterans--learn and grow in how to best engage in the community! Each Tuesday, we feature new content that will help you best understand the community--from ranking and badges to profile avatars, from Super Users to blogging in the community. Our hope is that this information will help each of our community members grow in their experience with Power Platform, with the community, and with each other! This Week: All About Community Support Whether you're a seasoned community veteran or just getting started, you may need a bit of help from time to time! If you need to share feedback with the Community Engagement team about the community or are looking for ways we can assist you with user groups, events, or something else, Community Support is the place to start. Community Support is part of every one of our communities, accessible to all our community members. Power Apps: https://powerusers.microsoft.com/t5/Community-Support/ct-p/pa_community_support Power Automate: https://powerusers.microsoft.com/t5/Community-Support/ct-p/mpa_community_support Power Pages: https://powerusers.microsoft.com/t5/Community-Support/ct-p/mpp_community_support Copilot Studio: https://powerusers.microsoft.com/t5/Community-Support/ct-p/pva_community-support Within each community's Community Support page, you'll find three distinct areas, each with a different focus to help you when you need support from us most. Community Accounts & Registration is the go-to source for any and all information related to your account here in the community. It's full of great knowledge base articles that will help you manage your community account and know what steps to take if you wish to close your account. ● Power Apps ● Power Automate ● Power Pages, ● Copilot Studio Using the Community is your source for assistance with everything from Community User Groups to FAQ's and more. If you want to know what kudos are, how badges work, how to level up your User Group or something else, you will probably find the answers here. ● Power Apps ● Power Automate ● Power Pages ● Copilot Studio Community Feedback is where you can share opportunities, concerns, or get information from the Community Engagement team. It's your best place to post a question about an issue you're having in the community, a general question you need answered. Whatever it is, visit Community Feedback to get the answers you need right away. Our team is honored to partner with you and can't wait to help you! ● Power Apps ● Power Automate ● Power Pages ● Copilot Studio
What an amazing event we had this year, as Microsoft showcased the latest advancements in how AI has the potential to reshape how customers, partners and developers strategize the future of work. Check out below some of our handpicked videos and Ignite announcements to see how Microsoft is driving real change for users and businesses across the globe. Video Highlights Click the image below to check out a selection of Ignite 2023 videos, including the "Microsoft Cloud in the era of AI" keynote from Scott Guthrie, Charles Lamanna, Arun Ulag, Sarah Bird, Rani Borkar, Eric Boyd, Erin Chapple, Ali Ghodsi, and Seth Juarez. There's also a great breakdown of the amazing Microsoft Copilot Studio with Omar Aftab, Gary Pretty, and Kendra Springer, plus exciting sessions from Rajesh Jha, Jared Spataro, Ryan Jones, Zohar Raz, and many more. Blog Announcements Microsoft Copilot presents an opportunity to reimagine the way we work—turning natural language into the most powerful productivity tool on the planet. With AI, organizations can unearth value in data across productivity tools like business applications and Microsoft 365. Click the link below to find out more. Check out the latest features in Microsoft Power Apps that will help developers create AI-infused apps faster, give administrators more control over managing thousands of Microsoft Power Platform makers at scale, and deliver better experiences to users around the world. Click the image below to find out more. Click below to discover new ways to orchestrate business processes across your organization with Copilot in Power Automate. With its user-friendly interface that offers hundreds of prebuilt drag-and-drop actions, more customers have been able to benefit from the power of automation. Discover how Microsoft Power Platform and Microsoft Dataverse are activating the strength of your enterprise data using AI, the announcement of “plugins for Microsoft Copilot for Microsoft 365”, plus two new Power Apps creator experiences using Excel and natural language. Click below to find out more about the general availability of Microsoft Fabric and the public preview of Copilot in Microsoft Fabric. With the launch of these next-generation analytics tools, you can empower your data teams to easily scale the demand on your growing business. And for the rest of all the good stuff, click the link below to visit the Microsoft Ignite 2023 "Book of News", with over ONE HUNDRED announcements across infrastructure, data, security, new tools, AI, and everything else in-between!
This is the ninth post in our series dedicated to helping the amazing members of our community--both new members and seasoned veterans--learn and grow in how to best engage in the community! Each Tuesday, we feature new content that will help you best understand the community--from ranking and badges to profile avatars, from Super Users to blogging in the community. Our hope is that this information will help each of our community members grow in their experience with Power Platform, with the community, and with each other! Today's Tip: All About the Galleries Have you checked out the library of content in our galleries? Whether you're looking for the latest info on an upcoming event, a helpful webinar, or tips and tricks from some of our most experienced community members, our galleries are full of the latest and greatest video content for the Power Platform communities. There are several different galleries in each community, but we recommend checking these out first: Community Connections & How-To Videos Hosted by members of the Power Platform Community Engagement Team and featuring community members from around the world, these helpful videos are a great way to "kick the tires" of Power Platform and find out more about your fellow community members! Check them out in Power Apps, Power Automate, Power Pages, and Copilot Studio! Webinars & Video Gallery Each community has its own unique webinars and videos highlighting some of the great work being done across the Power Platform. Watch tutorials and demos by Microsoft staff, partners, and community gurus! Check them out: Power Apps Webinars & Video Gallery Power Automate Webinars & Video Gallery Power Pages Webinars & Video Gallery Copilot Studio Webinars & Video Gallery Events Whether it's the excitement of the Microsoft Power Platform Conference, a local event near you, or one of the many other in-person and virtual connection opportunities around the world, this is the place to find out more about all the Power Platform-centered events. Power Apps Events Power Automate Events Power Pages Events Copilot Studio Events Unique Galleries to Each Community Because each area of Power Platform has its own unique features and benefits, there are areas of the galleries dedicated specifically to videos about that product. Whether it's Power Apps samples from the community or the Power Automate Cookbook highlighting unique flows, the Bot Sharing Gallery in Copilot Studio or Front-End Code Samples in Power Pages, there's a gallery for you! Check out each community's gallery today! Power Apps Gallery Power Automate Gallery Power Pages Gallery Copilot Studio Gallery
User | Count |
---|---|
29 | |
16 | |
14 | |
13 | |
13 |
User | Count |
---|---|
56 | |
43 | |
23 | |
22 | |
17 |