Common editor chrome
Every node opens the same right-side slide-over when you click it on the canvas:- Header with the node title (Message, AI, Wait, Condition, Action, Opt-in/out, Note).
- X close button in the top-right corner.
- OK / Delete footer buttons.
Message
Sends a WhatsApp message to the contact. The Content type toggle at the top selects one of three sub-types.Text & Media
- Header – None / Image / Video. Image and Video upload a media file.
- Body – free text with + Var to insert a contact field.
- Buttons – None / Quick reply / URL.
- Quick reply: up to 3 button labels; each label becomes an output on the node so the flow branches on the chosen reply.
- URL: link label + destination URL.
List message
Structured list bubble with a tap-to-select menu.- Header – short header text.
- Body – message text with + Var.
- Footer – small footer text.
- Section title – section header shown above the list items.
- Items – up to 10 list items; each has a title and optional description, with a trash icon to delete.
- Save the selection as a custom field – toggle. When on, the selected item is written to the chosen contact field.
- + Add an item – appends a new list item.
Template
Sends an approved WhatsApp template.- Language – dropdown of languages the template exists in.
- Template – dropdown of approved templates for the selected language.
- Edit template / New template – shortcuts to the templates editor.
- Read-only preview of the selected template body and buttons.
AI
Runs a GAIA AI assistant turn inside the flow.- Language-match helper text at the top (“Answer in the same language as the contact…”).
- GAIA agent – dropdown of configured agents.
- Assistant context – textarea. Background information the agent should treat as ground truth for this step.
- Answer style – textarea. Tone, length, and formatting instructions.
Wait
Pauses the flow until an event happens. When the node is created the editor first shows three large cards under the helper “The flow is paused until an event has occurred.”:Duration
Answer
Message read
Duration
Helper: “Resuming flow after time has elapsed.”- Waiting duration – three number inputs: day, hours, minutes.
Answer
Helper: “Resuming flow as soon as a message is sent by the contact.”- Store the answer – checkbox, on by default.
- Select field – dropdown of contact fields (searchable, with Clear selection). The message the contact sends is written to this field when the flow resumes.
Message read
Resumes as soon as the previous outgoing message is marked as read by WhatsApp. No additional fields.Condition
Branches the flow on a property of the contact or the run. Helper on every variant: “The flow branches based on this condition. Connect the Yes output for the true path and the No output for the false path.” Every Condition node exposes two outputs on the canvas: Yes and No. Pick a property in the first dropdown, then configure the operator.Tags
- Operator –
contains. - Tags – chips with an × to remove, plus a “Search tag…” input to add existing tags.
- Node label on canvas: Contains #<tag>.
Optin status
- Operator –
is. - Value –
true/false. - Node label on canvas: Optin: Opted in or Optin: Opted out.
Contact was created
- Operator –
inTheLast. - Duration – days / hours / minutes inputs.
- Node label on canvas: Created (no duration) when the duration is zero, otherwise the duration.
Random split
- Operator –
percentageOfYes. - Percentage % – number input for the share of contacts routed to Yes.
- Node label on canvas: Random X% → Yes.
Action
Performs an operation without messaging the contact. The Type selector at the top has two options: Add tag and API Call.Add tag
Helper: “Tag the contact when this node is reached, then continue to the next node.”- Existing tags shown as chips with × (e.g.
2026-05-18T15:12:12.336124Z). - Search or create a tag… – input; typing a new value creates the tag on save.
API Call
Calls an external HTTP endpoint. Three sub-tabs: Request, Params, Response. The Response tab shows a badge with the number of mapped fields (for example “1”).Request
- API Call name – free text, placeholder
My API Call. - Method – dropdown, defaults to
POST. Standard HTTP methods. - Destination URL – placeholder
https://api.example.com/path, with + Add variable to inject contact fields. - Headers – list of key/value pairs, + Add header to add rows.
- Body – JSON textarea, defaults to
{}, with + Add variable.
Params
- Path parameters – + Add path parameter builds
/users/:id-style segments. - Query parameters – + Add query parameter appends
?key=valuepairs to the URL.
Response
Helper: “Map a key from the JSON response to a contact custom field. The value is saved on the contact after the API Call runs.”- Save response in custom fields section.
- Each row: Select field dropdown + Response key input + trash icon.
- + Add a field – appends a new mapping row.
Opt-in/out
Records the contact’s marketing consent. The editor shows two large mutually exclusive cards at the top.Opt-in
Opt-out
Note
A canvas-only annotation. Not sent to the contact.- Content – single textarea, placeholder
Write your note here….
