Guides
Start a workflow from your own system
Your web shop posts each new order to Filmo. The workflow shows an internal notification with the order number and total.
Before you start
All data below is fictitious. You need an administrator role. The workflow only shows a notification inside the app: it sends no email and changes no data.
Build it
Link to this section: Build itCreate the workflow
«New workflow», «Set up a trigger», «Webhook».
Declare the body
Under «Body», declare a «Structure» with three fields:
orderNumber(«Text»),customerEmail(«Text») andtotal(«Number»).Show a notification
Add «Internal notification». Style neutral, to all users. Title: "New web order". Message: insert the variables
orderNumberandtotalfrom the trigger's body.Publish and go live
«Publish and activate». Then copy the «Endpoint» and the «Secret» from the trigger's side panel.
Send a delivery
Link to this section: Send a deliverycurl -sS -X POST "https://app.filmo.io/api/webhooks/workflows/whk_<token>" \
-H "X-Webhook-Secret: whsec_<secret>" \
-H "Idempotency-Key: web-order-1001" \
-H "Content-Type: application/json" \
-d '{"orderNumber":"W-1001","customerEmail":"ana@example.com","total":120.5}'Filmo answers 202 with the id of the run. Open the Runs tab: the run completed, and everyone in the app received the notification. Send the same command again: the second answer is 200 with duplicate: true and the same run id, because the Idempotency-Key is the same.
See the part that surprises
Link to this section: See the part that surprisescurl -sS -X POST "https://app.filmo.io/api/webhooks/workflows/whk_<token>" \
-H "X-Webhook-Secret: whsec_<secret>" \
-H "Content-Type: application/json" \
-d '{"orderNumber":"W-1002","customerEmail":"ana@example.com","total":"120.5"}'This one also answers 202. But total is the text "120.5", not a number, so the run starts and fails with "the webhook body does not match the declared type: total: expected a number and received a text". The sender is never told. This is why you should check the Runs tab, or declare the field as Unknown if your sender cannot be trusted to send numbers.
Things to check
Link to this section: Things to check- 404 means not published, not live, paused or a wrong token. 401 means a missing or wrong secret.
- There is no way to change the token or the secret. If one leaks, build a new workflow.
- Anyone who can open a public workflow can read its secret (administrators can still open private ones). Make it private if that matters.
- Send an
Idempotency-Keyfor anything that must not run twice.
The complete contract, with every response and limit, is in Incoming webhooks.
Related pages
Link to this section: Related pagesBuild
Incoming webhooks
A webhook trigger gives the workflow a private address. Your system POSTs JSON to it with a secret, Filmo answers 202 straight away, and a run starts.
Build
Data and expressions
You do not write formulas in a workflow. You pick values from lists, and Filmo stores what you picked as a structured expression. This page explains what the picker offers and how the values behave when the run executes.
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.
Was this page helpful?