Workflow tab
The Workflow tab is where you build the logic of a campaign by connecting triggers, conditions, and actions into flows.
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.
Editing while the campaign runs
While the campaign status is Active, its active flow opens read-only: nodes cannot be added, edited, or removed, and Activate / Deactivate in the flow menu are disabled. Click Stop on the campaign to edit, then Start it again.
Triggers
Triggers are the entry points of a flow — green nodes that fire when something happens to a participant. When a trigger fires, the flow runs for that participant, following the connections from the trigger node.
A flow needs at least one trigger, and each trigger type can appear only once per flow — if it is already on the canvas, its palette entry is disabled. Triggers have no settings to fill in.
Six triggers are available:
- Participant Created
- Participant Updated
- Communication Ended
- Communication Updated
- Incoming Session
- From Another Flow
For exactly when each one fires — including which communication statuses count — see Flow nodes.
For example, to start outreach to every new contact, connect Participant Created to an optional Field Check and then to a communication action; every uploaded contact gets the first message. Other common patterns chain a follow-up off Communication Ended, or use Incoming Session → Cancel Communications so a customer who reaches out on their own stops receiving scheduled outreach.
Use Communication Ended rather than Communication Updated for "what next" logic: Ended fires once per communication with the final outcome, while Updated can fire several times while the conversation is in progress.
Triggers fire only while both the campaign and the flow are Active.
Conditions
Conditions are yellow Field Check nodes. A Field Check compares one field against a value and routes the participant down one of two branches:
- Match — the comparison is true.
- Else — any other result. The Else branch may stay unconnected; participants that fall into an unconnected Else stop in this flow.
To configure a Field Check, click the node, pick the Property to check, pick an Operator, and enter the Value to compare against. The operators offered depend on the field type, and you can compare against a static value or — through the button — another field, Today with an offset, or a Python expression. For the full operator list by field type and the dynamic value sources, see Flow nodes.
For example, to branch on whether a customer still owes money, set Property to amount paid, Operator to is less than, and the value to the amount due field through the button: the Match branch then handles participants with an outstanding balance, and the Else branch handles the rest.
Actions
Actions are blue nodes — the steps that do something: send a message, start a call, update data, or move the participant. Every branch of a flow, except an unconnected Else, must end in an action. Click an action node to configure it in the right panel; required fields are checked when you activate the flow.
Eight actions are available:
- Communication actions — WhatsApp Communication, Telegram Communication, Email Communication, and Voice Communication schedule an outbound contact for the participant and create a communication record you can track on the Participants and Analytics tabs.
- Control actions — Cancel Communications, Update Field, To Another Flow, and Python Custom Action.
For every node's settings and required fields, see Flow nodes.
The Agent lists offer only agents that have a channel of the matching type attached. Connect the channel in Settings > Channels and attach it to the agent first.
For example, to send the opening WhatsApp message, drop a WhatsApp Communication action, choose the Agent and Agent Channel, click Set a template message and pick an approved WhatsApp template, set the Communication Date and Time to Today, and set a Communication Hours window (or turn on Best time to contact). The action then creates a communication for each participant that reaches it.
Python custom action
The Python Custom Action node runs a custom Python script as a flow step, for cases the built-in nodes don't cover. Configure its script in the node panel — the field is listed in Flow nodes. This is a single node inside a visual flow; it is not the same as the legacy code-based campaign system, which is documented in Python campaigns.
Related pages
- Data — define the fields used in conditions and actions
- Participants — the participants flows act on
- Analytics — track the communications flows create
- Flow nodes — the full field reference for triggers, conditions, and actions