Overview
Dynamic variables are{{variableName}} placeholders in your agent’s system prompt that get replaced with realistic, caller-specific values at call time. When Cekura generates workflow evaluators, it produces appropriate values for each dynamic variable so the evaluator knows exactly what information to provide during the conversation.
Dynamic variables are useful when your agent:
- Addresses callers by name or account details pulled from a CRM (
{{firstName}},{{accountId}}) - References call-specific data like policy numbers, order IDs, or member numbers
- Uses contextual information that changes per caller (
{{planType}},{{memberSince}})
How Dynamic Variables Work
Dynamic Variables is for auto-generating realistic values for your
{{var}} placeholders. If you instead need to supply specific, known values for those same system-prompt placeholders when triggering a test run — for example, values from a production form, CRM, or fixed test dataset — use the main_agent_variables section of a Test Profile instead. Both mechanisms inject values via assistantOverrides.variableValues on Vapi (or the equivalent on other providers), but Dynamic Variables generates the values while Test Profile main_agent_variables lets you specify them.1. Auto-Detection
When you create an agent or save changes to its description, Cekura automatically scans for{{variableName}} patterns and generates a description for each variable based on how it is used in the prompt. These detected variables appear in the Dynamic Variables section of your agent settings.
2. Scenario Generation
When a workflow evaluator is generated, Cekura runs a single coordinated generation pass that produces:- A test profile with persona facts (name, address, etc.)
- Dynamic variable values — one value per variable, consistent with the test profile
- Mock tool entries — tool input/output pairs that use the same identity (only if mock tools are configured for the agent)
firstName=Sarah and accountId=ACC-4521 are generated, the mock tool entries will also reference Sarah’s account so the agent’s tool calls return matching data.
3. Value Injection at Call Time
The generated variable values are passed to the evaluator before the call starts. The evaluator uses them to answer questions the agent asks during the conversation (e.g., providing the correct account number when prompted).Managing Dynamic Variables
Dynamic variables are managed in Agent Settings, in the Dynamic Variables accordion on the right-hand panel.Variables are auto-populated when the agent is created or whenever the description is saved. You do not need to add them manually unless you want to define variables that are not derived from
{{...}} placeholders.View Variables
Open the Dynamic Variables section in agent settings. Each variable shows its name and, when expanded, its description — which tells the generation system what kind of value to produce.Edit a Variable
Click the pencil icon on any variable to update its name or description. Improving the description helps Cekura generate more accurate and realistic values.Add Variables
Click “Add Variables” to add one or more variables manually:- Form mode: Fill in a name and description for each variable. Use the “Add another variable” button to add multiple at once.
- JSON mode: Paste a JSON array of
{"name": "...", "description": "..."}objects for bulk import.
firstName, account_id).
Delete a Variable
Click the trash icon on any variable to remove it. Deleting a variable means it will no longer be generated during scenario creation. Evaluators that have already been generated are not affected.Example
Agent description snippet:| Name | Auto-generated Description |
|---|---|
firstName | The caller’s first name as it appears on their account |
accountId | The unique account identifier for the caller |
main_agent_variables are what the agent under test actually receives as dynamic variables at call time (via assistantOverrides.variableValues on VAPI, retell_llm_dynamic_variables on Retell, etc.). The values in testing_agent_variables are persona context for Cekura’s simulated caller — they never reach the agent under test. See Test Profile → Profile Sections for details.
Relationship to Test Profiles and Mock Tools
Dynamic variables, test profiles, and mock tools are generated together as a coordinated set:| Concept | Purpose |
|---|---|
| Test Profile | Sectioned identity blob — main_agent_variables (sent to your agent) plus testing_agent_variables (persona for the simulator). |
| Dynamic Variables | Per-call values injected into the agent’s system prompt via {{...}} placeholders. Live in test_profile.information.main_agent_variables and are the single source of truth at call time. |
| Mock Tools | Predefined tool responses that return data consistent with the persona. |