Triggo Documentation
Workflow Builder

Limits

Timeouts, rate limits, tier quotas, and other caps enforced by Triggo.

Limits

Every cap Triggo enforces at runtime, in one place. Values below are pulled directly from the executor and billing code — not aspirational.

Execution timeouts

Both timeouts abort the in-flight work and record a step_timed_out event in the journal. Pipeline-level timeout is a hard global cap — you cannot raise it per workflow.

ScopeValueSource constant
Step (single node)30 s (30 000 ms)DEFAULT_STEP_TIMEOUT_MS
Pipeline (whole run)300 s / 5 min (300 000 ms)DEFAULT_PIPELINE_TIMEOUT_MS
Maximum global timeout300 s (300 000 ms)MAX_GLOBAL_TIMEOUT_MS

A step that exceeds the step timeout fails with a TIMEOUT error. A run that exceeds the pipeline timeout is aborted regardless of which step is currently executing.

Run rate limits (per user)

LimitValue
Runs per user per hour100
Window3 600 000 ms (1 h)
AtomicityRedis Lua EVAL (atomic check-and-increment)

When a user exceeds the cap, the execution is rejected without incrementing the counter, and a Russian-language system message is posted once per pipeline per window to the associated chat thread: Превышен лимит запусков (100 в час). Выполнение возобновится через N мин.

The Lua script guarantees concurrent webhook workers cannot overshoot the cap.

Workflow structural limits

Enforced at deploy time and at runtime.

LimitValueSource constant
Max nodes per workflow500MAX_WORKFLOW_NODES
Max edges per workflow1000MAX_WORKFLOW_EDGES
Max loop nesting depth3 (0-indexed; 0 = top-level loop)MAX_LOOP_NESTING_DEPTH

Workflows that breach these caps are rejected on save/deploy.

Circuit breaker (per integration)

Protects a third-party API from further requests after repeated failures. State is Redis-backed and shared across all workflows touching the same integration.

ParameterValue
Failure threshold5 failures
Failure window300 s (5 min)
Cooldown (open state)60 s

See Error handling for recovery semantics and how half-open probes work.

Auto-pause (per pipeline)

After 3 consecutive failed runs, the pipeline is stopped. Tracked via Redis key autopause:{pipelineId}:failures. A successful run resets the counter.

See Error handling for how to re-enable a paused pipeline.

Tier quotas

Runtime API and MCP calls authenticated by Bearer API key are rate-limited per key using a Redis ZSET sliding window. API key quotas (active keys per account) are enforced at key-creation time.

TierRuntime API (req/min)Active API keys
free601
starter3003
pro1 00010
business1 000unlimited

Unknown or missing tier falls back to 60 req/min. Window size is 60 s, exact — there is no burst allowance beyond the steady-state rate.

Every runtime response carries rate-limit headers (x-ratelimit-limit, x-ratelimit-remaining, x-ratelimit-reset as epoch seconds); 429 responses also include retry-after (seconds).

See Agent rate limits for the exact header contract. Raise your tier from the Billing section of workspace settings.

On this page