At a glance
Start
Where every conversation begins. It has one exit: connect it to the first step. A conversation whose messages carry no step yet starts there. Nothing can point back into Start.Send text
One WhatsApp message.
Use Wait for the reply for a question. Leave it off for a line that leads into the next step — “Let me check that for you” before a function, or a greeting before a template.
Send buttons
A message with up to 3 reply buttons of 20 characters. With a 4th button, or a title over 20 characters, it is sent as a list of up to 10 rows of 24 characters instead.
Always waits for the reply.
Send template
An approved WhatsApp template — the one kind of message WhatsApp lets you send outside the 24-hour window.
Every variable except AI decides is filled in by code, so a name or a link is never retyped. The AI fills only the variables marked AI decides, from the prompt you give each one.
A document header’s file name cannot be set from a chat agent; the variable is not listed.
Send media
An image, video, audio clip or document.
WhatsApp’s limits: images 5 MB (JPEG, PNG; others are converted), video 16 MB (MP4), audio 16 MB (MP3, OGG, AAC), documents 100 MB. Never put a link in a caption — it is not clickable there.
Ask and save
Shown as Ask & save in the step menu. Asks for one thing, checks the answer, and saves it on the contact.
Always waits. The AI saves a valid answer with
update_contact before moving on.
Custom function
Calls one of the agent’s own functions — a Python function from the Functions page, see Custom Functions.
The function’s result can fill later steps: pick Function result as a source, or use
{{function_name.field}} in exact text. A Condition right after it can branch on a field of the result, checked by code the moment the function returns.
Update contact
Saves values on the contact’s CRM record. Sends nothing. Each row is an attribute and a source: a fixed value, another contact attribute, a field of a function result, or AI decides (“the city the user mentioned”). The attributes are your account’s contact attributes (Contacts → Attributes); only attributes set to update from chat messages are written by a chat agent.Condition
Sends the conversation down one branch. Sends nothing. Each branch is either:- Rule (checked by code) — a contact attribute or a field of a function result, compared with
equals,does not equal,contains,is greater than,is less than,is emptyoris not empty. Text compares ignore case; greater and less compare numbers. - AI judges (prompt) — a condition in words: “The user sounds ready to buy”.
Schedule call
Places — or schedules — a voice call to the user with one of your voice agents.
In Test Chat no call is placed; the AI is told what would have happened.
Send contact card
Shares a contact card the user can save in one tap: first and last name, display name, phone, email, organization. It needs a name, and a phone number or an email.Global intent
A detour available at any point of the conversation — “asks for the price”, “wants to talk to a person”, “says stop”.
Nothing can point into a global intent; it has no input. Build its branch like any other, and leave the branch’s last exit unconnected: when the detour is done, the AI returns to the step the conversation was on. End the branch with an End step when the detour should finish the conversation (an opt-out, for example).
End
The planned flow finishes here.
With follow-ups on, the conversation is marked done, so no follow-up is sent. If the user writes again, the AI helps within the persona’s role and goal.