Variables & Personalization
Variables & Personalization
Variables make each conversation dynamic: greet callers by name, carry data through the call, and capture structured results afterwards.
The Variables tab
Open the Variables tab in the agent to manage variables. It splits them into Input variables and Output variables, and lists each with its value. Use Add to create one, and the ··· actions menu to Edit or Delete a variable.


Agent variables
There is really only one kind of variable: the agent variable. “Input variables” and “output variables” are just frontend labels for how you use one, not different types or separate storage.
Any agent variable can be:
- Used to personalize the conversation (these appear as input variables), for example greeting the caller by name.
- Set to update after the interaction, so the agent extracts them from the conversation once the call ends (these appear as output variables), for example a disposition or resolution.
The same variable can do both. And because they are all agent variables, tools can read and write them too (see Using variables in tools).
Input variables
Input variables personalize the conversation: greeting the caller by name, tailoring the pitch, and so on. Each has a name and a default value. At runtime they are populated from sources such as:
- Telephony metadata (for example, the caller’s number)
- An on-start hook response
- Campaign row fields for outbound calls
Controlling context sent to the LLM
Each input variable has a toggle that controls whether it’s sent to the LLM. It’s on by default, so the value is included in the agent’s context. Turn it off to not send it in the context anymore.
Output variables
Output variables are post-call extraction variables: the agent extracts them from the conversation, creating and enriching your data from every call (disposition, interest, resolution, and so on). Each output variable has:
- Data type: String or Enum. For an Enum, define the allowed values (for example,
agreed_to_resume/not_interested). - Extraction prompt: describe how to extract the value from the conversation. Genie can Improve the prompt for you.

Call goal
On the Output variables tab, define success with a Successful when rule: <variable> <operator> <value> (for example, call_disposition = agreed_to_resume). Every call is then scored against this goal, which powers the success and outcome insights in Agent Analytics.

Using variables in tools
Because input and output variables are all agent variables, tools can read and write them. For example, the API tool can pass agent variables in its request and store the response (or results) back into agent variables.
In analytics
Every agent variable surfaces as the call’s final agent variables in Agent Analytics, and the call goal drives the success insights.
PII flagging and privacy transforms
Mark variables that contain personal data and apply privacy transforms (mask, hash) as needed.