Variables are named fields that store information collected during a conversation—such as an end user’s name, email, order number, or preferred language. Ada uses Variables to capture user inputs, track conversation context, and store metadata throughout an interaction. They enable personalization, guide conversation flow, support conditional logic and integrations, and pass data to backend systems for reporting and further processing.
Keep the following constraints in mind when working with Variables:
Character limit: Each variable can store up to 100,000 characters. When saving large payloads (such as full API responses), exceeding this limit may result in parsing issues or unexpected behavior.
Autocapture language support: Autocapture is designed to perform best in English. This feature does not work at all in most other languages. While there may be limited success with some languages like Spanish, it generally fails to extract or generate questions accurately in languages such as German or Chinese.
Context-sensitive performance: The accuracy of Autocapture value extraction depends on the clarity of the variable’s name and how well the end user communicates the required information.
Variables enable your AI Agent to collect, store, and reuse information throughout conversations.
Variables come in several types, each designed for a different purpose. This section explains how each type works, when to use it, and how the values are captured or provided during a conversation.
Autocapture Variables are automatically populated by scanning the conversation transcript for information that matches the variable’s description. If the information is not found, Ada generates a real-time question to collect the value and then extracts it from the updated transcript.
Autocapture variables:
When you create an Autocapture Variable, you must choose its capture behavior. This setting defines how the Agent collects and updates the variable’s value during a conversation, including when it decides to prompt the user for additional information.
Metavariables are end user–specific fields that Ada collects automatically. They can include browser details, location metadata, channel-specific values, conversation context, system indicators, and more.
Metavariables are:
Unlike Autocapture, Global, and Sensitive variables, metavariables cannot be created manually. They are collected automatically by Ada or passed into the Agent through setMetaFields() in your embed script.
The following metavariables are automatically collected and available for use:
browser: Browser family name extracted from user-agent string (e.g., chrome, firefox, safari)device: Platform/OS name parsed from user-agent string (e.g., macos, windows, android, iphone)browser_version: Browser version string extracted from user-agent using regex matchinguser_agent: Complete browser user-agent string from HTTP request headersip_address: Client’s IP address (only when IP tracking is enabled in privacy settings)client_gmt_offset: Client’s timezone offset (only when timezone tracking feature is enabled)language: User’s language in BCP 47 format, validated against your AI Agent’s supported languageslast_question_asked: Text content of the most recent text message sent by the end userlast_answer_id: ID of the last response/answer displayed to the end user (only when personalization feature is enabled)introshown: Boolean indicating if introductory campaign message was displayed (sent by chat frontend)initialurl: URL where the chat widget was initially loaded (sent by chat frontend)csat_score: Customer satisfaction score from survey responses (only when CSAT feature is enabled)csat_positive: Boolean indicating if CSAT score represents positive feedback (only when CSAT feature is enabled)sunshine_facebook_page_id: Facebook page ID for Sunshine Conversations integration (only when Sunshine channel is enabled)email_attachments: List of email attachments in email channel conversationsemail_has_attachments: Boolean indicating if email conversation contains attachmentsada_email_subject: Subject line of email in email channel conversationsada_email_origin: Origin information for email channel conversationsemail_attachment_is_signature: Boolean indicating if email attachment is a signatureemail_recipient_address: The email address the end user originally wrote to. Available at conversation start. Use in Playbooks, Actions, and Handoffs to route or branch logic based on the inbox.jwt_name: Name from JWT token (part of Zendesk Glass integration)jwt_email: Email from JWT token (part of Zendesk Glass integration)zdsession: Zendesk session information for integrationscreated: System-generated variable for conversation creation contextgreeting: System-generated variable for greeting contextprivate: System-generated variable for private conversation contextreset: System-generated variable for conversation reset contextembed: System-generated variable for embedded chat contexthas_multiple_participants: Boolean indicating if conversation has multiple participantstest_user: Boolean flag indicating if conversation was initiated from dashboard with test_user=1 parameterguidance_id: ID used for testing guidance features in webchatprocess_id: ID used for testing process flows in webchatplaybook_id: ID used for testing playbook functionality in webchatGlobal Variables persist throughout your AI Agent’s interactions and remain available for reuse. Their values reset when a new conversation begins. Global variables must be created manually—Ada does not automatically detect or capture them. This also applies to sensitive variables.
Sensitive Variables store confidential information and must be defined manually, as Ada does not automatically detect or capture them. Their values:
Use sensitive variables for information that should not persist for long-term analysis or reuse.
Get started by creating your first Variable. For detailed configuration options, see Create a Variable.
To create a Variable:
Before you can reference a Variable in your Agent, you must create it and define its behavior. This section describes how to configure variables and how to populate them during a conversation.
To create a new Variable, use the Variable Manager to define its type, name, and data type. The steps below walk you through the process.
To create a new Variable:
setMetaFields in your embed script.order_number, customer_email).var1 or temp.Once in place, Variables can be referenced throughout your AI Agent to personalize content, guide logic, and pass data into Actions, Greetings, Playbooks, and other areas where variable-based customization is supported.
Variables can be filled in several ways depending on where the data comes from and how you intend to use it. Use this table to choose the method that best fits your use case:
Prompts the user for input and stores the response in a variable.
Use this when:
Assigns or updates values internally without user interaction.
Use this when:
Fetches data from an external API and stores parts of the response in variables.
Use this when:
Passes contextual data from your app or website into Ada as custom metavariables.
Common examples include:
Explore complementary capabilities for working with Variables and data.