Open builder on a campaign, or /campaigns/:id/builder. The builder takes the whole screen.
The campaign builder canvas with AI Generate marked 1, Add new Trigger marked 2 and Run marked 3
1

AI Generate

Draws a whole workflow from a description. See AI Generate.
2

Add new Trigger

Adds what makes customers enter this campaign. See Triggers.
3

Run

Fires the campaign against its audience now.

The three areas

  • Left, the node palette, grouped into Builtin, Contact and Messaging. See Automation Nodes.
  • Middle, the canvas. Drag the background to pan, scroll to zoom, drag a box to select several nodes.
  • Right, the config drawer for whichever node you clicked.
The header holds AI Generate, History, Link Products and the save indicator. Saving happens by itself in the background; the spinner says when it is running. Closing the tab with unsaved work asks whether to save or discard.

Draw the flow

Drag it from the palette onto the canvas, or click the + on an existing arrow to insert a node in the middle of it.
Drag from the small circle on the source node to the circle on the target.
Select a node or arrow and press Del, or use the node’s own menu.

Configure a node

The drawer’s fields come from the node’s own schema, so each node shows only what it needs. Fields validate as you type, and four helpers appear where they apply: a variable picker, a template picker, a credential picker filtered to the right channel, and a fit-criterion picker.

Variables

The { } icon in a field opens the namespace tree. Click a leaf and it inserts {{customer.firstName}} at the cursor.
NamespaceWhat it holds
customer.*firstName, lastName, fullName, email, linkedinUrl, phone, telegramChatId, language, country, timezone, tags[], and company.name, company.domain, company.industry
trigger.*type, and payload.* for a webhook or event
run.*id, startedAt
node.<id>.output.*Anything an upstream node produced, such as node.email-1.output.replied
org.*name

Branching

An arrow with no condition means “move on when this node finishes”.
On a messaging node, each outgoing arrow can carry a condition about what the message did: replied, clicked, opened, bounced, or default for none of those. Use it for branching on an outcome.

Compile errors

A red banner lists what stops the campaign activating. Click an error to jump to the node.
ErrorWhat to do
NO_TRIGGERAdd a Trigger node
DANGLING_NODEA node has no route to an Exit — connect it
INFINITE_CYCLEA loop with no Wait in it — add one, or break the loop
MISSING_FIELDFill the required field the error names
INVALID_CREDENTIALThe credential was deleted or disabled — pick another
INVALID_TEMPLATEThe template name does not exist

History

History opens the run table for this campaign: one row per run, with its status. Drill into a run to see node-by-node what happened to that specific customer — which is where you look when a customer is stuck or a send failed.