Skip to content
Docs
flero.ai

Sub-workflows & advanced composition

These nodes let you build large automations from smaller, reusable workflows, and connect to advanced execution patterns (distributed, streaming, offline).


Sub-Workflow

What: Embeds another workflow as a single node in this one. Runs the sub-workflow inline, waits for it to complete, and forwards its output.

Inputs: Whatever the sub-workflow's trigger expects.

Outputs: Whatever the sub-workflow's terminal node returns.

Configuration:

Field Notes
Workflow Pick from your workspace's workflows
Wait for completion If true (default), block until done. If false, fire-and-forget (parent doesn't wait).
Input mapping Map fields from this workflow into the sub-workflow's trigger payload

Use case:

  • Reusable logic ("enrich a contact") called from multiple parent workflows.
  • Decomposing a 50-node workflow into something humans can read.
  • Recursion (with care).

Example:

Parent workflow:                      Sub-workflow ("Enrich contact"):
  [Trigger]                             [Form: contact data]
     ↓                                       ↓
  [Sub-Workflow: Enrich contact]          [HTTP: Clearbit lookup]
     ↓                                       ↓
  [Salesforce: upsert]                    [Terminal: { email, company, role }]

Tips:

  • The sub-workflow appears as a single timeline entry in the parent's execution detail. Click in to drill down.
  • Versioning matters, by default, the parent always invokes the latest version of the sub-workflow. You can pin a specific version in the node's config.

MCP Client

What: Calls a Model Context Protocol server as a tool. Pairs with the MCP Trigger on the other side.

Use case: Cross-system AI agent composition. Your workflow becomes a tool that another LLM can invoke.


Distributed Execution

What: Splits the work across multiple workers, optionally in different regions.

Inputs: A collection plus a sub-workflow reference.

Outputs: Aggregated results.

Configuration:

Field Notes
Workers Number of parallel workers (default: workspace limit)
Region routing Pin work to specific regions (data residency)
Aggregation How to combine results (array, merge, reduce)

Use case: Process 10 000 items where each is independent. Wraps the pattern of Loop + Sub-Workflow but executes in parallel across workers.


Cloud Integration

What: Pre-built orchestration patterns for AWS / Azure / GCP services, e.g. spin up an EC2 instance, run a Lambda, stop it again. Higher level than calling each cloud connector individually.


Integration Automation

What: Multi-step prebuilt patterns for common integration scenarios, e.g. "sync HubSpot ↔ Salesforce on key fields". Wraps several connector nodes into one configurable node.


Collaboration

What: Coordinates multi-user workflows where humans contribute different artefacts (e.g. "Designer uploads a mock, dev reviews, PM signs off").


Offline Workflow

What: A workflow that runs entirely on a local device without network access. Used for edge / mobile scenarios.


Reactive Workflow

What: A streaming-style workflow that listens to a continuous event stream and reacts per event without restarting the whole workflow each time.


Stream Processing

What: Windowed aggregations over an event stream (count, average, top-K within the last N seconds).

Use case: Real-time analytics, anomaly detection.


3D Workflow

What: Renders a 3D visualisation of a workflow, purely for demonstration / debugging large workflows visually. Rarely used in production logic.


Tips & gotchas

  • Pin sub-workflow versions for production. Otherwise, an edit to the child silently changes parent behaviour.
  • Distributed Execution is overkill for < 100 items, the coordination overhead exceeds the savings.
  • Recursion via Sub-Workflow is allowed but Flero enforces a max-depth (default 25) to prevent runaways. Configure in workflow settings.
  • Fire-and-forget sub-workflows can produce orphaned executions if the parent dies before the child starts. Use deliberately.


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