*Workflows › Run*

# Troubleshooting

> Start with what you see: the workflow did not run, a run failed, or a run is not moving. Each section lists the likely causes in the order worth checking.

## The workflow didn't run

A trigger that fires and a trigger that was filtered or ignored look the same from the outside: there is no run. Check, in this order:

- Is it published, and is it «Live»? A draft, a paused workflow and an archived one fire nothing. If the panel says «Unpublished changes», the workflow is running the old version.
- Did you publish after changing the trigger or its filter? Triggers and filters take effect on publish, not on autosave.
- Event trigger: is the change one of the catalog events? Tags, availability, most imports and most operations on serialized units (prepare, deliver, return) are not events. Creating a serialized unit is. Is the «Only when» filter right? A filter that fails closed, such as a missing variable, a null, or a date compared with an instant, leaves no run at all, silently. Remove the filter to test.
- Event trigger from a connected account: is the account connected, and is it the creator's own mailbox? The email and calendar triggers fire only for workflows created by the mailbox owner and need the email and calendar add-on.
- Event caused by another workflow: Filmo never starts a workflow that is already in the chain that caused the event, and it cuts a chain at ten hops.
- Schedule: check «Time zone», and remember that a run starts up to about a minute late, that missed occurrences are not made up, and that occurrences that pass while the workflow is paused are lost.
- Signal: is the signal archived? Is the listener live and published? Did you republish the listener after changing the signal?
- A webhook: see below.

## A webhook answers 401, 404 or 202 and nothing happens

| You get | Likely cause |
| --- | --- |
| 404 `not_found` | The workflow is not published, not live or paused; the token is wrong; or the trigger is no longer a webhook. |
| 401 `unauthorized` | The secret is missing or wrong. Send `X-Webhook-Secret` or `Authorization: Bearer`. |
| 409 `no_version` | The workflow was never published. |
| 400 `invalid_json` | The body is empty or not JSON. |
| 429 | About 60 requests a minute to this address (counted per server instance). |
| 200 with `duplicate: true` | You repeated an `Idempotency-Key`: no new run, the same run id. |
| 413 `body_too_large` | The body is over 256 KiB. |
| 400 `idempotency_key_too_long` | The key is longer than 255 characters. |
| 202, and then the run fails | The body did not match the type you declared. The 202 means it was queued; open the run to read why. |
| 202, but two runs | You did not send an `Idempotency-Key`. |

## A run failed

- Open the run and click the step with the red border. Read the «Error» tab: the HTTP status and body, the fields that failed, the details and the code. The engine's messages are in Spanish.
- "You do not have permission to run …": the [creator of the workflow](https://docs.filmo.io/workflows/permissions#run-actor) lacks the permission, or the action is locked by an add-on, a provider that is not connected or the AI credits. The creator's current role counts, not the role they had when they built it.
- "The field … has no value": a variable the step reads did not exist in this run, or a text referred to a value that does not exist. See data and expressions, empty values.
- "… expected a text and received a number": the data does not match its declared type. Declare the field as the type it really has, or as Unknown.
- "The loop exceeded … laps": the loop's limit counts condition checks, so the body can run one time fewer than the maximum. Raise it, or fix the condition.
- "… resolved more than 500 elements": narrow what you iterate.
- "The run exceeded the budget of 1000 steps": a loop or iteration is doing too much. Split it.
- An HTTP step failed with a status: the response is in the step's error. Filmo does not retry. Fix your endpoint, then Retry.
- The run is completed but a step did not do its job: look for a card marked as a caught error. A Try step caught the failure and the run went on; open the Try to read the message. See [the Try step](https://docs.filmo.io/workflows/errors-and-retries#try).
- Email or Slack: the creator's mailbox is disconnected, the sender account belongs to someone else, or the Slack channel is given by name instead of by id.
- Accounting: "Assign the tax in <provider>" opens the tax map. Save it, and retry the blocked runs.

## A run is not moving

| State | What to do |
| --- | --- |
| «Queued» | Give it a minute: if a kick is lost, the next minute's tick picks it up. If it stays, tell support. |
| «Running» | A worker holds it for at most five minutes; then it is taken over. |
| «Waiting» | Open the run: the card says when it resumes. A wait step wakes up to about a minute late. A run that is retrying after an engine error is also here. |
| «Paused» | Out of credit or a payment problem. Fix that, then press «Resume»: nothing wakes a paused run on its own. |

## I can't publish, switch live or change visibility

| Message | Cause |
| --- | --- |
| A required field is blank (422): "<step> → <field>" | Fill in the fields, as the template left them blank. |
| "<Integration> needs setup: …" (422) | A connected accounting provider lacks accounts, tax maps or a payment account. |
| A step is tied to a provider its account does not belong to (422) | Choose an account of that provider, or untie the step. |
| "Publish the workflow before activating it" (409) | A template draft: use Publish and activate. |
| "A workflow with private steps (email) cannot be made public" (409) | Remove the email and calendar steps, in the draft too, and in the published version. |
| "The workflow was modified from elsewhere at the same time" (409) | Someone published at the same moment. Try again. |
| "The definition of the workflow is not valid" (422) | The message lists the first three fields that are wrong. |
| "The cron expression is not valid" (422) | Fix the expression of the schedule trigger. |

> **My changes vanished:** If you are not an administrator, your edits are not saved, and the editor does not tell you. Ask an administrator.

## Other things people ask

- A workflow switched itself off: you published it while it was live with required fields blank. Fill them in and switch it on.
- Duplicated notices or tasks: the same template was installed twice, or an event trigger and a schedule both do the work.
- A condition went the wrong way: dates compared with instants; text compared with a different case; a variable that does not exist.
- A run shows only the first execution of a step in a loop: that is how the step panel works.
- The run history ends at 100 runs: that is the most the viewer shows. Runs are deleted 90 days after they end.
- No notice by email: only one per hour per workflow. Check the in-app notices.

> **Tip:** When you are stuck, the full list of states, errors and limits is in [Runs](https://docs.filmo.io/workflows/runs), [Errors and retries](https://docs.filmo.io/workflows/errors-and-retries) and [Limits and credits](https://docs.filmo.io/workflows/limits).

---

Canonical URL: https://docs.filmo.io/workflows/troubleshooting  
Last updated: 2026-10-09