The numbers in the Cloud column are the limits enforced on
cloud.activepieces.com. On self-hosted
installations every limit is configurable through the environment variable
shown in the table — the Self-hosted default column lists the value applied
when the variable is unset.
Execution
Run timeout, worker memory, retention.
Concurrent runs
How many flow runs a project can execute at once.
Files & flow run logs
File sizes, log size, slicing thresholds.
Webhooks
Response timeout, payload size, inline threshold.
Key / value storage
Store piece key length and value size.
Execution
Limits on how long a flow runs, how much memory and concurrency a worker gets, and how long run data is kept. The run timeout counts only active execution time — flows paused by Wait for Approval or Delay don’t count against it.
Platform admins can shorten the execution-data retention window for a single
project by setting
executionDataRetentionDays on the
update project endpoint; null reverts the
project to the instance-wide value. The value must be between
AP_PAUSED_FLOW_TIMEOUT_DAYS (a shorter window would delete the data a
still-paused run needs to resume) and AP_EXECUTION_DATA_RETENTION_DAYS (the
instance value is the ceiling). Raise the instance value if you need a wider
range to place projects in. If either variable changes after an override was
saved, the override is clamped back into the new bounds at cleanup time.
Concurrent runs
A project can only execute a certain number of flow runs at the same time. On Cloud, that number depends on your plan:
These limits exist because Cloud runs everyone’s flows on shared machines. If
one project could start thousands of runs at once, it would take over the
capacity that other customers’ runs need, and their flows would slow down or
stall. Capping how many runs each project executes at a time keeps start times
predictable for everyone.
A run that arrives while the project is at its limit is not lost or failed. It
waits in a queue and starts automatically as soon as one of the running flows
finishes. For most workloads this queuing is invisible; it only becomes
noticeable when a flow receives a large burst of triggers at once, in which
case the burst is worked through a few runs at a time.
Platform admins can give a specific project a different limit in its settings;
see Manage Concurrency. On Cloud a
per-project value can lower the limit but never raise it above what the plan
allows.
On self-hosted installations plans don’t apply. Enforcement is off by default
and uses a single limit for every project when enabled:
Files & flow run logs
Files emitted by actions or triggers are persisted to the database or S3 so a flow can retry from a later step. The log-size limit covers the combined inputs and outputs of every step in a single run.
How it works
- Input — values above
AP_FLOW_RUN_LOG_INPUT_TRUNCATE_THRESHOLD_KBare replaced with a placeholder in the log; the step still receives the full value at runtime. - Output — outputs above
AP_FLOW_RUN_LOG_SLICE_THRESHOLD_KBare offloaded to object storage and replaced with a reference in the log; the payload is re-hydrated on demand. - Total — the cumulative size of inputs and outputs (counting the
original size of offloaded outputs) is capped by
AP_MAX_FLOW_RUN_LOG_SIZE_MB. Runs that exceed it end with statusLOG_SIZE_EXCEEDED— regardless of how many outputs were offloaded to object storage. LoweringAP_FLOW_RUN_LOG_SLICE_THRESHOLD_KBwill not buy more log headroom; only raisingAP_MAX_FLOW_RUN_LOG_SIZE_MBdoes.
Webhooks
Limits on how long a synchronous webhook waits for a response and how large an incoming payload can be.Key / value storage
Used by the built-in Store piece and any piece that callscontext.store.
Values are stored directly in Postgres (jsonb), so unlike files and run logs
they are not offloaded to object storage. Every stored value counts toward
your database size and is read and written in full on each access.