Flows
Campaign Flows reach many customers automatically across channels such as WhatsApp, Telegram, email, and voice. You define the audience as a list of participants, then build visual flows that decide who is contacted, when, on which channel, and what happens after each communication — open the screen from Campaigns > Flows in the left menu.
Use campaigns to:
- Send outbound messages to thousands of customers without manual work.
- Build multi-step sequences — for example, WhatsApp first, then a voice call if there is no reply.
- React to customer behavior: replies, finished conversations, incoming sessions.
- Track delivery and outcomes per participant.
This page covers the visual flow builder. For the code-based campaign system, see Python campaigns.
Before you start
- At least one AI agent exists with the channel you want to use attached — see Agents and the Channels tab in Simple mode.
- The channel connection is running in Settings > Channels. Campaigns send through the channels attached to your agents.
- You are signed in to the portal with a role that allows managing campaigns.
How campaigns are organized
Open a campaign from the list to see five tabs:
| Tab | What it does |
|---|---|
| Data | Defines the participant fields: types, which ones can be imported, which are required. |
| Workflow | The visual flow editor: triggers, conditions, and actions. |
| Uploads | Imports participants from CSV files and shows upload history and errors. |
| Participants | Lists everyone enrolled in the campaign, with their field values and communications. |
| Analytics | A dashboard with campaign performance and communication outcomes. |
Every campaign has one of three statuses:
| Status | Meaning |
|---|---|
| Inactive | The campaign is not processing events. Everything can be edited. New campaigns start here. |
| Active | The campaign is running: triggers fire and communications are scheduled. The active flow is read-only. |
| Error | The campaign hit an error. Hover over the status tag to read the message. |
Only Inactive campaigns can be started, and only Active campaigns can be stopped.
A typical setup order:
- Create the campaign (name and description).
- Define fields on the Data tab.
- Build and activate a flow on the Workflow tab.
- Upload participants on the Uploads tab.
- Click Start and monitor the Participants and Analytics tabs.
Create a campaign
- In the left menu, go to Campaigns > Flows.
- Click Create campaign.
- In the Create campaign dialog, enter a Name (required, unique within your workspace) and an optional Description, shown under the name in the campaign list.
- Click Create.
The campaign appears in the list with status Inactive — nothing runs until you build a flow, activate it, and click Start. Double-click the row to open it.
In the campaign list you can:
- Filter by name or description with the search box, and by status with the Status column filter.
- Sort by the Modified and Created columns.
- Edit a campaign to change its Name and Description.
- Delete a campaign — the Delete Campaign dialog asks for confirmation, because deleting cannot be undone.
Data tab
The Data tab defines which fields each participant in this campaign has. These fields drive everything else: the CSV columns you can import, the properties you can check in flow conditions, and the values you can pass to agents.
Every field has a Level:
- Customer Profile — fields that belong to the customer across the whole workspace, such as Name, Email, and Phone. They are shared with the customer's profile in 360 View and with other campaigns.
- Participant — fields that exist only inside this campaign, such as a loan amount or a due date. Use these for campaign-specific data.
When you open the Data tab of a new campaign, the system Customer Profile fields are already there, with Import enabled and Required disabled.
Fields table
| Column | Meaning |
|---|---|
| Title | Display name shown across the portal. |
| Name | Technical name of the field. |
| Description | Optional free text. |
| Type | Data type — see below. |
| Level | Customer Profile or Participant. |
| Import | Whether this field can be imported from a file. Only checked fields are read from CSV uploads. |
| Required | Whether this field is required. Rows missing a required field fail during upload. |
- Drag the handle at the left of a row to reorder fields. The order is used in the participant details view.
- Unchecking Import automatically unchecks Required — a field cannot be required if it is not importable.
- Rows with a lock icon are system fields: System field — cannot be edited or deleted.
Field types
Available types: string, integer, numeric, boolean, date, datetime, enumeration, email, phone.
- email values are validated as email addresses during import.
- phone values keep digits only.
- enumeration values must be one of the field's allowed values.
- The type controls which operators a Field Check condition offers and how uploaded values are validated.
Add a field
- Click Fields settings.
- In the Fields settings dialog, click Add field.
- Fill in Title and Name (both required), optionally a Description, and pick a Type. Fields created here have the Participant level.
- Save the new row and close the dialog. The field appears in the table on the Data tab.
Settle on the field types before you upload data — the type decides how uploaded values are validated and which comparisons are available in conditions.
Workflow tab
The Workflow tab is the visual editor where you build the campaign logic. A campaign can contain several flows; each flow is a graph of trigger, condition, and action nodes connected on a canvas.
The screen has three areas:
- Canvas (center) — drag nodes here and connect them.
- Flows panel (top left) — the list of flows in this campaign.
- Settings & Nodes panel (right) — the flow name, the Save button, and the node palette grouped into Triggers, Conditions, and Actions. When you click a configurable node, this panel shows its settings instead.
Manage flows
- Click New flow in the Flows panel to create a flow with a default name. Rename it with the pencil icon next to the name in the right panel.
- Click a flow in the list to open it on the canvas; drag rows to change the order.
- Each flow shows a status badge — Active or Inactive. Only active flows process events while the campaign runs.
- Use the ⋯ menu on a flow row for Activate, Deactivate, and Delete (with a confirmation).
Build a flow
- Drag a node from the palette onto the canvas.
- Connect nodes by dragging from a node's output handle to the next node's input handle. Condition outputs are labeled Match and Else.
- Click a node to configure it in the right panel. Every panel has a Node name field; many also show a How it works hint.
- To remove a node or a connection, select it and press Delete or Backspace.
The editor saves automatically about three seconds after your last change; click Save in the Settings & Nodes panel to save immediately. Changes that would make an active flow invalid are not auto-saved — fix the validation errors first.
Activate a flow
A flow must pass validation before it can be activated. On Activate, Flametree checks that node settings are complete (Fill in required fields for: …) and that the structure is valid:
- The flow has at least one trigger node.
- Every trigger leads to at least one condition or action node.
- The flow contains at least one action node.
- The flow has no cycles.
- Every branch, except the Else branch of a condition, ends in an action node.