When a workflow fires
A workflow starts a run when all of the following are true:
- The workflow is active.
- The event’s organisation matches the workflow (unscoped events skip unscoped workflows).
- The event type matches the workflow’s trigger, including any trigger settings (for example a form ID or pipeline).
- The workflow’s conditions pass. Malformed conditions fail closed — the workflow does not run.
Each committed write is its own occurrence. Updating a contact three times starts a CONTACT_UPDATED workflow three times. Re-emitting the same write (queue retry, relay crash) does not start a second run: event-sourced runs are unique per occurrence and workflow.
Operator test-fires and replays are not occurrences. They always create a new run.
Events that match no workflow appear on Automation → Health with a reason: no matching workflow, malformed conditions, or the loop depth cap.