Voice Simulation: Define Agents, Personas, and Run Call Tests
Use Voice Simulation to define voice agents with provider credentials, build caller personas with accent and speed controls, generate call scenarios, run parallel call tests with evaluations, and diagnose failures with Fix My Agent.
Voice Simulation lets you define voice agents, create caller personas with voice-specific settings (accent, speed, background noise), generate test scenarios, run parallel call tests with built-in evaluations, and diagnose failures with Fix My Agent.
| Time | Difficulty | Package |
|---|---|---|
| 20 min | Intermediate | Platform (no SDK) |
- FutureAGI account → app.futureagi.com
- A phone number provisioned with your voice provider
- Voice provider credentials (Vapi, Retell, or Others)
Key concepts
- Agent Definition — A versioned profile of your agent: its type (Chat/Voice), system prompt, provider credentials, and contact number. Each version gets a commit message for tracking.
- Persona — A simulated caller with configurable personality, accent, speaking speed, and background noise. Personas stress-test your voice agent from different caller perspectives.
- Scenario — A test case describing a situation the persona will act out (e.g., “customer calls about a broken device return”). Scenarios are auto-generated from your agent definition and persona set.
- Simulation — A run that pairs your agent definition with scenarios and evaluations, then places calls to your agent in parallel.
- Fix My Agent — A diagnostic tool that analyzes simulation results and surfaces actionable recommendations to improve your agent’s prompt and behavior.
Define your voice agent
Go to app.futureagi.com → Simulate → Agent Definition → Create agent definition.
The creation wizard has three steps:
Step 1: Basic Info
| Field | Value |
|---|---|
| Agent type | Voice |
| Agent name | voice-support-agent |
| Select language | English |
Step 2: Configuration
Voice agents require provider and contact details:
| Field | Value |
|---|---|
| Voice/Chat Provider | Select your provider (Vapi, Retell, or Others) |
| Authentication Method | API Key |
| Provider API Key | Your provider’s API key |
| Assistant ID | Your assistant/agent ID from the provider |
| Country Code | Your country code (e.g. +1) |
| Contact Number | The phone number for inbound/outbound calls |
| Inbound/Outbound | Toggle between inbound (agent receives calls) and outbound (agent initiates calls) |
Step 3: Behaviour
| Field | Value |
|---|---|
| Prompt / Chains | You are a helpful customer support agent for TechStore. You assist customers with orders, returns, and product questions over the phone. Always be professional, empathetic, and solution-oriented. Keep responses concise: this is a voice call, not a chat. If you cannot resolve an issue, offer to transfer to a human agent. |
| Knowledge Base | (optional) Select a KB for grounded responses |
| Commit Message | Initial voice agent prompt |
Click Create.
Tip
To iterate on your agent’s prompt, open the agent definition and click Create new version. Each version gets a commit message for tracking.
Enable voice observability (optional)
Still on the Configuration step of the agent creation wizard, you can optionally toggle Enable observability (Requires API key) to monitor your voice agent’s calls. This toggle becomes available only after you fill in both Provider API Key and Assistant ID — it is disabled until both fields are provided.
Once enabled, FutureAGI auto-creates an Observe project named after your agent. After you run simulations (Step 5) or your agent receives real calls, voice provider logs are automatically imported into this project. No SDK setup or manual instrumentation is needed.
To view voice traces, go to Tracing (left sidebar under OBSERVE) and select the auto-created project. Each voice call is logged with metadata such as call duration, status, and transcript.
Tip
Once voice traces are flowing, you can track latency, token usage, and cost trends in the Charts tab, and set up alerts when metrics cross your thresholds. See Monitoring & Alerts for the full setup.
Create caller personas
Go to Simulate → Personas → Create your own persona.
Voice personas have Behavioural Settings (Personality, Communication Style, and voice-only Accent) and Conversation Settings (voice-specific settings including speed, background noise, and sensitivity sliders).
Create these three personas (select type Voice for each):
cooperative-caller
| Section | Field | Value |
|---|---|---|
| Basic Info | Name | cooperative-caller |
| Basic Info | Description | A calm, patient customer who explains their issue clearly and follows instructions step by step. |
| Behavioural | Personality | Friendly and cooperative |
| Behavioural | Communication Style | Direct and concise |
| Behavioural | Accent | american |
| Conversation | Conversation Speed | 1.0 |
| Conversation | Background Noise | No |
| Custom Properties | patience_level | high |
frustrated-caller
| Section | Field | Value |
|---|---|---|
| Basic Info | Name | frustrated-caller |
| Basic Info | Description | An impatient caller who has tried to resolve this twice. Speaks in short sentences and may threaten to cancel. |
| Behavioural | Personality | Impatient and direct |
| Behavioural | Communication Style | Assertive |
| Behavioural | Accent | american |
| Conversation | Conversation Speed | 1.25 |
| Conversation | Background Noise | Yes |
| Custom Properties | patience_level | low |
confused-caller
| Section | Field | Value |
|---|---|---|
| Basic Info | Name | confused-caller |
| Basic Info | Description | A non-technical caller unsure what information to provide. Asks for clarification frequently. |
| Behavioural | Personality | Anxious |
| Behavioural | Communication Style | Questioning |
| Behavioural | Accent | american |
| Conversation | Conversation Speed | 0.75 |
| Conversation | Background Noise | No |
| Custom Properties | tech_literacy | low |
Tip
Voice-specific settings (not available for chat personas):
- Accent: 51 options including american, australian, indian, french, german, and many more
- Conversation Speed: 0.5 (slow) to 1.5 (fast)
- Background Noise: Yes / No
- Finished Speaking Sensitivity: 1–10 slider (how quickly the persona starts talking after the agent pauses)
- Interrupt Sensitivity: 1–10 slider (how easily the persona stops talking when the agent starts speaking)
Create a scenario
Go to Simulate → Scenarios → Create New Scenario.
Select Workflow builder and fill in:
| Field | Value |
|---|---|
| Scenario Name | broken-device-return |
| Description | A customer received a laptop with a cracked screen and wants to start a return. They have their order number but don’t know the return process. |
| Choose source | Select voice-support-agent (Agent Definition) |
| Choose version | v1 |
| No. of scenarios | 10 |
In the Persona section, leave Add by default on to auto-add all active personas, or turn it off and click Add persona to select specific ones.
Click Create.
Create and run the simulation
Go to Simulate → Run Simulation → Create a Simulation.
The creation wizard has four steps:
Step 1: Add simulation details
| Field | Value |
|---|---|
| Simulation name | return-flow-voice-test |
| Choose Agent definition | voice-support-agent |
| Choose version | v1 |
| Description | Testing return flow with 3 caller personas |
Step 2: Choose Scenario(s)
Select the broken-device-return scenario.
Step 3: Select Evaluations
Click Add Evaluations and under Groups, select Conversational agent evaluation for broad coverage (10 built-in evals covering loop detection, context retention, query handling, conversation quality, and more).
Step 4: Summary
Review your configuration and click Run Simulation.
FutureAGI places calls to your agent in parallel. Each call runs to completion before the result is logged.
Review results and Fix My Agent
Once the run completes, the results page shows three tabs:
- Call Details — per-call transcripts, CSAT scores, and evaluation scores
- Analytics — evaluation score distributions across personas
- Optimization Runs — results from prompt optimization runs
Click any transcript to read the full conversation. Look for:
- Turns where the frustrated persona escalated
- Turns where the confused persona stopped understanding
- Whether the cooperative persona reached a successful resolution every time
Fix My Agent: Click the Fix My Agent button to open the diagnostic drawer. The platform analyzes your simulation traces and surfaces two categories of recommendations:
- Fixable Recommendations: organized into two tabs:
- Agent Level: prompt and behavior improvements you can apply directly (e.g. missing empathy phrases, unclear escalation paths)
- Branch Level: domain-specific issues grouped by conversation topic or flow (e.g. return policy gaps, billing confusion)
- Each recommendation highlights which specific calls are affected, so you can trace issues back to exact conversations
- Non-Fixable Recommendations: system-level issues that require infrastructure changes (e.g. missing integrations, data access limitations), plus a human comparison summary showing where a human agent would have handled the situation differently
- Overall Insights: a synthesis of patterns across all calls
Optimize My Agent: Inside the Fix My Agent drawer, click Optimize My Agent to auto-generate improved prompt variants:
- Enter a Name for the optimization run
- Choose Optimizer — select from available optimizers (e.g. Bayesian Search, MetaPrompt, ProTeGi, GEPA, PromptWizard, Random Search)
- Language Model — select the model for optimization
- Click Start Optimizing your agent
Review results in the Optimization Runs tab. Compare generated prompt variants and their scores to decide which version to promote.
Tip
For reliable Fix My Agent suggestions, run at least 15 calls and include as many evaluations as practical (minimum: 1).
What you built
You can now define a voice agent, create caller personas with voice-specific settings, run a simulation with evaluations, and use Fix My Agent to surface failure patterns and optimize prompts.
- Defined a voice agent with provider configuration, contact number, and system prompt
- Enabled voice observability to auto-import call logs and transcripts into Tracing
- Created 3 caller personas with voice-specific settings (accent, speed, background noise)
- Generated scenarios using the Workflow builder with auto-attached personas
- Ran a simulation with the Conversational agent evaluation group
- Reviewed call transcripts and CSAT scores per persona
- Used Fix My Agent to surface failure patterns and Optimize My Agent to generate improved prompts