In this #PowerShot, I will show you how to better handle throttling limits for API requests actions, connectors and flow runs in Power Automate.
Let's Get Started
Connectors in Power Automate have a set threshold for throttling limits on the number of API requests per minute/ day. When using a single connection (service account) for a flow that carries out multiple tasks for a large number of people, this limit might easily get crossed. To over come this, we will look at certain practices and settings that will allow reducing errors occurring due to throttling limits and better orchestrate the processes.
When it comes to building enterprise flows in Power Automate, it is important to consider issues that might arise due to throttling limits on connectors/ actions and flows. Different connectors have different throttling limits and in some providers it is also based on the subscription plans. Similarly for Power Automate, there are certain limitations based on the subscription plans. More details on these limitations can be found here and here.
Trigger Based Settings
In the trigger settings, you can find the concurrency control. Enabling the concurrency control will allow you to set the degree of parallelism and provide a static value for the number of instances of the flow that can run in parallel at any time. For example, in the screenshot below, I have set the degree to 1 which means that at any given time there will only be once instance of the flow running and all consecutive runs will be put on the wait list. This reduces the number of API calls in parallel and can potentially avoid throttling limits.
The below screenshot shows how the flow runs are added to a wait list to wait until the running instance is complete and start the run in a sequential way.
Action Based Settings
Once the trigger settings are done, there might be cases where a single flow run instance can also cause throttling issues. In such cases, action settings can be changed and a custom retry policy can be set that will wait for the set time before making the API call request. As shown in the screenshot below, I have modified the retry policy from default (4 retries) to 25 retries and each retry should wait for 60 seconds before making the API call. The number of retries and the interval can be customized as well.
In this post, we saw how to configure settings on actions and triggers on a flow to address throttling limits in Power Automate. These settings can help in better orchestrating the flow runs and sequentially scheduling them based on a current active run. The retry policies allow for better error handling practices and can be replicated across flows of different use cases.
I hope you found this interesting and it helped you. Thank you for reading!