Execution Limits
A workflow can hold as many nodes as you like, and every cap below applies to a single run instead.
Find the Limit a Run Hit#
The caps, and what a run does when it reaches one:
| Limit | Value | What the run does |
|---|---|---|
| Nodes executed in one run | 100 | Stops where it is, logs Execution exceeded the 100-step limit; the flow likely contains a loop., and counts as a failed execution |
| Steps inside a Function node | 50,000 | Takes the node's Error port, with the message in the execution log |
| Time inside one Function node | 1 second | Stops the code and takes the node's Error port, with Execution time exceeded in the execution log |
| Time inside all Function nodes, from the trigger to the end | 10 seconds in total | Every Function node after that takes its Error port without running its code |
| Memory inside one Function node | 128 MB | Stops the code and takes the node's Error port, with Memory limit exceeded in the execution log |
| Values one Function node exports | Less than 1 MB in total | Takes the node's Error port, with Exports too large in the execution log, and none of its exports reach the workflow |
| Returns from a delay of more than 60 seconds, from the trigger to the end | 100 | Stops at the delay instead of waiting again, with the reason in the execution log |
| Idle time before a paused run is abandoned | 10 minutes by default | Ends, so an answer arriving later resumes nothing |
| Total execution time | 20 minutes by default | Ends, and a resume arriving after the ceiling is refused |
| Steps kept in the stored trace | 300 | Keeps the head and the tail of its trace and drops the middle |
A workflow that loops back through a delay of more than 60 seconds stops after 100 returns from it. Give the loop a Decision that can leave it.
Both time ceilings are yours to change. Open the workflow's settings on the bot's Workflows tab, and under Execution Limits set Idle Timeout (Minutes) and Total Run Time (Minutes). Raise both where the visitor is meant to take longer, such as a form sent as a secure link, which stays valid for one hour.
Repeat Limits#
Repeat Limits decides how often the assistant may run one workflow in a single conversation. It sits under the workflow's settings on the bot's Workflows tab, on every workflow the assistant is allowed to start, and it applies per conversation on every channel.
Two controls, counted separately:
- How many times can it run? caps the runs that count.
- Wait before offering again holds the workflow back for a number of the visitor's own replies after any attempt.
A run counts against Repeat Limits when the workflow finishes on an End node set to Success or to Neutral (Completed), unless the visitor cancelled or abandoned a form first. A run that stops on a node with nothing connected after it counts as Neutral (Completed), so it counts too.
Common Questions#
Does a Paused Form Count Against the 100 Nodes?#
No. A Form node or a Delay ends the run and parks it, and the visitor's answer starts a new run with the counter back at zero.
Can I Raise the 100 Nodes?#
No. The two time ceilings are set per workflow; the 100 nodes are fixed in the engine. A run that executes 100 nodes without finishing is going round a loop with no exit, so add a Decision that can leave it.
Does a Repeat Limit Hide the Workflow From the Assistant?#
No. The workflow stays in the assistant's picture of what your business does, so a visitor who asks for it in words gets an answer rather than a bot denying the service exists. The run is refused and the assistant says so.