What is a Test Profile?
A test profile gives your evaluator a specific identity with personal information such as name, date of birth, address, phone number, and other relevant details. This allows the evaluator to provide consistent, realistic identity information during conversations with your AI agent.When to Use Test Profiles
Test profiles are essential when your AI agent needs to:- Verify Identity: Confirm the caller’s identity before proceeding with sensitive actions
- Lookup Records: Find specific accounts, appointments, or orders based on personal information
- Personalize Interactions: Address the caller by name or reference their specific details
- Authenticate Users: Verify security questions or personal details
Common Use Cases
How Test Profiles Work
Setup Process
- Create Test Data in Your System: Add mock records (appointments, accounts, orders) with specific test information
- Create Matching Test Profile: Create a test profile with the same information in Cekura
- Attach to Evaluator: Assign the test profile to your evaluator
- Run Tests: The evaluator will use the profile information during conversations
Example: Clinic Receptionist
Let’s say you have a clinic receptionist AI agent that can cancel appointments. The agent verifies identity by asking for the patient’s date of birth before cancellation. Step-by-Step Setup:1
Create mock appointment in your system
Create a test appointment with:
- Patient Name: John Smith
- Date of Birth: January 1, 2000
- Appointment Date: March 15, 2025
- Appointment ID: APT-12345
2
Create matching test profile in Cekura
Create a test profile with:
- Name: John Smith
- Date of Birth: January 1, 2000
- Additional Notes: “Appointment ID: APT-12345”
3
Create evaluator with instructions
Create an evaluator with instructions:
“Call to cancel the appointment scheduled for March 15, 2025. Provide date of birth when asked for verification.”
4
Attach test profile to evaluator
Assign the “John Smith” test profile to this evaluator.
- Evaluator: “Hi, I’d like to cancel my appointment.”
- Agent: “I can help with that. Can I have your date of birth for verification?”
- Evaluator: “January 1, 2000” (from test profile)
- Agent: “Thank you. I see you have an appointment on March 15, 2025. Would you like to cancel this?”
- Evaluator: “Yes, please.”
- Agent: “Your appointment has been cancelled. Your confirmation number is APT-12345.”
Test Profile Fields
A test profile can include:- Name: First and last name
- Date of Birth: DOB in various formats
- Address: Full mailing address
- Phone Number: Contact number
- Email: Email address
- Account/Customer ID: Unique identifiers
- Security Information: Answers to security questions
- Custom Fields: Any additional information your agent might need
Profile Sections — Main Agent vs Testing Agent
A test profile’sinformation is split into two sections so each value reaches only the right consumer:
Sectioned example:
Both sections are optional. Set only the ones you need:
- If your agent has no registered dynamic variables, omit
main_agent_variables(or leave it{}) — there’s nothing for it to deliver. Put persona/context for the simulated caller intesting_agent_variablesonly. - If you only need to send dynamic-variable values and don’t need to brief the simulated caller separately, populate
main_agent_variablesand leavetesting_agent_variablesempty (or omit it). - Both empty / both missing is also valid — the profile then has no information payload but can still be attached to a scenario for naming purposes.
Custom Headers for SIP and WebSocket Runs
For SIP and WebSocket runs, keys inmain_agent_variables that start with X- are additionally sent as custom headers during connection setup:
- SIP runs: sent as custom SIP headers in the INVITE request
- WebSocket runs: sent as custom HTTP headers during the WebSocket upgrade
X-Run-Id, X-Scenario-Id, X-Result-Id) are always set by Cekura and cannot be overridden.
Example:
X-Auth-TokenandX-Customer-Tierare sent as custom headers (SIP or WebSocket)user_idis sent as a dynamic variable to the agentcustomer_namestays on the testing agent and is NOT sent over the wire
Using Test Profile Variables in Instructions
You can reference test profile fields directly in your evaluator instructions using template variables. This gives you precise control over which values appear in your instructions.Template Syntax
Use the{{test_profile.field_name}} syntax to insert test profile values into your instructions:
Dot notation for simple fields:
Example
Generic instructions:How It Works
When a test runs, template variables are replaced with actual values from the test profile. For example, if your test profile contains:When to Use Template Variables
Template variables are especially useful when:- You need the evaluator to provide exact values (like specific IDs or dates)
- You’re testing multiple scenarios with different test profiles but the same instruction structure
- You want to ensure consistency between your backend system and what the evaluator says
Best Practices
1. Synchronize Test Data
Ensure your test profile information matches exactly what exists in your backend system. Mismatches will cause verification failures.2. Create Multiple Test Profiles
Build a library of test profiles for different scenarios:- Happy path scenarios (everything matches perfectly)
- Edge cases (partial information, multiple matches)
- Negative scenarios (wrong information, no matches)
3. Update Profiles Regularly
When your system’s data structure changes, update your test profiles accordingly. Outdated profiles lead to failed tests that don’t reflect real issues.Example: E-commerce Support Agent
Scenario: Testing an AI agent that handles order returns Test Profile Setup:- Order ID: ORD-2024-98765
- Customer Email: sarah.j@email.com
- Order Date: February 10, 2025
- Status: Delivered
- Items: Blue Sweater (Medium), Size: M, Price: $49.99
Testing Without Test Profiles
For evaluators that don’t require identity verification or personalization, test profiles are optional. Examples include:- General information inquiries
- FAQ testing
- Menu navigation testing
- Opening hours requests