Meet Filmo at BITAM Show — Stand 105a, Madrid, 28–29 October
Filmo home

React to changes without webhooks

The Filmo API does not send webhooks. Keep another system up to date by asking what changed, or with a workflow.

A webhook is a way for one system to call another the moment something happens, such as an order being created. The Filmo API does not send webhooks: it does not call your accounting tool, your website or your spreadsheet by itself. There are two ways to keep another system up to date instead, and each has limits worth knowing.

Choose how to react

Ask Filmo what changedLet a workflow tell your system
How it worksThe other system asks Filmo, every few minutes, for what changed since its last checkA workflow in Filmo sends the data to an address of yours when something happens
Who sets it upWhoever builds the integration, or a tool such as Make, n8n or ZapierAn administrator, in the workflows section, plus an address on the other side that can receive it
DelayAs long as the time between checksUsually short, but with no guarantee
Reliable?Yes, if it also compares everything from time to timeNo: best effort, so keep a periodic check as well

Ask Filmo what changed

Most lists in the API, including orders, items, contacts and invoices, can be filtered by the date a record was last changed. The other system remembers the time of its last check and, on the next one, asks for what changed after it. This is called incremental sync, and it is how most integrations with Filmo work. Done carelessly, it can miss changes, because the date of last change is a good guide but not a perfect one:

  • It comes from the application's clock and can move back by a second.
  • Changing a line of an order, or some tags, does not always update the date of the order itself.
  • A change can still be finishing in the background when the check runs.

So a well-built integration starts each check a couple of minutes before the previous one ended, ignores the duplicates this brings, and compares everything from time to time.

What a check does not tell you

Filmo does not report deletions. A deleted record simply stops appearing, with no trace. An order you archive also disappears from the API as if it had been deleted, and comes back if you restore it. An integration that needs to remove things on its side has to compare the full lists and confirm each record before deleting anything.

Let a workflow tell your system

A workflow can start when something happens in Filmo, such as an order being reserved, and use an HTTP step to send the order to an address you choose. It needs an address on the other side that can receive it, which tools such as Make, n8n and Zapier give you. The address must be reachable from the internet: Filmo does not call local addresses or addresses on a private network. Only administrators can create and change workflows. Read about workflows.

Not a guaranteed delivery

Events start workflows after the change is saved, on a best-effort basis. The HTTP step is not signed, so the receiving end cannot prove the message came from Filmo, and the step itself does not try again: if the request fails, the run ends as failed and is not retried on its own; someone has to press Retry. The exception is an HTTP step placed inside a «Try» step («Intentar»): then the failure is caught, the run carries on after it, and you can notify someone or take another path depending on the result. Only errors of Filmo's own engine are retried, up to three attempts in total. Use the workflow to prompt a check, not as the only way to know.

Using Make, n8n or Zapier

These tools can run a check on a schedule or receive what a workflow sends. You do not need to program anything: pick one of the two ways above inside the tool.

For the person who builds the integration

The guide to syncing data covers the overlapping window, how to handle deletions and archived orders, and how to avoid reacting to your own changes: Keep data in sync.

To send data from a workflow, see how the HTTP request step works and what happens when a run fails, including how to carry on after a failed step: HTTP requests and Errors and retries.

Frequently asked questions

Did this article answer your question?