Skip to main content

Set up your agent

There are two ways to run simulations:

Calibrate agent

Define your agent completely within Calibrate

Agent connection

Connect your existing text or voice agent

Personas

An array of user personas that simulate different types of users interacting with your agent. For a primer on personas, refer to Personas. Each persona has:

Scenarios

An array of scenarios that define different conversation patterns to test. For a primer on scenarios, refer to Scenarios. Each scenario has:

Evaluators

An array of LLM judges used to evaluate the agent’s performance. Each evaluator becomes its own LLM call per simulation — all evaluators run in parallel against the entire conversation transcript.
You must define every evaluator yourself, including all of the context that the judge needs in its system_prompt.You can also set the judge_model on an evaluator to use a different model. The default judge model is openai/gpt-5.4-mini.
Paste the evaluators array next to system_prompt, personas, scenarios, and your other top-level keys in your simulation config JSON. Binary evaluators produce pass/fail and appear as pass-rate percentages in the leaderboard. Rating evaluators produce an integer score on the scale you define and appear as mean scores in the leaderboard.

Settings

Optional settings to control the simulation:

STT, LLM, and TTS (voice simulations only)

For voice simulations, specify the STT, LLM, and TTS providers:

Full examples

See the full text simulation file on GitHub and the full voice simulation file on GitHub. The snippet below matches the text setup; voice runs add stt, tts, and llm (with model) and may set interruption_sensitivity on personas — see the voice sample for those keys.
See the full file on GitHub.Refer to Agent Connections → Chat agent for the full reference.
See the full file on GitHub.Refer to Agent Connections → Outbound voice agent for the full reference.

Get started

Interactive mode

Run calibrate-agent simulations with no arguments to launch the interactive UI:
Calibrate agent (text):
  1. Simulation type — select “Text”
  2. Config file — path to your config file
  3. Provider — OpenRouter or OpenAI
  4. Model — the model used for both the agent and user simulator
  5. Parallel count — how many simulations to run simultaneously (default: 1)
  6. Output directory — where results will be saved (defaults to ./out)
  7. API keys — enter the API keys for the selected provider
Calibrate agent (voice):
  1. Simulation type — select “Voice”
  2. Config file — path to your config file (with stt, tts, and llm set)
  3. Parallel count — how many simulations to run simultaneously (default: 1)
  4. Output directory — where results will be saved (defaults to ./out)
  5. API keys — enter the API keys for the selected providers
Agent connection (text & voice):
  1. Simulation type — select Text or Voice
  2. Config file — path to your config file
  3. Parallel count — how many simulations to run simultaneously (default: 1)
  4. Output directory — where results will be saved (defaults to ./out)
  5. API keys — only OPENAI_API_KEY is required (used by the user simulator and LLM judge)

Non-interactive mode

Pass --type text or --type voice and a config file directly to skip the UI. Calibrate agent (text):
Calibrate agent (voice):
Chat agent (text):
Outbound voice agent (voice):
Run multiple simulations in parallel with -n:
You can also set the default parallelism with the CALIBRATE_SIMULATION_PARALLEL environment variable (defaults to 1). The -n/--parallel flag takes precedence over it when provided.
Simulations run for every persona × scenario combination. For example, 2 personas × 2 scenarios = 4 simulations. Skip verification: For agent connection configs, calibrate verifies the connection before running. Pass --skip-verify to skip this step — useful in CI/automation pipelines where you’ve already confirmed the agent is reachable:

Output

Once all simulated conversations complete, it displays the overall metrics aggregated across all simulations along with bar charts for visualization.
Simulation overview
You can drill into each simulation to view the full transcript:
Simulation transcript
and review the reasoning for each evaluation criterion:
Simulation evaluation

Resources

Personas

Learn how to create realistic user personas

Scenarios

Learn how to write effective scenarios