Docs / Strand / advanced/concurrency
Max Workflow Concurrency
Strand limits how many workflow steps can execute simultaneously for your account to manage resource usage and ensure fair allocation.
Overview
The enforced concurrency limit is set by your plan tier; it is not a freely configurable number. When a step is about to run, Strand counts your account's currently running steps and compares against your plan's ceiling.
| Plan | Max concurrent steps |
|---|---|
| Free | 2 |
| Starter | 3 |
| Standard | 5 |
| Pro | 8 |
See tendrl.com/pricing for current plan details.
The concurrency ceiling is resolved from your plan tier at runtime. The account-level Max Workflow Concurrency setting is a stored preference and cannot raise the limit above your plan's ceiling. To run more steps in parallel, upgrade your plan.
How It Works
When a workflow step is about to execute:
- Current running steps for your account are counted
- Compared against your plan's ceiling
- Waits up to 30 seconds if the limit is reached, re-checking each second
- Returns an error if the limit is still exceeded after waiting
If your limit is reached, the system automatically waits for running steps to complete before proceeding. This prevents immediate failures in most cases.
Configuration
Concurrency is set by your plan, and the plan ceiling always applies. The account setting below is a stored preference that can only lower your effective concurrency -- it cannot raise it above your tier.
There is no field for this in the dashboard; set it through the API. Your plan's ceiling is shown read-only on your profile page alongside your other limits.
API
Get Current Settings
GET /api/account/settings
X-Account-ID: your-account-id
Response:
{
"account_id": "your-account-id",
"max_concurrency": 2,
"created_at": "2026-01-19T12:00:00Z",
"updated_at": "2026-01-19T12:00:00Z"
}
Update Settings
PATCH /api/account/settings
X-Account-ID: your-account-id
Content-Type: application/json
{
"max_concurrency": 2
}
Account for Nested Workflows
When using flow.call nodes, remember that nested workflows count toward the same concurrency ceiling:
Parent Workflow (3 steps) + Child Workflow (5 steps) = 8 concurrent steps
On the Free plan (ceiling 2), this combination will queue and wait rather than run all at once.
Monitoring
If a workflow fails due to concurrency limits, the error indicates the ceiling that was hit:
Error: Concurrency limit (2) reached for account abc123.
Too many workflows running concurrently.
Metrics to Track
- Frequency of concurrency limit errors
- Average workflow completion time
Troubleshooting
Frequent Concurrency Errors
Symptoms:
- Workflows frequently fail with concurrency errors
- Dashboard shows many running workflows
Solutions:
- Optimize workflows to use fewer parallel branches
- Add delays between workflow triggers
- Distribute triggers more evenly over time
- Upgrade your plan for a higher ceiling
Resource Exhaustion
Symptoms:
- Workflows wait often, throughput is lower than expected
Solutions:
- Reduce parallel branches per workflow
- Optimize workflow step efficiency
- Upgrade your plan for more concurrent capacity
Related Topics
- Performance Optimization - Optimize workflow execution
- Error Handling - Handle workflow errors
- Nested Workflows - Call workflows from workflows
- Plan Limits - All plan-based limits
Tendrl