Run
Limits and credits
Each limit below is enforced by the engine. The last column says what happens when you reach it, because that is usually the question.
Run limits
Link to this section: Run limits| Limit | Value | At the limit |
|---|---|---|
| Steps in one run | 1000 positions. The trigger, every condition, switch, iterate, loop check, jump, wait and action each take one, and so do steps replayed after a wait. A Try takes none, but the steps inside it do. | The run fails at once with no retry. |
| Steps replayed when a run resumes | 1000 | The run fails with no retry. |
| Attempts after an engine error | 3 (waits of 30 and 60 seconds) | The run ends as failed. |
| Laps of a Loop | 1 to 500; a new loop starts at 100 | The step fails, so the run fails (a Try around the loop can catch it). |
| Items of an Iterate step | 500 | The run fails before processing any item. |
| Jumps of a Jump step | 1 to 500; a new one starts at 3 | The run continues with the next step. |
| Chain of runs (signals, Trigger workflow, events) | 10 hops | The firing or triggering step fails; an event is ignored. |
| One Wait step | 30 days | Refused when you save. |
| One Wait until step | 365 days ahead | The step fails when it runs. |
| Adjust date | 3650 days either way | Refused when you save. |
| How long a worker may hold a run | 5 minutes | After that the run can be taken over, and that costs an attempt. |
| Depth of a stored definition | 100 levels | Refused when you save. |
There is no maximum number of steps in a workflow: the limits are on what one run does.
Other limits
Link to this section: Other limits| Where | Limit | At the limit |
|---|---|---|
| Webhook body | 256 KiB | 413 |
| Webhook rate | About 60 requests a minute per address (counted per server instance) | 429 with Retry-After |
| Webhook Idempotency-Key | 255 characters | 400 |
| HTTP step response | 5 MB | The step fails |
| HTTP step time | 15 seconds without activity | The step fails |
| HTTP step redirects | 3 | The step fails |
| Email search / calendar search | 50 results | Truncated: the newest 50 emails, the 50 earliest events |
| Email inline attachments | About 2.7 MiB once encoded (about 2 MiB of files) | The step fails |
| Email from Filmo attachments | About 39 MiB encoded | The step fails |
| Run history shown | 100 runs | Older runs are not reachable in the app |
| Runs kept | 90 days after they end | Deleted with their steps |
| REST API / MCP | 120 requests a minute per key | 429 |
| REST API / MCP idempotency | 24 hours of replay | A repeat after that is a new run |
Running a workflow uses the same pool of credits as the AI in Filmo.
- One credit for every action step that completes, whatever it does. A wait, a Set variable and an Adjust date cost one, like an email does.
- Free: the trigger, conditions, switches, loops, iterations, jumps, steps that fail, and anything replayed after a wait, a retry or a resume.
- A step in the body of a loop or an iteration costs one on every lap.
- A step that calls the AI costs that credit plus AI credits for the tokens it used.
- On a retry, a step without AI is charged only once; a step with AI is charged on every attempt.
- What you see are credits, never tokens: on the run card, in the run history and on each step.
When credit runs out
Link to this section: When credit runs outBefore each action step the engine checks the company's credit. The outcome depends on why it refuses:
| Reason | Result | What you do |
|---|---|---|
| No credits left | The run is «Paused». | Add credit or turn on «Turn on pay-as-you-go», then press «Resume». |
| A payment problem on the subscription | The run is «Paused». | Fix the payment, then press «Resume». |
| Workflow execution is switched off for the company | The step fails, so the run fails. | Ask whoever administers the AI settings to turn it on again, then Retry. |
| No subscription found | The step fails. | Contact support. |
- The check asks whether any credit is left, not whether there is enough for this step, so the last step can take consumption slightly over the limit.
- A pause costs nothing, writes no error and sends no notice. The run continues at the step that was blocked.
- Plans with no ceiling never reach the limit. A monthly budget on pay-as-you-go still stops the run at the budget.
- If the billing service itself is down, the step goes ahead rather than pausing every run of every company.
Related pages
Link to this section: Related pagesRun
Errors and retries
Two different things go wrong in a run: a step reports a problem, or the engine itself breaks. They are treated differently, and the difference is the most important thing on this page.
Build
Branches and loops
Three steps repeat work (and a fourth, Try, keeps a run going after a failure): Loop repeats while a condition holds, Iterate steps run their body once per item of a collection, and Jump goes back to an earlier step. Each has a limit, and each limit is enforced.
Run
Runs
A run is one execution of a workflow. Every run keeps what it did, step by step, so you can see where it stopped and why.
Was this page helpful?