This page has moved. Go to the Node Reference →
Every action inside a Flusso workflow is performed by a node. This reference documents every available node type: what it does, how to configure it, and what output it produces. Nodes are grouped by category, matching the sidebar organisation in the editor.
{{ step_key.output.field }}
to reference the output of a previous step. Drag data pills from the console directly into fields for automatic insertion.
Triggers are the starting point of every workflow. Only one trigger per workflow is allowed.
The trigger fires based on an external event and passes its payload into the workflow context
as {{ trigger.output.* }}.
Fires when you click the Run button in the editor or call the workflow via the API. Use for on-demand tasks and for testing during development.
Output: Any data passed as the run payload (via the API or test form).
Fires when an HTTP POST request is received at the workflow's unique webhook URL
(/api/webhooks/{workflow-id}). The request body, headers, and method are
available in the output.
| Field | Description |
|---|---|
| Auth Type | None, Header Secret, or HMAC Signature. |
| Header Name | (Header Secret mode) The name of the HTTP header that must carry the secret value. |
| Secret | The expected secret value or HMAC key used for signature verification. |
Output: payload (request body), headers, method.
Fires on a repeating schedule defined by a cron expression. The workflow executes automatically at each scheduled time as long as it is in Active status.
| Field | Description |
|---|---|
| Cron Expression | Standard 5-part cron (minute, hour, day, month, weekday). Example: 0 9 * * 1-5 runs at 9 AM MonโFri. |
Output: scheduled_at โ the ISO timestamp when the run was triggered.
Fires when another workflow emits a named event via the Emit Event node. Use this to chain workflows: one workflow emits, another listens.
| Field | Description |
|---|---|
| Event Name | The name this workflow listens for. Must match the event name set in the emitting workflow's Emit Event node exactly. |
Output: event_name, payload (data from the emitting workflow).
Fires automatically when any other workflow in your account encounters a fatal error during execution. Use to build centralised error-handling or alerting workflows.
Output: workflow_id, run_id, step_key, error_message.
The following triggers work like the Webhook Trigger but validate platform-specific signatures:
Output: Same as Webhook Trigger โ the request body is available as payload.
These triggers fire when a new file is detected in a monitored location:
Output: file_name, file_path, file_size, mime_type.
The most powerful node in Flusso. The Agent node sends a prompt to a large language model and returns its response. Agents can optionally perform RAG (retrieve relevant context from a knowledge base), call external tools, and maintain memory across runs.
| Field | Description |
|---|---|
| Provider | Select one of your configured AI Providers. (Linear mode only โ in graph mode, use a Model Config node.) |
| Model | The model identifier (e.g. gpt-4o, claude-sonnet-4-6). Defaults to the provider's default model. |
| System Prompt | Instructions for the model that define its persona, constraints, or output format. Supports variable references. |
| Prompt | The user message sent to the model. Supports variable references. This is where you pass the input for the agent to act on. |
| Temperature | Controls randomness. Range 0โ2. Lower values (0.1โ0.3) are more deterministic; higher values (0.7โ1.0) are more creative. |
| Max Tokens | Maximum number of tokens in the model's response. Leave blank for the model's default. |
| JSON Mode | When enabled, instructs the model to return a valid JSON object. Use with the Output Schema field. |
| Output Schema | A JSON Schema that defines the expected structure of the model's JSON response. Flusso validates the response against this schema. |
| Context Sources | Select one or more RAG (knowledge base) steps earlier in the workflow to inject their retrieved documents into the agent's context automatically. |
| Memory Provider | (Linear mode) Select a Memory Provider and scope to enable persistent conversational memory. |
| Max History Turns | Maximum number of past conversation turns to inject from memory into the prompt. |
Output: text (raw model response), json (parsed JSON if JSON Mode is on), usage (token counts).
A configuration node (not executed) that specifies the AI model an Agent node uses in graph mode. Connect its output to the model_in port of an Agent node.
| Field | Description |
|---|---|
| Provider | Select an AI Provider. |
| Model | The model identifier. |
| Temperature | Response randomness. |
| Max Tokens | Maximum response length. |
A configuration node that specifies a memory backend for an Agent node in graph mode. Connect to the memory_in port.
| Field | Description |
|---|---|
| Memory Provider | Select a configured Memory Provider. |
| Scope | Namespace scope: agent, workflow, run, or step. |
| Namespace | Optional custom namespace override. |
| Read Last N Turns | How many past turns to inject into the agent's context. |
| Max Tokens | Token budget for injected memory. Older turns are dropped when the budget is exceeded. |
A configuration node that defines an external tool accessible to an Agent node via the Model Context Protocol (MCP). Connect to the tool_in port. Multiple MCP Tool nodes can connect to the same Agent.
| Field | Description |
|---|---|
| Name | The tool name the agent sees when deciding whether to call it. |
| Description | A natural-language description of what this tool does. The model uses this to decide when to invoke it. |
| Transport | stdio โ launch a subprocess; SSE โ connect to an HTTP JSON-RPC endpoint. |
| Command / Args | (stdio) The command and arguments to run the tool process. |
| URL / Headers | (SSE) The HTTP endpoint URL and any required headers. |
Performs a semantic vector search against one of your Knowledge Bases. Returns the most relevant document excerpts, which you can then pass to an Agent node via its Context Sources setting.
| Field | Description |
|---|---|
| Knowledge Base | The Knowledge Base to search. |
| Query | The search query. Supports variable references โ typically the user's question or the agent's prompt. |
| Limit | Maximum number of document chunks to return (default 5). |
| Threshold | Minimum similarity score (0โ1). Chunks below this score are excluded. |
| Query Expansion | When enabled, the system generates multiple variations of the query to improve recall. |
| Diversity Mode | When enabled, results are selected to maximise topical coverage (MMR algorithm). |
Output: items โ array of { text, score, metadata } objects.
Re-ranks a list of search results using a cross-encoder model that evaluates each result's relevance to the query more precisely than vector similarity alone.
| Field | Description |
|---|---|
| Results Source | Reference to a RAG step's output (e.g. {{ rag_step.output.items }}). |
| Query Source | The query string used to score relevance. |
| Top N | Return only the top N results after re-ranking. |
| Provider | The AI Provider with a reranking model. |
Output: items โ re-ranked array of { text, score, metadata } objects.
Performs a live web search and returns a list of results (title, URL, snippet). Useful for agents that need up-to-date information.
| Field | Description |
|---|---|
| Query | The search query. Supports variable references. |
| Max Results | Maximum number of search results to return. |
Output: results โ array of { title, url, snippet }.
Makes an outbound HTTP request to any URL. Use this node to interact with external REST APIs, fetch remote data, or send data to third-party services.
| Field | Description |
|---|---|
| Method | HTTP method: GET, POST, PUT, PATCH, or DELETE. |
| URL | The request URL. Supports variable references. |
| Headers | Key-value pairs to include as request headers (e.g. Authorization: Bearer token). |
| Body | Request body (for POST/PUT/PATCH). Enter JSON or a variable reference to a previous step's output. |
Output: status (HTTP status code), body (response body), headers.
Maps and reshapes data from a previous step into a new structure. Define a set of output fields, each with a name and a value expression (supports variable references and static values).
| Field | Description |
|---|---|
| Fields | A list of output fields. Each field has a name (the output key) and a value (a variable reference or static value). |
Output: An object with the defined fields as keys.
Uses an AI model to extract structured data from unstructured text (emails, documents, web pages). You define a JSON Schema describing the expected output; the model populates it.
| Field | Description |
|---|---|
| Provider | AI Provider to use for extraction. |
| Source Text | The text to extract from. Supports variable references. |
| Schema | A JSON Schema defining the output structure (e.g. {"name": "string", "amount": "number"}). |
Output: An object matching the defined schema.
Generates an image from a text prompt using an AI image model (e.g. DALL-E 3, Stable Diffusion).
| Field | Description |
|---|---|
| Provider | AI Provider with image generation capability. |
| Prompt | Description of the image to generate. Supports variable references. |
| Size | Image dimensions: 1024ร1024, 1024ร1792, or 1792ร1024. |
Output: url (URL to the generated image), revised_prompt.
Evaluates one or more conditions and routes the workflow to the true or false branch based on the result. Conditions are combined with AND or OR logic.
| Field | Description |
|---|---|
| Operator | AND โ all conditions must be true; OR โ at least one must be true. |
| Conditions | Each condition has a field (variable reference), an operator (equals, contains, greater than, is null, is empty, etc.), and a value. |
Output: result (true or false). Execution continues only down the matching branch.
Routes the workflow to one of several named branches based on the value of an expression. Similar to a switch/case statement in programming.
| Field | Description |
|---|---|
| Expression | The value to evaluate (variable reference, e.g. {{ step.output.status }}). |
| Cases | A list of case values (e.g. "pending", "approved", "rejected"). A branch is created for each case, plus a default branch. |
Output: matched_case โ the case that matched.
Iterates over an array and executes the sub-steps for each item. The current item is available inside the loop as a variable.
| Field | Description |
|---|---|
| Items Path | Variable reference to the array to iterate over (e.g. {{ fetch.output.items }}). |
Output: results โ array of outputs from each iteration; count โ number of iterations.
Splits execution into multiple branches that run simultaneously. All branches must complete before the workflow continues past the parallel node.
| Field | Description |
|---|---|
| Branches | A list of branch names (e.g. "fetch_users", "fetch_orders"). Each becomes a separate execution path in the graph editor. |
Output: An object keyed by branch name, each containing the output of that branch's last step.
Explicitly terminates the workflow run with a given status. Use at the end of conditional branches to signal success or failure.
| Field | Description |
|---|---|
| Status | completed โ marks the run as successful; failed โ marks it as failed. |
| Message | Optional message to include in the run log. |
Pauses workflow execution for a fixed number of seconds before continuing.
| Field | Description |
|---|---|
| Seconds | Number of seconds to wait (integer). Supports variable references. |
Generates a random number or selects a random item from a list. Useful for A/B testing, random routing, or simulation.
| Field | Description |
|---|---|
| Mode | number โ generate a random integer; choice โ pick from a list. |
| Min / Max | (number mode) Range for the random integer. |
| Choices | (choice mode) A list of values to choose from. |
Output: value โ the generated number or chosen item.
Creates or updates workflow variables that persist across steps. Unlike step outputs, variables can be updated multiple times during a workflow run.
| Field | Description |
|---|---|
| Variables | A list of variables to set. Each has a name, type (string, number, boolean, array, object), and value (static or variable reference). |
Output: The set variables as key-value pairs.
Increments or decrements a numeric workflow variable. Useful inside loops to count items or track progress.
| Field | Description |
|---|---|
| Variable | The name of the variable to modify. |
| Operation | increment or decrement. |
| Amount | How much to add or subtract (default 1). |
Output: value โ the new value of the counter.
Filters an array to keep only items matching a condition.
| Field | Description |
|---|---|
| Array Variable | Variable reference to the array to filter. |
| Item Alias | The local variable name for each item during evaluation (e.g. item). |
| Condition | A Symfony Expression Language expression evaluated for each item (e.g. item.status == 'active'). |
| Output Variable | The name of the variable to store the filtered results. |
Output: The filtered array stored in the specified output variable.
Sends an email using the SMTP server configured in Settings. Requires SMTP to be configured first.
| Field | Description |
|---|---|
| To | Recipient email address(es). Separate multiple addresses with commas. Supports variable references. |
| Subject | Email subject line. Supports variable references. |
| Body | Email body. Supports HTML and variable references. |
Output: sent (boolean), message_id.
Sends an HTTP POST request to an external URL. Simpler than the HTTP Request node โ intended for outbound notifications.
| Field | Description |
|---|---|
| URL | The target webhook URL. |
| Payload | JSON payload to send. Supports variable references. |
Creates a notification visible in the Flusso notification bell for a specific user.
| Field | Description |
|---|---|
| User ID | The Flusso user ID to notify. Defaults to the workflow owner. |
| Title | Short notification title. |
| Message | Notification body text. Supports variable references. |
Sends a message to a Slack channel via the Slack API or a webhook URL.
| Field | Description |
|---|---|
| Channel | The Slack channel name (e.g. #alerts) or user ID for direct messages. |
| Message | The message text. Supports Slack markdown and variable references. |
Sends a message to a Discord channel via a Discord webhook URL.
| Field | Description |
|---|---|
| Webhook URL | The Discord channel webhook URL (from Discord server settings). |
| Message | The message content. Supports variable references. |
Sends a message to a Telegram chat via the Telegram Bot API.
| Field | Description |
|---|---|
| Chat ID | The Telegram chat or channel ID to send the message to. |
| Message | The message text. Supports variable references. |
| Parse Mode | HTML or Markdown โ controls how the message text is formatted. |
Emits a named event that can trigger any workflow using an Event Trigger listening to the same event name. Use to chain workflows together.
| Field | Description |
|---|---|
| Event Name | The name of the event to emit. Must match the Event Trigger's event name in the listening workflow. |
| Payload Mapping | Key-value pairs to include in the event payload. Values support variable references. |
Sends an HTTP response back to the caller of a webhook-triggered workflow. Only applicable when the workflow is triggered via a webhook and the caller is waiting for a synchronous response.
| Field | Description |
|---|---|
| Response Data | The JSON data to send back to the webhook caller. Supports variable references. |
All file operation nodes share a common set of actions: read, write, and append.
Reads or writes files on the local server filesystem.
| Field | Description |
|---|---|
| Action | read โ read file contents; write โ create/overwrite; append โ add to end of file. |
| Path | Absolute or relative path to the file on the server. Supports variable references. |
| Content | (write/append) The content to write. Supports variable references. |
| Disk | Laravel storage disk to use (default: local). |
Output: content (read), or path and bytes_written (write/append).
Reads or writes files in Google Drive. Requires a Google account connected in the workflow's Credentials drawer.
| Field | Description |
|---|---|
| Action | read, write, or append. |
| Path | File path within Google Drive (e.g. Reports/monthly-report.txt). Supports variable references. |
| Content | (write/append) Content to write. Supports variable references. |
Reads or writes files in Dropbox. Configure Dropbox access credentials in the Integrations settings.
| Field | Description |
|---|---|
| Action | read, write, or append. |
| Path | Dropbox path (e.g. /automation/output.csv). |
| Content | (write/append) Content to write. Supports variable references. |
Reads or writes files in an AWS S3 bucket. Configure your AWS credentials and bucket name.
| Field | Description |
|---|---|
| Action | read, write, or append. |
| Path | The object key (path) within the S3 bucket. Supports variable references. |
| Content | (write/append) Content to write. Supports variable references. |
Reads or writes data in a Google Sheets spreadsheet. Requires Google integration authorised in the workflow's Credentials drawer.
| Field | Description |
|---|---|
| Action | read or write. |
| Spreadsheet ID / Range | The spreadsheet identifier and cell range (e.g. Sheet1!A1:D10). |
| Values | (write) 2D array of values to write into the range. Supports variable references. |
Output: values (2D array for read), or updated_cells (for write).
Pauses the workflow and waits for a human to approve or reject the continuation. The workflow enters Waiting status and the pending task appears on the Tasks page.
| Field | Description |
|---|---|
| Prompt | The message shown to the user on the Tasks page describing what they are approving. Supports variable references. |
Behaviour: If approved, execution continues to the next step. If rejected, the workflow run is terminated with a failed status.
Pauses the workflow and waits for a human to fill in one or more form fields. The form appears on the Tasks page. When submitted, the entered values are available in the workflow's subsequent steps.
| Field | Description |
|---|---|
| Inputs |
A list of form fields. Each field has:
|
Output: An object with each field's name as the key and the user's input as the value.