> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usetuner.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to Call Simulation

> Stop calling your own voice agent. Run hundreds of simulation calls in minutes, and know exactly what breaks before your customers find it.

## What is Call Simulation?

Testing voice AI manually is slow, incomplete, and nobody's favourite task. Call Simulation runs real voice calls with your agent so you know it's ready, before launch, after every update, and every time something changes.

You define what your agent does. Tuner builds the scenarios that stress test it, connects a real voice call to your agent, and scores every call against the same Evals you've configured for production.

Simulation works in both call directions: **inbound** (Tuner dials your agent over SIP) and **outbound** (Tuner triggers your endpoint, and your agent dials Tuner's simulation agent).

<img src="https://mintcdn.com/tuner/ymjXbsRhUG5GDj0_/images/simulation/empty-state.png?fit=max&auto=format&n=ymjXbsRhUG5GDj0_&q=85&s=a17834489b904925df0c691b91825105" alt="The simulation landing page before your first run" width="1024" height="771" data-path="images/simulation/empty-state.png" />

***

## How It Works

<Steps>
  <Step title="Connect your agent">
    A one-time setup that depends on your agent's call direction, pick yours:

    <Tabs>
      <Tab title="Inbound (your agent receives calls)">
        Tuner dials **into** your agent over SIP, like a real customer calling in. You paste your agent's SIP URI (and credentials, if any) into **Agent Settings → SIP Settings**.

        <img src="https://mintcdn.com/tuner/ymjXbsRhUG5GDj0_/images/simulation/sip-settings.png?fit=max&auto=format&n=ymjXbsRhUG5GDj0_&q=85&s=2a1b0de8f19925d16279808972da8c3a" alt="SIP configuration in Agent Settings" width="1024" height="303" data-path="images/simulation/sip-settings.png" />

        Full setup steps: [**Inbound Simulation, SIP setup**](/docs/simulation/setup).
      </Tab>

      <Tab title="Outbound (your agent places calls)">
        Your agent makes the call instead. You give Tuner the API that starts your outbound calls in **Agent Settings → Simulation Setup**, and Tuner triggers it with a SIP URI to dial for each simulated call.

        <img src="https://mintcdn.com/tuner/u_QkO-I-xmqsmFti/images/simulation/outbound-simulation-general.png?fit=max&auto=format&n=u_QkO-I-xmqsmFti&q=85&s=05654a1c1de8bd09725535b9769dca2d" alt="Outbound Trigger Endpoint in Agent Settings" width="2462" height="1730" data-path="images/simulation/outbound-simulation-general.png" />

        Full setup steps: [**Outbound Simulation, overview**](/docs/simulation/outbound/overview).
      </Tab>
    </Tabs>
  </Step>

  <Step title="Configure your Simulation Mix">
    Open **Run Simulation** and set the number of calls (5–20 per batch), adjust the **Routine Callers** vs **Pressure Tests** mix, and narrow which intents or evals each side targets.

    <img src="https://mintcdn.com/tuner/WNxh86kKl8WHmepD/images/simulation/run-simulation-modal.png?fit=max&auto=format&n=WNxh86kKl8WHmepD&q=85&s=e8065312b469ffeacf13c24dcfaec771" alt="Run Simulation dialog, set count, mix, targets, and language" width="611" height="1024" data-path="images/simulation/run-simulation-modal.png" />
  </Step>

  <Step title="Choose language and accent">
    Click **Change** next to the language row to pick which language and accent the simulation agents use. Test how your agent handles different locales without waiting for live traffic from each region.

    <img src="https://mintcdn.com/tuner/WNxh86kKl8WHmepD/images/simulation/simulation-language-accent.png?fit=max&auto=format&n=WNxh86kKl8WHmepD&q=85&s=6b72816512d30149d9f39d7277e0ab41" alt="Choose simulation language and accent" width="1024" height="791" data-path="images/simulation/simulation-language-accent.png" />
  </Step>

  <Step title="Select Pressure Test targets">
    Click **Narrow down** under **Pressure tests target** to focus on specific failure modes, hallucination, scope boundary, escalation handling, offensive language, personal data, and more. Unselected evals won't generate scenarios.

    <img src="https://mintcdn.com/tuner/ymjXbsRhUG5GDj0_/images/simulation/pressure-test-targets.png?fit=max&auto=format&n=ymjXbsRhUG5GDj0_&q=85&s=9910c151c93e75ef0acf4b7de7802728" alt="Choose which evals Pressure Tests should target" width="768" height="1024" data-path="images/simulation/pressure-test-targets.png" />
  </Step>

  <Step title="Choose a test profile (optional)">
    Click the **Test profile** row to attach a profile to the run. A test profile is a named set of key-value fields that get injected into the simulated caller's context — caller name, account details, reason for calling, or any other data your agent needs to handle the scenario correctly. Profiles are created and managed in **Simulations → Test Profiles**.

    <img src="https://mintcdn.com/tuner/PYCfj3jGJxD0uL63/images/create_test_prof_run.png?fit=max&auto=format&n=PYCfj3jGJxD0uL63&q=85&s=e015ba990161315488dbaf475abd0405" alt="Test profile selector in the Run Simulation dialog" width="718" height="1040" data-path="images/create_test_prof_run.png" />

    See [Test Profiles](/docs/simulation/test-profiles) for a full guide.
  </Step>

  <Step title="Review results">
    Every completed call appears in the **Simulations** table with type, intent, outcome, tags, sentiment, ended reason, duration, and cost. Click any row for the full transcript, latency breakdown, tool traces, and evaluation results.

    <img src="https://mintcdn.com/tuner/ymjXbsRhUG5GDj0_/images/simulation/simulations-table.png?fit=max&auto=format&n=ymjXbsRhUG5GDj0_&q=85&s=eb932239dd054decce12695a2cd3f532" alt="Simulation results, each call shows type, intent, outcome, and sentiment" width="1024" height="304" data-path="images/simulation/simulations-table.png" />
  </Step>
</Steps>

***

## The Simulation Mix

You control what gets tested. Run a full health check or narrow down to a single Intent, Call Outcome, or eval. Every run is yours to configure.

|                           | Routine Callers                                                                                                           | Pressure Tests                                                                                                                                         |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What they do**          | Simulation agents that play your everyday customers, cooperative, on-topic, working through your agent's normal workflows | Simulation agents that play the difficult ones, unhappy customers, edge cases, people trying to bypass your process or ask for something outside scope |
| **What you learn**        | How your agent performs on the happy path when everything goes the way it's supposed to                                   | Where your agent has a breaking point, hallucination, scope boundary, escalation handling, and other failure modes                                     |
| **How they're generated** | From your agent's configured Intents and Call Outcomes                                                                    | Auto-generated from your configured evals                                                                                                              |

### Why volume matters

In voice, the same intent said ten different ways produces ten different conversations. Rushed, hesitant, overly detailed, unclear, small differences in how a customer speaks can completely change how your agent responds. The more simulations you run, the more of these variations you cover.

### Languages and accents

In the **Run Simulation** dialog, click **Change** on the language row to choose the language and accent for your simulation agents. Supported languages include **Arabic**, **English**, **French**, **German**, **Italian**, and **Spanish**. For English, you can also pick a regional accent: **AU**, **UK**, or **US**.

Use this to stress-test multilingual agents or confirm your agent still performs when customers speak with a different accent than your default setup.

### Test Profiles

A **test profile** gives the simulated caller a specific identity and context before the call starts. Instead of an anonymous caller, the simulation agent knows it's playing a new user, an angry repeat caller, or someone in a rush — and it behaves accordingly throughout the conversation.

Each profile is a name plus any number of key-value fields: `caller_name`, `issue`, `urgency`, `appointment_date`, whatever your agent is expected to handle. Profiles are scoped to the agent and are snapshotted at run time, so editing a profile later won't change past results.

Create and manage profiles under **Simulations → Test Profiles**. When running a simulation, select a profile from the **Test profile** row in the Run Simulation dialog to apply it to the entire batch.

<img src="https://mintcdn.com/tuner/PYCfj3jGJxD0uL63/images/testProf.png?fit=max&auto=format&n=PYCfj3jGJxD0uL63&q=85&s=875e71af58ed3238d8f9b357ebaf8be3" alt="Test Profiles list showing New User, Angry User, and Rushed User profiles" width="2856" height="1194" data-path="images/testProf.png" />

See [Test Profiles](/docs/simulation/test-profiles) for the full guide — including how to create profiles, manage fields, and use them with outbound agents.

***

## Your Production Evals Run Every Simulation

No separate scoring. No extra configuration. Every simulation call is evaluated against the exact same Evals, Call Outcomes, and Intents you've already set up for your live agent.

* **Same Evals, every run.** Whatever you've configured to catch failures in production, hallucinations, missed Intents, wrong Call Outcomes, runs automatically on every simulation call. What fails in production will fail here first.
* **See failures before your customers do.** Every run surfaces exactly what passed and what failed. Fix the failures, adjust your agent, and run again.
* **Regression built-in.** Changed a prompt? Updated a workflow? Every time you run a simulation, you're also checking that nothing you already fixed has broken again.

***

## Getting Started

Pick the path that matches your agent's call direction:

<CardGroup cols={2}>
  <Card title="Inbound Simulation" icon="phone-arrow-down-left" href="/docs/simulation/setup">
    Your agent **receives** calls. Tuner dials your agent over SIP, configure a SIP URI and credentials in **Agent Settings → SIP Settings**. Guides for Vapi, Retell, Twilio, Telnyx, LiveKit Cloud SIP, and any SIP URI you already have.
  </Card>

  <Card title="Outbound Simulation" icon="phone-arrow-up-right" href="/docs/simulation/outbound/overview">
    Your agent **places** calls. Tuner triggers your webhook with a SIP URI to dial, and your agent calls Tuner's simulation agent. Configure it in **Agent Settings → Simulation Setup**, guides for LiveKit, Pipecat, and Custom API.
  </Card>
</CardGroup>

***

## FAQ

<AccordionGroup>
  <Accordion title="How long does a simulation run take?">
    Each simulated call takes 1–4 minutes depending on scenario complexity. A batch of 10 calls typically completes in 5–10 minutes.
  </Accordion>

  <Accordion title="Does simulation cost credits?">
    Yes. Each simulated call consumes credits from your balance. The rate is shown in the Run Simulation dialog before you start.
  </Accordion>

  <Accordion title="Can I run simulation on an agent that's already in production?">
    Yes. Simulation calls are separate from production traffic and don't affect your production metrics.
  </Accordion>

  <Accordion title="What providers are supported?">
    **Inbound:** managed platforms [Vapi](/docs/simulation/vapi) and [Retell](/docs/simulation/retell), plus any SIP-capable provider ([**Other platforms**](/docs/simulation/other-platforms), including Twilio, Telnyx, LiveKit Cloud SIP, etc.) if you paste the correct URI and credentials into **Agent Settings → SIP Settings**. See [**Inbound Simulation, SIP setup**](/docs/simulation/setup).

    **Outbound:** any stack that can place a call to a SIP URI, with guides for LiveKit, Pipecat, and Custom API. See [**Outbound Simulation**](/docs/simulation/outbound/overview).

    Contact support if you are unsure which path fits.
  </Accordion>
</AccordionGroup>
