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.

Plan-bound ceiling

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:

  1. Current running steps for your account are counted
  2. Compared against your plan's ceiling
  3. Waits up to 30 seconds if the limit is reached, re-checking each second
  4. Returns an error if the limit is still exceeded after waiting
Automatic 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.

Note

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

bash

GET /api/account/settings
X-Account-ID: your-account-id

Response:

json

{
  "account_id": "your-account-id",
  "max_concurrency": 2,
  "created_at": "2026-01-19T12:00:00Z",
  "updated_at": "2026-01-19T12:00:00Z"
}

Update Settings

bash

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:

code

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:

code

Error: Concurrency limit (2) reached for account abc123.
Too many workflows running concurrently.

Metrics to Track

Troubleshooting

Frequent Concurrency Errors

Symptoms:

Solutions:

  1. Optimize workflows to use fewer parallel branches
  2. Add delays between workflow triggers
  3. Distribute triggers more evenly over time
  4. Upgrade your plan for a higher ceiling

Resource Exhaustion

Symptoms:

Solutions:

  1. Reduce parallel branches per workflow
  2. Optimize workflow step efficiency
  3. Upgrade your plan for more concurrent capacity