Timeouts and Limits
Canvas playbooks and components share the same automation limits and timeout model. Use this topic when you need to know how many actions you can add, how long a run can execute, or what you can configure in the UI versus the platform.
Choose Your Path
I want to⦠| Go to |
|---|---|
Know whether there is a maximum number of actions | |
Understand playbook or component run timeouts | |
Understand individual action timeouts | |
See related structural limits (loops, nesting, data size) | |
Change timeout values |
Action Count Limits
Turbine does not enforce a fixed maximum number of actions on a canvas playbook or component. You can add as many actions as your workflow requires.
Large playbooks with many actions can affect editor performance and run duration. Split complex workflows into reusable components or sub-playbooks when practical. See Swimlane Top Tips - System PerformanceSwimlane Top Tips - System Performance.
The canvas editor keeps an undo/redo history of up to 30 changes. This limit applies only to editor history, not to how many actions a saved playbook or component can contain.
Playbook and Component Run Timeouts
A playbook run or component run is the full execution from the entrypoint through all connected actions. Timeouts apply at this level separately from individual action timeouts.
Default Behavior
When you do not set a custom timeout value in the playbook or component definition, the platform applies these defaults:
Setting | Default | Maximum |
|---|---|---|
Total run time from start | 4 hours | 24 hours |
Inactivity extension per period of job activity | 1 hour | β |
How this works in practice:
- When a run starts, Turbine sets an initial timeout window based on platform defaults.
- As actions execute, the run timeout extends by up to 1 hour from the last job activity.
- The run cannot exceed 4 hours total from the start time unless you set a higher value in the playbook or component definition (up to the platform maximum of 24 hours).
Components invoked from a playbook use the same run-timeout model when they execute.
Custom Playbook or Component Timeout
The playbook and component manifest supports a top-level timeout field. You can set a human-readable duration (for example, 10 minutes, 2 hours) or a value in milliseconds.
- A value of 0 or an unset field uses platform defaults.
- A custom value is capped at the platform maximum of 24 hours.
The canvas editor does not expose a playbook-level or component-level timeout field. To set a custom run timeout, update the playbook or component YAML source through the API or an export/edit workflow. See How Timeouts Are Configured.
Action Timeouts
Each action in a playbook or component runs as a job. Job timeouts are separate from the overall playbook or component run timeout.
Action type | Default timeout | Maximum timeout |
|---|---|---|
Connector actions and most native actions | 15 minutes | 15 minutes |
Python script actions | 1 minute | 1 minute |
Sub-playbook or component invocation | Inherits playbook run timeout (default 4 hours, max 24 hours) | Same as playbook run |
Action retries automatically stop after 15 minutes from the first retry attempt. This duration is fixed and aligns with the action job timeout. See RetriesRetries.
Individual actions support a timeout field in the manifest (human-readable or milliseconds). The canvas editor does not expose a general action timeout control for most action types. Connector and native actions use the 15-minute platform default unless overridden in the manifest.
Related Structural Limits
These limits are not a cap on total action count, but they constrain how you structure playbooks and components on the canvas.
Limit | Playbooks | Components |
|---|---|---|
Loop nesting depth | 5 levels | 5 levels |
Component or sub-playbook nesting depth | 10 levels | 10 levels |
Sub-playbook or component stack during execution | 10 levels | 10 levels |
While loop maximum iterations | 5,000 | 5,000 |
Parallel loop maximum concurrency | 5 | 5 |
Action input and output size | 20 MiB per action | 20 MiB per action |
Component name length | β | 50 characters maximum |
Component description length | β | 255 characters maximum |
For loop details, see Using the Loop Native ActionUsing the Loop Native Action. For component naming limits, see ComponentsComponents.
How Timeouts Are Configured
What you want to change | Canvas UI | Playbook or component YAML / API | Platform configuration (operations) |
|---|---|---|---|
Playbook or component run timeout | Not available | Set top-level timeout in manifest | ENGINE_PLAYBOOK_TIMEOUT, ENGINE_PLAYBOOK_MAX_TIMEOUT |
Individual action timeout | Not available for most actions | Set timeout on the action in manifest | ENGINE_JOB_TIMEOUT, ENGINE_JOB_MAX_TIMEOUT |
Action retries | Additional Options on the action | retryUntil in manifest | β |
Platform configuration changes affect all tenants on that deployment. Coordinate with your Swimlane administrator before changing engine timeout environment variables.
See Also
- How to Create a PlaybookHow to Create a Playbook
- Playbooks OverviewPlaybooks Overview
- ComponentsComponents
- RetriesRetries
- Swimlane Top Tips - System PerformanceSwimlane Top Tips - System Performance