Service limits
Note: Starting Q2 2026, the hard limits listed on this page will be strictly enforced for all newly created flows. Existing flows will have a grace period to be optimized. Flows created, cloned, imported, or installed from the Marketplace after this date will be immediately subject to all hard limits.
Hard and soft limits
Each limit on this page has an Enforcement value that indicates how the limit is applied:
- Hard: The system enforces the limit. When a hard limit is exceeded, the flow run fails or the request is rejected. Design your flows to stay within hard limits.
- Soft: The system does not block the flow, but exceeding a soft limit triggers a warning and can degrade performance, slow down or stop the flow before it completes, or, in some cases, cause data loss.
General flow limits
The following table shows the limits that apply to the overall flow configuration and execution.
| Name | Limit | Enforcement | What happens if exceeded |
|---|---|---|---|
| Flow run data maximum size | 80 MB | Soft | Flow run data: combined size of all data supplied to and retrieved by the flow during each run from the initial trigger step to the final flow step. This also includes internal data that the flow needs to run, such as actions metadata, parameters, and so forth. |
| Recommended maximum payload size | ~25 MB | Soft | Exceeding it does not return an automatic error, but triggers a warning. However, consequences can still be significant: degraded flow performance, the flow stopping before completion, a processing timeout or, in some cases, data loss. Attachments count towards both this total and the maximum size of flow run data. |
| Maximum number of actions per flow | 8 000 actions in five minutes per flow | Hard | If the limit is exceeded, the flow is disabled but it can be manually enabled after one minute. Note: This does not apply to Marketplace flows. |
| Flow history retention | 90 days (inferred) | Hard | Flow run history older than 90 days is removed. |
Iteration and loop limits
The following table shows the limits that apply to loops and iterations within flows.
| Name | Limit | Enforcement | What happens if exceeded |
|---|---|---|---|
| Maximum number of iterations using the For each action | 1000 per level | Soft | The limit of the number of iterations may vary according to the size of each iteration. |
| Maximum number of iterations in a liquid loop | 10 000 | Hard | This count includes all iterations, including nested loops. The flow is stopped if the limit is reached. |
| Maximum number of iterations using the Until action | 1000 per level | Hard | The flow is stopped when the maximum number of iterations is reached. |
Data size limits
The following table shows the limits that apply to data storage and input sizes.
| Name | Limit | Enforcement | What happens if exceeded |
|---|---|---|---|
| Parameters maximum number of characters | 10 000 characters | Hard | Trying to input or reference data bigger than the limit takes only the first 10 000 characters. |
| Variables maximum size | 25 KB | Hard | Trying to input or reference data bigger than the limit takes only the first 25 KB. |
| Webhook maximum input size | 25 MB | Hard | If the input is bigger, a 413 error (Request Entity Too Large) is returned. |
Execution and timeout limits
The following table shows the limits that apply to action execution duration and timeouts.
| Name | Limit | Enforcement | What happens if exceeded |
|---|---|---|---|
| Action maximum duration | 10 minutes / 4 retries | Hard | The maximum run time for an action is determined by the setup of two different variables on its Azure function: Timeout and maximum number of retries. |
| HTTP request maximum timeout | 100 seconds | Hard |
Note: The Unit4 Ava action is excluded since it is intended to manage asynchronous responses from an external service that needs it to hibernate until it is called again to continue the execution.
Communication limits
The following table shows the limits that apply to email and external communication actions.
| Name | Limit | Enforcement | What happens if exceeded |
|---|---|---|---|
| Email sender action limit per month | 2 500 000 emails | Hard | The limit is shared across all the tenants of your region. |
Trigger-specific limits
The following table shows the limits that apply to triggers.
| Name | Limit | Enforcement | What happens if exceeded |
|---|---|---|---|
| Webhook maximum request rate | Communicated in the HTTP response | Hard | Error 429 (Too Many Requests) is returned. |
Action-specific limits
The following sections show the limits that apply to specific actions and their unique constraints.
Run code action
The following table shows the limits that apply to the Run code action:
| Limit | Value | Enforcement | What happens if exceeded |
|---|---|---|---|
| Maximum allowed depth of recursion | 100 | Hard | Recursive scripts can only execute 100 levels of depth. |
| Script execution | 600 sec (10 min) | Hard | The execution fails with a timed-out result. |
| Maximum size allowed for arrays | 10M elements | Hard | |
| Maximum number of statements | 500M | Hard | This includes variable declarations, conditional blocks, loops, function calls and such. |