Nodes Reference

Every node available in ChatYug Chatbot Builder (v1) and Trial Chatbot Builder V2. Shared nodes work in both builders; v2-only nodes appear only in the V2 palette.

Quick index

NodeType IDv1v2
StartstartYesYes
Send MessagemessageYesYes
Show Buttonsinteractive_buttonsYesYes
Show Listinteractive_listYesYes
Wait for Inputwait_for_inputYesYes
ConditionconditionYesYes
Advanced Conditionadvanced_conditionYesYes
API Callapi_callYesYes
Database Actiondatabase_actionYesYes
Human Handoffhuman_handoffYesYes
End FlowendYesYes
Send Mediasend_mediaYes
Switch/CaseswitchYes
Set Variableset_variableYes
DelaydelayYes
LooploopYes
Select Flowflow_selectorYes
Template Messagetemplate_messageYes
WhatsApp Notifywhatsapp_notifyYes

Shared nodes (v1 + v2)

Start

Purpose: Entry point of every flow. The conversation begins here when a customer message matches the flow’s trigger keywords.

When to use: Always present — do not remove. Configure keywords on the flow (v1 save prompt / flows list, or v2 Flow Settings), not as a separate palette node.

  • v1: Start step shows “Triggered when customer sends keyword”
  • v2: Fixed START node on the canvas

Send Message (message)

Purpose: Send plain text to the customer.

When to use: Greetings, confirmations, instructions, or any single text reply.

FieldRequiredNotes
Message ContentYesSupports variables (v1: {variable_name}; v2 commonly {{variable_name}})

Example: Hi {{customer_name}}, your order is confirmed.

Next: Connect to one following node.

Show Buttons (interactive_buttons)

Purpose: WhatsApp interactive reply buttons (max 3).

When to use: Small menus where the customer must pick one option.

FieldRequiredNotes
Body TextYesMessage shown above the buttons
ButtonsYesUp to 3; each has a title/label
Variable NameNoStore the selection for later conditions/messages. Empty uses default response variables
Button Mode (v2)NoStatic buttons or Dynamic from an API data source
Data Source / Title Field / ID Field (v2 dynamic)If dynamicVariable holding options array; field names for title and id

Auto variables (v1): selections can populate button_response, last_selection, last_selection_title, or your custom variable name.

Next: Each button routes to a different next node (branching).

Show List (interactive_list)

Purpose: WhatsApp list message (up to 10 rows).

When to use: Longer menus than three buttons (services, products, categories).

FieldRequiredNotes
Header TextNoOptional list header
Body TextYesMain prompt
Button TextYesLabel on the list open button (default often “View Options”)
List items / rowsYes (static)Title + optional description; max 10
Variable NameNoStore selection; empty may default to button_response / list response vars
List Mode (v2)NoStatic or Dynamic (from API variable)
Data Source / Title / Description / ID fields (v2)If dynamicMap API array fields; optional pagination checkbox

Next: Customer row selection continues the flow (and can branch by stored variable + condition).

Wait for Input (wait_for_input)

Purpose: Ask a question and store the customer’s free-text reply in a variable.

When to use: Collect name, email, phone, order ID, or any typed answer.

FieldBuildersNotes
Prompt Messagev1 + v2Question sent to the customer
Save / Store Response In (variable name)v1 + v2v1 empty default: last_input
Validation Typev1 + v2v1: any, email, phone, number, date (DD/MM/YYYY), regex. v2: any, number, email, phone
Min / Max (number), custom regex + error messagev1Shown when validation is number or regex
Max Retry Attemptsv1Default 3 (range 1–10)
Retry Message / Error Node IDv1Custom fail message; optional node after max retries

Next: Continues to the next node after a valid reply (or error path in v1 after max retries).

Condition / Simple Condition (condition)

Purpose: Branch true/false on a single variable comparison.

When to use: Simple yes/no or value checks.

FieldNotes
Variable to CheckVariable name (with or without braces depending on builder habit)
Operatorv1: equals, not_equals, contains, not_contains, greater_than, less_than. v2: equals, contains, greater_than, less_than
ValueComparison value

Next: True path and false path to different nodes.

Advanced Condition (advanced_condition)

Purpose: Multiple conditions combined with AND or OR.

When to use: Multi-rule eligibility (e.g. plan is Premium AND age > 18).

FieldNotes
Logic OperatorAND (all true) or OR (any true)
Conditions listEach row: variable, operator, value. v1 operators include equals, not_equals, greater/less (and or equal), contains, starts_with, ends_with, is_empty, is_not_empty, in_list, regex_match

Next: True / false branches like Simple Condition.

API Call (api_call)

Purpose: Call an external HTTP API and optionally save/extract response fields into variables.

When to use: CRM lookups, order status, pricing, ERP, or any live data.

FieldNotes
MethodGET, POST, PUT, PATCH, DELETE (v1 lists all; v2 properties panel includes common methods)
API URLRequired; may embed variables
Headers (JSON)Optional auth and content-type headers
Request BodyFor POST/PUT/PATCH
Save Full Response ToVariable name for raw response
Extract Specific Fields (JSON)Map variable → JSON path (e.g. {"price": "data.price"})
Timeout (ms)v1; default 10000
Success / Error MessageOptional customer-facing messages
Continue on ErrorCheckbox to keep flowing if the call fails

Example URL: https://api.example.com/customer/{{user_phone}}

Database Action / Save to Database (database_action)

Purpose: Persist conversation data.

When to use: Capture leads/tags (v1) or write structured fields to a table (v2).

v1 fields: Contact Phone (default {customer_phone}), Contact Name, Email, Company, Tags (comma-separated), Success Message, Error Message, Continue on Error.

v2 fields: Action Type (e.g. INSERT), Table Name, Fields (JSON object of column → value).

UI labels differ slightly (“Save to Database” in v1 vs “Database Action” in v2) but share type id database_action.

Human Handoff / Transfer to Human (human_handoff)

Purpose: Stop bot automation for the conversation and hand off to a human agent.

When to use: “Talk to agent”, escalations, or failed self-serve paths.

FieldNotes
Handoff / Transfer MessageText sent when transferring (v2 default: “Transferring you to a human agent...”)
Departmentv2; default general
Priority / notify optionsv1 exposes transfer configuration (e.g. priority) in the edit modal

End Flow (end)

Purpose: Finish the session.

When to use: Terminal step after a successful path or goodbye.

FieldNotes
Final / End MessageOptional closing text (v2 default: “Thank you! Conversation ended.”)

Next: None — conversation ends.

v2-only nodes

Send Media (send_media)

Purpose: Send image, video, or document in the session.

FieldNotes
Media Typeimage, video, or document
Media FileOptional upload from the properties panel
Media URL / Meta Media IDRequired; public URL or Meta media ID
Caption / TextOptional

Session media still requires an open WhatsApp customer service window when sending free-form media.

Switch/Case (switch)

Purpose: Multi-way branch on one variable (like a switch statement).

FieldNotes
Variable to CheckRequired
CasesEach case: value, label, target node
Default CaseNode if no case matches

Set Variable (set_variable)

Purpose: Assign or update a session variable without waiting for customer input.

FieldNotes
Variable NameRequired
Operationset, append, increment, decrement
ValueRequired for set/append; can reference {{other_variable}}

Delay (delay)

Purpose: Pause before continuing.

FieldNotes
Delay (Seconds)0–3600; default 5
Delay (Minutes)Optional 0–60
Show Wait MessageOptional “Please wait...” style message

Loop (loop)

Purpose: Repeat a section of the flow.

FieldNotes
Loop Typecount (N times), array (iterate items), condition (while true)
Max IterationsFor count; default 5 (max 100)
Array VariableFor array type
Condition Variable / Operator / ValueFor condition type
Loop Back NodeNode to return to each iteration
Exit NodeNode when the loop finishes

Select Flow (flow_selector)

Purpose: Jump execution into another saved chatbot flow (modular flows).

FieldNotes
Select FlowRequired; choose from saved flows
Pass VariablesDefault on — share current session variables
Return to Current Flow After CompletionOptional; continue parent flow after child ends
Return To NodeWhere to resume in the parent flow

Template Message (template_message)

Purpose: Send an approved Meta WhatsApp template from inside the flow.

When to use: Outside the 24-hour session window, or whenever you need an approved template format.

FieldNotes
Template NameRequired; must be approved in Meta
Language CodeDefault en
Template VariablesValues for {{1}}, {{2}}, … placeholders
Media ID / Media TypeOptional header media (image, video, document)

This is different from flow templates (pre-built chatbot graphs). See Templates & Facilities.

WhatsApp Notify (whatsapp_notify)

Purpose: Send an internal/alert WhatsApp message to staff numbers (parallel to the customer conversation).

FieldNotes
Recipient NumbersRequired; one per line or comma/semicolon separated
Notification MessageRequired; can include variables
Parse VariablesCheckbox; default on

Example: Alert sales: New lead {{customer_phone}} requested callback.

Connecting nodes

  • v1: Steps are ordered in the list; conditions and buttons define branches in node config.
  • v2: Drag connection handles between nodes on the canvas; condition/switch/loop nodes expose multiple targets (true/false, cases, loop/exit).

Always end every path with End Flow or Human Handoff so sessions do not hang without a terminal state.