Voice Simulation

Define a voice agent, create caller personas with voice-specific settings, generate scenarios, run parallel call tests with evaluations, and diagnose failures with Fix My Agent.

📝
TL;DR

Define a voice agent, 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 UI
Prerequisites
  • Future AGI account → app.futureagi.com
  • A phone number provisioned with your voice provider, or the provider API key and Assistant ID (the web bridge is used when no number is set)
  • Voice provider credentials (Vapi, Retell, Bland.ai, or Others)

There is nothing to install. Voice Simulation runs entirely from the dashboard: agent definition, personas, scenarios, and call execution all happen in Simulate.

Tutorial

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 Vapi, Retell, or Bland.ai. Others has no API key or Assistant ID fields, so it cannot use observability or outbound calls
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/OutboundInbound (Future AGI places the calls to your agent; Outbound has the agent initiate calls and requires API key + Assistant ID)

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. You should see the agent definition saved as v1.

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)

Open the agent definition → Create new version → Configuration, and toggle Enable observability (Requires API key) to monitor your voice agent’s calls. The toggle stays disabled until you fill in both Provider API Key and Assistant ID.

Once enabled, Future AGI 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. You should see each voice call 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 and 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 or 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)

Click Create on each. You should see all three personas listed as Voice type with their accent and speed shown as tags.

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 scenarios20

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. You should see the scenario listed with the 20 generated test cases attached.

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 a group of built-in conversation evals for broad coverage (e.g. Conversation Coherence, Conversation Resolution, and Task Completion). Eval groups are workspace-specific, so the exact name and count of evals in your group may differ from this walkthrough.

Step 4: Summary

Review your configuration and click Run Simulation.

Future AGI places calls to your agent in parallel. Each call runs to completion before the result is logged. You should see the executions grid fill in as calls complete.

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, and whether the cooperative persona reached a successful resolution every time.

For example (illustrative: your run’s actual transcripts and scores will differ), the frustrated-caller call on the broken-device-return scenario scored low on Conversation Resolution: the agent confirmed the order number but never told the caller what to do next, and the caller hung up after asking “so what happens now?” twice with no answer.

Fix My Agent: click the Fix My Agent button to open the diagnostic drawer. The platform analyzes the call transcripts and evaluation scores from this run 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

For the low-scoring call above, the Agent Level tab surfaced this recommendation: “Add an explicit next-step statement after confirming the order number (e.g. ‘I’ll email you a prepaid return label within the hour’).” Click Apply Fix to create a new agent version with the recommendation merged into the prompt, then rerun the broken-device-return scenario against the new version. On the rerun, the same persona’s Conversation Resolution score moved from failing to passing, since the agent now states the next step before the call ends.

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).

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.

Troubleshooting

SymptomCauseFix
Enable observability toggle stays greyed outProvider API Key or Assistant ID field is emptyFill in both fields, the toggle unlocks once both are set
Calls fail to connect when the simulation runsContact Number or Country Code doesn’t match the number provisioned with your voice providerRe-enter the number in Agent Definition and verify it matches your provider dashboard exactly
Simulation shows 0 calls after startingNo personas are attached to the scenario: Add by default was off with none selected manuallyTurn on Add by default, or manually attach personas in the scenario editor
No voice traces appear in Tracing after the runEnable observability wasn’t toggled on before the simulation ranToggle it on in the agent definition’s Configuration step and rerun the simulation
A call transcript is garbled or full of dead airBackground Noise is on or Finished Speaking Sensitivity is set too low for the personaTurn off Background Noise or raise the sensitivity slider, then rerun the scenario
Fix My Agent recommendations feel generic or come back emptyToo few calls ran for the model to find a patternIncrease the scenario count or persona set and rerun with at least 15 calls
Optimize My Agent doesn’t appear in the Fix My Agent drawerNo Fixable Recommendations were generated for this runRerun with more calls or broader evaluation coverage so the analysis has enough data to act on

Next: run the same optimization loop through the SDK in Prompt Optimization.

Was this page helpful?

Questions & Discussion