Since Salesforce flows are being widely used, it is important to understand the limitations before solutioning around flows.
Let’s answer the most common question to start, Why limits?
Salesforce runs on a multitenant architecture, which means it uses shared resources across organizations. To make sure of overutilization of resources by a single org, and improving the performance of others using the same resources Salesforce introduced governer limits.
Limits on Flows
- Number of executed elements at runtime per flow: 2000
- you can only have a maximum of 2000 executed elements in a flow interview at runtime. This means if there is a loop in a flow. A number of elements = records in the list * elements inside the loopEg. For 1000 records being processed, if the elements inside/including the loop are 3, then the number of elements processed will be 1000*3(3000) + elements outside the loop.
- Data retrieve elements(get Records) can be used to retrieve a maximum of 50000 records per transaction. A transaction includes everything which runs in the record save operation, be it trigger, workflow, or any other automation.
- A maximum of 100 data retrieval(SOQLs for apex) elements can be used per transaction
- A maximum of 150 data elements(update/insert/delete records) can be used. Note that these elements will also be multiplied if they are within the loop.
- The total number of records processed by a data element cannot exceed 10000 per transaction.
- The maximum time server uses to process the transaction is 10 seconds.
This article covers a few limitations. If you are interested to learn more check out the Salesforce documentation on flow limits.