Skip to main content
Variables are named values that persist for the duration of a call. They are set by nodes during the conversation or inside logic flows and can be read by any subsequent node, regardless of whether it is in the conversation flow or a logic flow.

Variable scope

All variables in Vatel are call-scoped. A variable set anywhere during a call, whether by an Extract Info node in the conversation, a Variable node in a logic flow, or a Webhook response, is immediately available to every node that runs after it for the rest of that call. There is no separate “flow scope.” Variables do not reset when a logic flow finishes.

Setting variables

Variables are set by several node types:

Referencing variables

Use double curly braces to reference a variable anywhere a field accepts dynamic values:
System variables use the same syntax. See System Variables for the full list.

InputVariable

Many node fields accept an InputVariable rather than a plain string. This lets you choose at configuration time whether a value is fixed or pulled from the call context at runtime.

Static vs dynamic

Static: the value is a fixed literal you set at configuration time. Use this for constants like a sender email address, a fixed API endpoint, or a default message.
Dynamic: the value is resolved from the call’s variable scope at runtime. Use this to pass in something the agent captured earlier in the call, like a caller’s name or a customer ID from a webhook response.
For dynamic variables, the value field is left empty and the variable is resolved by name from the call scope when the node executes.

Variable naming

Variable names should be lowercase with underscores (e.g. caller_name, order_id, customer_tier). Avoid spaces and special characters. Names are case-sensitive.