Skip to content

Triggers

A trigger is the node that starts a workflow run. It decides when the workflow runs and what data the run starts with.

This section covers each built-in trigger and the connector event triggers in detail. For a short categorised list, see Nodes → Triggers.


Pages in this section

Trigger When to use
Manual & test runs Development, ad-hoc runs, and runs started from your own code through the Flero API
Webhook trigger An external system sends an HTTP request to Flero
Schedule trigger Time-based runs: every N minutes, or on a cron expression
Form trigger A person fills in a hosted form
Chat trigger Typing messages to a workflow from a chat panel in the editor
Connector event triggers Something happens in a connected service: a Granola note, a Slack message, a new Databricks job run

Choosing a trigger

Question Trigger
"An external system needs to push events to me." Webhook, or a connector event trigger if the service has one
"I want this to run on a schedule." Schedule
"A person starts it by filling in a form." Form
"I call it from code I control." Manual / API
"An LLM agent calls it as a tool." MCP trigger
"I want to chat with an AI workflow while I build it." Chat
"React to runs or metrics in my own Flero workspace." Platform triggers (admins only)

Turning a trigger on

Webhook, schedule, form and connector triggers only fire for active workflows.

  1. Save the workflow.
  2. In the editor toolbar, open the version menu and set the workflow to Active.
  3. Triggers now run the active version of the workflow.

When you edit an active workflow, your edits are saved as a new version. Set that version active when you want triggers to use it. Setting the workflow to Inactive stops its webhook, schedule, form and connector triggers.

Manual runs from the editor work in any state. See Running a workflow.


What a trigger passes to the workflow

Every run has trigger data, available as $trigger in expressions. Its shape depends on the trigger:

Started by Useful fields
Webhook $trigger.payload (the body), $trigger.headers, $trigger.query, $trigger.method, $trigger.path
Schedule $trigger.triggeredBy (scheduler), $trigger.triggerTime, plus every key of the trigger's Payload setting
Form $trigger.payload (the submitted values)
Connector push trigger Read the trigger node's output, for example {{ $node["Granola Trigger"].output.note_id }}
Connector polling trigger Read the trigger node's output. $trigger.pollTime and $trigger.itemCount describe the poll

When a run has no trigger data, $trigger is empty. See Referencing data.



Found something out of date? This page lives in the Flero docs content set.