For large datasets and sometimes querying APIs or Power Automate queries to retrieve information concurrently, it is helpful to use the Concurrent() function to retrieve multiple items at the same time. However, Concurrent() cannot exist within a ForAll() and when processing groups of items it may be required to chunk them up to avoid overloading a datasource (can you really query 1000 rows simultaneously from Excel or your APIs without breaking something?)
This post walks through how to process chunks of data simultaneously while also giving a nod to the limitations of certain back-office platforms.
In my own scenario, this process is querying either an API (if it is working) or an Excel export from the same ERP. As we have ~45,000 records in one of those Excel files and roughly ~200,000 in another, these queries can take up to 30 seconds to retrieve a value from one of those files per user. So splitting up these tasks to take place concurrently is essential.