Hi Everyone,
I'm currently experiencing some throttling issues with one of my flows.
The main flow is designed to process and save emails from Outlook into Sharepoint. One of my child flows takes in an ID number from the email subject line and does a look up of an excel sheet to see if it has a matter which will be used to catelogue the email in it's appropriate location in Sharepoint.
The flow looks like this:
- The Excel sheet has 1058 entries which it needs to loop through.
- I'm currently using the Power Automate per User Plan
- I've tried changing the concurrency to improve performance, starting at 10 and gradually increasing it to max 50 to see if that helps... which it has not
The main issue I'm having is that the flow is getting throttled significantly and getting stuck on the loop process with some of the runs taking up to 5-6 days to process, if at all.
Looking at the analytics, I believe the issue lies with the loop creating too many action requests per 24 hour period a prime example of this was 1/02/2022 where my analytics states over 400,000 billable actions occurred. Which is obviously way above the limit available to my license.
What can I do to make this loop more effcient and drastically reduce the number of billable actions?
Hi @tom_riha ,
Thank's for your reply, unfortunately the filter array whilst useful, doesn't actually help me in this situation. However, your suggestion did get me thinking and after a bit more research, I discovered that there is a feature to run custom excel scripts inside the document you're trying to extrapolate data from.
As such I've moved the data processing off of Power Automate and into Excel.
This has it's own set of challenges such as timeout limits and processing power, however it's end result if you can work around these limits is significant.
Regards,
Chris
Hello @Cjrcooper ,
I don't know what exactly you're trying to achieve, but you can use the 'Filter array' action instead of the whole 'Apply to each' section.
Use the output from 'List rows...' as the input of the 'Filter array', and define a condition for which rows you want to keep. The output will contain only the rows that fit the condition, you can check if it's empty = there's no such row, or if it's not empty = there's such row.
An example:
Michael E. Gernaey
497
Super User 2025 Season 1
David_MA
436
Super User 2025 Season 1
Riyaz_riz11
244
Super User 2025 Season 1