In the current version (wave 2) of Dynamics 365 with the Unified Interface, selecting a large amount of records, around 50+ records, in a view and then bulk running a workflow on these records via the Flow button can result in the ‘Too Many Requests’ errors popping up. This will cause the workflow to fail for a number of the records it was meant to be run on.
Examining the requests made shows that an Execute Workflow request is sent off to the API for each record selected all at once, which results in some failing with an error 429 Number of concurrent requests exceeded the limit of 52 error.
A workaround for this currently is to use Advanced Find, as the Web Client does not have this problem. It instead runs each workflow one by one with a progress bar.
Another option is to use the Bulk Workflow Execution plugin in the XrmToolBox, especially for running workflows for thousands of records.
Given that Microsoft is promoting Flow as the replacement of workflows, is converting the workflow to a flow a solution to this problem? Unfortunately running flows on a large selection of records has a similar problem. Instead, the Run flow dialog will not display, just leaving an empty popup. This is because it will perform a web API query of the entities selected, with a filter that has all the record ids like this accountid eq 1548f75b-3657-e511-9401-00155d13e305 or accountid eq bfea51e9-7ee7-e311-93f9-00155d13e305. This means that with enough records selected the query will be too long. On Accounts, more than 133 records will cause this error, this will be less on entities with longer primary id names.