Flow nodes
This page is the field reference for the nodes you connect on the Workflow tab of a campaign. For how to build, validate, and activate a flow, see Flows.
Nodes fall into three groups: triggers (green, the entry points), conditions (yellow Field Check nodes), and actions (blue, the steps that do something). Every node panel has a Node name field; the required fields below are the ones Flametree checks when you activate the flow.
Triggers
A flow needs at least one trigger, and each trigger type can appear only once per flow. Triggers have no settings to fill in.
| Trigger | Fires when |
|---|---|
| Participant Created | A new participant is added to the campaign — by a file upload or through the API. |
| Participant Updated | A participant's field values change. |
| Communication Ended | A communication for the participant reaches a final status: Completed, NoResponse, Failed, Canceled, or Skipped. |
| Communication Updated | A communication reaches an intermediate status: Started, Delivered, Read, or Replied. |
| Incoming Session | The participant starts an inbound conversation with one of your agents. |
| From Another Flow | A To Another Flow action in a different flow of this campaign sends the participant here. |
Conditions
A Field Check compares one field against a value and routes the participant down the Match branch (the comparison is true) or the Else branch (any other result).
| Field | What it does |
|---|---|
| Property | The field to check. Properties are grouped by level: Customer Profile, Participant, and Communication Results — values produced by the participant's last communication. |
| Operator | The comparison to apply. The list depends on the field type — see below. |
| Value | The value to compare against. Not needed for is set / is not set. Type a static value, pick one from a list for enumeration and boolean fields, or click to compare against a dynamic value. |
The node name fills in automatically based on the chosen field; edit Node name to use your own label.
Operators by field type
| Field type | Operators |
|---|---|
| integer, numeric | is set, is not set, is equal to, is not equal to, is less than, is greater than, is less than or equal to, is greater than or equal to, is between |
| string, email, phone | is set, is not set, is equal to, is not equal to, contains, starts with, ends with, in list |
| date, datetime | is set, is not set, is equal to, is before, is after, is on or before, is on or after |
| enumeration | is set, is not set, is equal to, is not equal to, in list |
| boolean | is set, is not set, is equal to, is not equal to |
Is between asks for two values; in list accepts several values.
Dynamic values
Click the button inside the value field to compare against something dynamic instead of a static value:
| Source | What it does |
|---|---|
| Properties | Pick another field of the same type — for example, "amount paid is less than amount due". |
| Today | For date fields, optionally with a plus or minus offset. |
| Python expression | Write a custom expression for advanced cases. |
Actions
Every branch of a flow, except an unconnected Else, must end in an action.
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. The Agent lists offer only agents that have a channel of the matching type attached.
Fields shared by the WhatsApp, Telegram, and Email actions:
| Field | What it does |
|---|---|
| Communication Name | A unique name for this communication; it appears in the participant's communications list. Required for Telegram and Email. |
| Agent | The AI agent that handles the conversation. |
| Agent Channel | Which of the agent's channels to use. Inactive channels are marked in the list. |
| Communication Date and Time | Use Date and Time from: a date field or Today, with an optional plus or minus offset. This is the base date of the send. |
| Communication Hours | A From / To window in which sending is allowed, or Best time to contact to let Flametree pick the time. |
| Communication Duration | How many hours the communication stays open before it is closed. |
| Customer Context | Fields whose values are passed to the agent as context about this customer. |
WhatsApp Communication
Click Set a template message (it becomes Change template once a template is chosen), pick an approved WhatsApp template, and map its variables to participant fields.
| Required field | Notes |
|---|---|
| Agent | An agent with a WhatsApp channel attached. |
| Agent Channel | The WhatsApp channel to send through. |
| Template | An approved WhatsApp template, with its variables mapped. |
| Base date | The Communication Date and Time source. |
| Communication Duration | How long the communication stays open. |
| Time window | A From / To window, or Best time to contact. |
Telegram Communication
| Field | What it does |
|---|---|
| Start Phrase | Optional. The first message sent to open the conversation. |
Plus the shared fields above (Communication Name is required).
Email Communication
| Field | What it does |
|---|---|
| Email Template | The subject and body of the message. |
Plus the shared fields above (Communication Name is required).
Voice Communication
Starts an outbound call through a voice (SIP) agent.
| Field | What it does |
|---|---|
| Phone | The participant field that holds the number to dial. |
| SIP Server | Required. The SIP server to place the call through. |
| SIP Parameters | Optional, in key=value;key=value format. |
| Schedule | Use Exact Date & Time, or Optimize Delivery Time with a base date and a Communication Hours window. |
| Communication Duration | How many hours the communication stays open before it is closed. |
Control actions
Cancel Communications
Cancels all planned and active communications for this participant and sets their status to Canceled. No parameters.
Update Field
Sets participant field values. Add one or more Assignments:
| Field | What it does |
|---|---|
| Attribute | The participant field to change. |
| Operation | set or reset. |
| Value | For set only: a static value, another field, Today with an offset for dates, or a Python expression. |
To Another Flow
Moves the participant to a different flow of the same campaign.
| Field | What it does |
|---|---|
| Target flow | The flow to move the participant to. That flow must contain a From Another Flow trigger and be active for the move to take effect. |
Python Custom Action
Runs a custom Python script as a flow step, for cases the built-in nodes don't cover.
| Field | What it does |
|---|---|
| Script | The Python code that runs for the participant when the node is reached. |
For the legacy code-based campaign system, see Python campaigns.
Related pages
- Flows — build, validate, and activate the flows these nodes belong to
- Session Statuses — how a communication's final status maps to an outcome
- Supported Channels — the channels the communication actions send through
- Python campaigns — the legacy code-based campaign system