The Manual Trigger fires a workflow run immediately, either when a user clicks the Run Test button inside the workflow editor or when the workflow is called programmatically via the Flusso API. It is the simplest trigger type and requires no configuration, making it ideal for on-demand tasks and development testing.
manual_triggerEvery workflow needs a trigger โ the node that decides when the workflow starts. The Manual Trigger gives you the most direct control: the workflow runs exactly when you say so, with no waiting for an external event or a scheduled time.
When you click Run Test in the editor, Flusso fires the Manual Trigger and
immediately executes the rest of the workflow. You can optionally supply a JSON payload in
the test panel; that data will be available to subsequent steps as
{{ trigger.output.* }}. This lets you simulate real inputs during development
without needing a live external system to send data.
In production, you can fire a Manual Trigger via the Flusso REST API. This is useful for integrating Flusso into your own applications: your code calls the API with a payload, and Flusso runs the workflow with that data. Common examples include nightly batch jobs kicked off by a cron job on your own server, or ad-hoc operations initiated by an internal admin panel.
The Manual Trigger passes any data supplied in the run payload directly into the workflow context. All fields in the payload are accessible in subsequent steps using the variable syntax below.
When running a test from the editor, you can type a JSON object into the test payload panel to pre-populate these values. When calling the API, you supply the payload as the request body.
Suppose you have a workflow that processes a PDF document: it extracts text, sends it to an AI agent for summarisation, and stores the result in your knowledge base. You want an admin to be able to trigger this on any document at any time.
{{ trigger.output.document_url }}.
trigger.output.* references in subsequent steps will resolve to
null. Make sure downstream nodes handle missing values gracefully (for
example, with a Logic Gate check).
Authorization: Bearer header.