I have a scheduled flow that runs once each day. I've had it in place for many months, and it's been running well with almost no issues. However, it has recently started having very frequent failures that seem to somewhat random and only affect a few items in a loop. I have not changed anything in the flow, and the SharePoint list it's based on is relatively static. In other words, it's performance has changed but nothing I've done makes it obvious why.
The flow connects to a SharePoint list that doesn't change much and only has between about 15 and 20 records. Each list item includes a person record.
The flow does a 'Get all SharePoint items' action and then passes that to an apply to each. The apply to each has concurrency turned on for up to 50 items.
Within the apply to each loop it uses an Update SharePoint Item action to resets a status in one of the list columns. Next, it uses an if condition to check another status flag to see if the user needs to be contacted (all do by default). If so, it generates an approval request to that user and concurrently updates the SharePoint list item to show the approval has been sent. The approval has a timeout of 8 hours.
Finally, depending on the results of the approval request, it updates the SharePoint item it updates a column in the same list with the result. The whole flow then terminates with success. It has a parallel branch to time out after eight hours and then terminate.
Normally, this runs every day without fault. However, it's had an increasing rate of failures in the last two weeks. When it fails, most of the flow for most users still work as expected. However, some users never get the approval generated. I have a run after failure on the create approval action that sends me an email on failure, so I can see the users for whom it failed, but I can't see why. The number of users can be from about half of the list, but is usually just a small proportion, about two or three. I can't see a pattern to who it fails for, though it is more frequent for some users than others.
My best guess is that there is some sort of throttling happening, but I have no idea how to check for this or control it.
The images below show:
- Flow overview
- Apply to each concurrency settings
- Main body of the flow where approvals are generated
- The run after approval failure that's generating the messages



