Skip to main content

Overview

Variables let you capture, store, and reuse data during a conversation. Use them to personalize messages, make decisions based on user input, and pass data between nodes.

Types of Variables

System Variables

Pre-loaded automatically in every session. You don’t need to declare them.

User Variables

Variables you create in the flow editor to store custom data. Each variable has a name (used in templates) and a unique ID (used internally).

Template Syntax {{variableName}}

Use double curly braces to reference variables in text fields — message bodies, API URLs, headers, conditions, etc.

Primitive Values

Variables that hold strings, numbers, or booleans are replaced directly:

Object Values

When a variable holds an object, the result is its JSON representation:

Accessing Object Properties

Use dot notation to access nested properties: Deep nesting works at any level:

Array Access

When a variable is an array, it returns the JSON array: When accessing a property on an array, it maps and extracts that property from each item:

System Variables in Templates

System variables use the system. prefix:

Multiple Variables

You can use multiple variables in the same string:

Variable Not Found

When a variable doesn’t exist, is null, or is undefined, the original template is kept:

Chained Variables

If a variable’s value contains another variable reference, it is resolved recursively:

Common Patterns

Capture User Input

After a wait node (Button, List, Message Menu), the user’s response is in system.last_message.text. Use a Set Variable node to persist it:

Parse API Responses

After an API Request node, use an Object Parser node to extract fields from system.request.body:

Interpolate in Messages

Reference any variable in a Message node:

Naming Rules

  • Use camelCase: userName, orderTotal, cpfNumber
  • No spaces or special characters — only letters, numbers, and underscores
  • Names are case-sensitive: userName ≠ username
  • Never use the system. prefix for user variables

Comparison Operators

When using variables in Condition nodes:

Transform Functions

Optional transformations applied to variables before comparing in conditions: