Introduction
Workflows
A workflow is an automation you build in the Filmo app: a trigger starts a run and the steps do the work, one after another. From the API and MCP you can list the workflows of an account and start a run.
What a workflow does
Link to this section: What a workflow does- When an order is reserved, put it in the calendar, open the preparation task and tell the warehouse.
- When an invoice is validated, wait for its due date, remind the customer if it is still unpaid, and escalate a week later.
- Every weekday at 07:00, ask Neo what leaves and what comes back today, and post it where the team reads.
- When a payment is recorded, add it to the invoice in your accounting package, and leave a task if it cannot be posted.
- When an email arrives, file the invoices, route the requests and leave a summary in the chat.
Each of these is a ready-made template. To see how the pieces fit, read How workflows work; to build one now, start with the quickstart.
Insert a run:
queuedA button, the API, a schedule, a webhook, an event or a signal. The run points at the published version of the workflow, never at the draft.
Kick:
executeThe minute tick is the safety net: a lost kick is picked up on the next minute.
The worker claims the run: state
running, a lease of 300 secondsReplay the journal, then run the steps. Every unit of work is recorded once; a resumed run replays what it already did instead of doing it again.
completed·failedTerminal. A failed step ends the run as failed; there is no automatic retry of a step.
waiting+ a wake-up timeA wait step, or a retry backoff after an engine error. The next tick after that time sends it back to the queue.
pausedThe platform stopped it before a step: no credit left, or a payment problem. Only Resume brings it back.
How a workflow starts
Link to this section: How a workflow startsEvery workflow has one trigger. These are the seven types; the list in the API reports six of them in the type of the trigger (a workflow started only by another workflow, like one that was never published, comes back with no type). See Triggers for each one.
| Trigger type | The workflow starts when |
|---|---|
manual | A person, or the API or MCP, runs it. It can declare a form. |
schedule | A schedule says so (a cron expression and a time zone). |
webhook | A request arrives at the address of the workflow. |
event | Something happens in Filmo or in a connected account. The event is named in the trigger. |
signal | Another workflow sends it a signal. |
entity | A person runs it from the page of a record. The type of record is named in the trigger. |
workflow | A step of another workflow starts it. It has no button and no API. |
The API and MCP are meant to start workflows with a manual trigger.
What you can do from the API and MCP
Link to this section: What you can do from the API and MCP| To | REST API | MCP tool | Scope |
|---|---|---|---|
| List the workflows and see how each one starts | GET /api | filmo_workflows_list | workflows:read |
| Start a run of a workflow | POST /api | filmo_workflows_run | workflows:run |
The list returns each workflow with how it starts and, for a manual one, the run form: the fields that the run requires in payload, read from the published version. It never returns the definition of the workflow. Only administrators can read it, and the workflows come sorted by name.
Starting a run queues the published version of the workflow, as the Run button does for a manual trigger (the button also publishes a draft that has changes first; the API never does). The call returns the identifier of the run and the status it is born with, queued. It does not wait for the run to finish, and the API has no operation or tool that reads a run: its progress is only visible in the Filmo app. If the workflow declares a run form, its fields are required in payload, and a request that misses one answers 400 and starts nothing. A workflow that has never been saved answers 409.
Starting a run should carry an Idempotency-Key of your own: two requests with the same key return the same run instead of starting two. Without one, two requests are two runs. See the guide on idempotency in the REST API tab.
The details, with the scopes, the errors and the way to learn the outcome, are in Workflows from the API and MCP.
What a write through the API sets off
Link to this section: What a write through the API sets off- A write made through the API or MCP goes through the same path as the same change in the app. A workflow whose trigger is an event starts for real when that change happens, not only when someone works in the app. The event reaches the workflow with its
originset to API or MCP. - That holds when the action behind the endpoint is one of the events of the catalog. Which endpoints map to one is not listed here endpoint by endpoint.
- The event is sent after the response, once per change, and it is not retried if it fails. A repeated
Idempotency-Keyreturns the stored response and does not send the event again. - You cannot ask a request not to set off workflows. What you can do is check which workflows are active before you load or import data, and, in a workflow, filter an event trigger on where the change came from.
- Some changes have no event, such as most updates to items and prices, notes, tags and the planner.
- A write made by a workflow can start other workflows. Filmo stops a chain of workflows at a depth limit of ten and does not start a workflow that is already in the chain. A workflow that calls the API with a key is expected to start a new chain, because the call reaches Filmo as a request of the API; so keep that call away from the data that starts the workflow, or the two can loop.
To keep another system in step with Filmo, the guide Syncing data explains how to build push with a workflow whose trigger is an event and whose step is an HTTP request to your endpoint; the guide Push changes to your own system builds it.
Where to go next
Link to this section: Where to go nextCreate a workflow from a template, publish it and watch a run.
The canvas, the palette, autosave, Publish and the Live switch.
How a step reads what an earlier one produced.
States, the run viewer, errors, retries and limits.
The operation to start a run, with the rest of the REST API.
Polling and push, with a workflow that calls your endpoint.
Related pages
Link to this section: Related pagesIntroduction
How workflows work
A workflow is an automation you build in the Filmo app. One trigger starts it; the steps that follow do the work, one after another.
Introduction
Quickstart: run a workflow from a template
In about ten minutes you will create a workflow from a template, publish it, run it once by hand and see what happened, step by step.
Guides
Syncing data
Filmo v1 does not send webhooks, so you keep another system in step by polling: read what changed in half-open time windows, and run a separate sweep to find what was deleted. Do not follow the pagination cursor to decide what changed or what disappeared.
Introduction
REST API overview
The Filmo REST API v1 is a JSON API over HTTPS at
https://. You authenticate with an API key, and every response uses the same envelope.app. filmo. io /api /v1
Was this page helpful?