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.

📝
TL;DR

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.

TimeDifficultyPackage
20 minIntermediatePlatform (no SDK)
Prerequisites
  • 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.comSimulateAgent DefinitionCreate agent definition.

The creation wizard has three steps:

Step 1: Basic Info

FieldValue
Agent typeVoice
Agent namevoice-support-agent
Select languageEnglish

Step 2: Configuration

Voice agents require provider and contact details:

FieldValue
Voice/Chat ProviderSelect your provider (Vapi, Retell, or Others)
Authentication MethodAPI Key
Provider API KeyYour provider’s API key
Assistant IDYour assistant/agent ID from the provider
Country CodeYour country code (e.g. +1)
Contact NumberThe phone number for inbound/outbound calls
Inbound/OutboundToggle between inbound (agent receives calls) and outbound (agent initiates calls)

Step 3: Behaviour

FieldValue
Prompt / ChainsYou 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 MessageInitial 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 SimulatePersonasCreate 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

SectionFieldValue
Basic InfoNamecooperative-caller
Basic InfoDescriptionA calm, patient customer who explains their issue clearly and follows instructions step by step.
BehaviouralPersonalityFriendly and cooperative
BehaviouralCommunication StyleDirect and concise
BehaviouralAccentamerican
ConversationConversation Speed1.0
ConversationBackground NoiseNo
Custom Propertiespatience_levelhigh

frustrated-caller

SectionFieldValue
Basic InfoNamefrustrated-caller
Basic InfoDescriptionAn impatient caller who has tried to resolve this twice. Speaks in short sentences and may threaten to cancel.
BehaviouralPersonalityImpatient and direct
BehaviouralCommunication StyleAssertive
BehaviouralAccentamerican
ConversationConversation Speed1.25
ConversationBackground NoiseYes
Custom Propertiespatience_levellow

confused-caller

SectionFieldValue
Basic InfoNameconfused-caller
Basic InfoDescriptionA non-technical caller unsure what information to provide. Asks for clarification frequently.
BehaviouralPersonalityAnxious
BehaviouralCommunication StyleQuestioning
BehaviouralAccentamerican
ConversationConversation Speed0.75
ConversationBackground NoiseNo
Custom Propertiestech_literacylow

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 SimulateScenariosCreate New Scenario.

Select Workflow builder and fill in:

FieldValue
Scenario Namebroken-device-return
DescriptionA 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 sourceSelect voice-support-agent (Agent Definition)
Choose versionv1
No. of scenarios10

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 SimulateRun SimulationCreate a Simulation.

The creation wizard has four steps:

Step 1: Add simulation details

FieldValue
Simulation namereturn-flow-voice-test
Choose Agent definitionvoice-support-agent
Choose versionv1
DescriptionTesting 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:

  1. Enter a Name for the optimization run
  2. Choose Optimizer — select from available optimizers (e.g. Bayesian Search, MetaPrompt, ProTeGi, GEPA, PromptWizard, Random Search)
  3. Language Model — select the model for optimization
  4. 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

Next steps

Was this page helpful?

Questions & Discussion