Skip to content

Core Concepts

A workflow starts, moves data through steps, and produces a result. Everything else helps you reuse it, run it safely, or understand what happened.

A workflow is an ordered set of steps. It can call an API, reshape data, branch, send a message, store a result, or invoke another workflow.

Steps run in order unless you add a branch or loop. Give important steps short, descriptive IDs such as find-customer or create-ticket; those names become the easiest way to use their outputs later.

A trigger decides when a workflow starts.

TriggerGood for
WebhookRequests from another application
ScheduleWork that runs on a cadence
FormA hosted intake or approval flow
ChatA conversation backed by workflow logic
EventActivity from a connected service

A workflow can have more than one trigger. The trigger’s payload becomes the workflow’s initial data.

Use template syntax to pass data forward:

  • {{ initial.customerId }} reads a value from the trigger.
  • {{ find-customer.body.email }} reads an earlier step’s output.
  • {{ $env.API_URL }} reads an environment value.

The editor suggests available values as you type. You can inspect the same data in every execution.

A connection holds credentials for a service. Configure it once, then select it wherever the workflow needs it.

An environment groups values and connection choices for contexts such as development, staging, and production. The workflow stays the same while its configuration changes safely.

Use a sub-workflow when several workflows need the same behavior. Use a package when you want to ship a larger solution—workflows, dashboards, and related resources—as one installable unit.

Workflow steps are also portable JSON. Copy a recipe from the Workflow Library, paste it onto the canvas, and adapt it.

  • Data stores keep structured state across runs.
  • Knowledge bases give AI steps a searchable source of approved context.
  • Dashboards turn stored results into a shared operational view.

Every run creates an execution with step inputs, outputs, timing, and errors. Start there when a result surprises you.

QuickFlo retries temporary failures when it is safe to do so. For expected failure paths—such as a missing record—use the workflow’s error handling controls to retry, continue, or branch deliberately.

Flo Agent works inside the editor. Describe an outcome, let it place and configure the first version, then review and refine the workflow on the canvas. Open it with Cmd+I or Ctrl+I.