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

# Agent testing

> Author reusable response, tool-call, and simulation test definitions while tracking the separate execution gate.

A test definition records a scenario and the expected outcome. Keep it alongside the configuration change it is intended to check.

<Note>
  Test creation, editing, folders, and existing invocation reads are available through the API. Running or resubmitting tests is gated by agent execution availability. Saving a test does not run it.
</Note>

You need an authorized workspace credential and a specific behavior to evaluate.

| Test type | Definition to prepare |
| - | - |
| `llm` | `success_condition`, with optional success and failure examples |
| `tool` | Expected `tool_call_parameters` and `check_any_tool_matches` |
| `simulation` | Conversation scenario and `success_conditions` |

<Frame caption="Recording pending: Create and inspect a test definition. Follow the written guide below.">
  <img src="https://mintcdn.com/threetonelabs-c2efc9c8/RV32i5440UZIaFHA/images/tutorials/recording-pending.webp?fit=max&auto=format&n=RV32i5440UZIaFHA&q=85&s=55f66d2eef49d8c92c9ac46f84bace35" alt="Recording pending for Create and inspect a test definition. No playable video is available yet." width="1600" height="900" className="w-full h-auto aspect-video" loading="lazy" noZoom data-path="images/tutorials/recording-pending.webp" />
</Frame>

<Steps>
  <Step title="Write one observable expectation" id="testing-expectation">
    For example, require the agent to ask for a missing booking date before requesting a reservation. Include relevant `chat_history` and synthetic `dynamic_variables`.
  </Step>

  <Step title="Save and inspect the definition" id="testing-save-definition">
    Use [Create test](/api-reference/tests/create-test), then [Get test](/api-reference/tests/get-test). Confirm the returned type, scenario, and expected outcome. Organize related definitions with [test folders](/api-reference/test-folders/create-folder).
  </Step>

  <Step title="Associate and record readiness" id="testing-record-readiness">
    Agent configuration supports `platform_settings.testing.attached_tests`. Review attachment details with the agent draft. Mark execution pending until a released runner produces a completed invocation for the intended version.
  </Step>
</Steps>

[Existing invocations](/api-reference/test-invocations/list-test-invocations) can be read independently. Managed-model text-only publication does not remove the test execution gate; voice and custom-model publication remain unavailable.

<AccordionGroup>
  <Accordion title="Can I use the run-tests route now?" id="testing-faq-run">The public contract exists, but the current execution gate prevents a new run. Do not interpret a saved definition as a passing result.</Accordion>
  <Accordion title="Should a test contain customer secrets?" id="testing-faq-data">Use synthetic values and only the context needed to reproduce the behavior.</Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.