From 957cbe87f274d7900be431f2e73c444e8c2a55de Mon Sep 17 00:00:00 2001 From: Scott Lowe Date: Sun, 18 Oct 2026 21:24:05 -0700 Subject: [PATCH] docs: clarify the assistant Test tab and add real screenshots --- fern/docs.yml | 3 + fern/observability/simulations-quickstart.mdx | 2 + fern/observability/simulations-test-tab.mdx | 94 ++++++++++++++++++ .../images/assistant-test-tab-empty.png | Bin 0 -> 17983 bytes .../images/assistant-test-tab-suites.png | Bin 0 -> 21035 bytes 5 files changed, 99 insertions(+) create mode 100644 fern/observability/simulations-test-tab.mdx create mode 100644 fern/static/images/assistant-test-tab-empty.png create mode 100644 fern/static/images/assistant-test-tab-suites.png diff --git a/fern/docs.yml b/fern/docs.yml index 1a027d6e8..b200d9747 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -698,6 +698,9 @@ navigation: - page: Quickstart path: observability/simulations-quickstart.mdx icon: fa-light fa-rocket + - page: Test an assistant + path: observability/simulations-test-tab.mdx + icon: fa-light fa-vial - page: Advanced path: observability/simulations-advanced.mdx icon: fa-light fa-flask-vial diff --git a/fern/observability/simulations-quickstart.mdx b/fern/observability/simulations-quickstart.mdx index 436a8b0d3..926ede871 100644 --- a/fern/observability/simulations-quickstart.mdx +++ b/fern/observability/simulations-quickstart.mdx @@ -7,6 +7,8 @@ slug: observability/simulations-quickstart In about 10 minutes, you'll run an AI tester through an appointment-booking conversation with Riley and get a pass or fail result. You'll also have a reusable simulation suite that you can run again after any change. +Testing a single assistant? Start from its [**Test tab**](/observability/simulations-test-tab), where Composer can generate a suite for you. + ## What you'll build A reusable **simulation suite** that asks an AI tester to book an appointment with Riley, Vapi's appointment-scheduler template assistant. The first criterion checks whether Riley reports the requested date and time with a confirmation number. This is a conversation-only demonstration, not proof that an appointment exists in a calendar. diff --git a/fern/observability/simulations-test-tab.mdx b/fern/observability/simulations-test-tab.mdx new file mode 100644 index 000000000..ab62b1b67 --- /dev/null +++ b/fern/observability/simulations-test-tab.mdx @@ -0,0 +1,94 @@ +--- +title: Test an assistant +subtitle: Generate, run, and track simulation suites from an assistant's Test tab +description: "Use an assistant's Test tab to generate a simulation suite with Composer, run it, and follow its latest results and run history without leaving the assistant." +slug: observability/simulations-test-tab +--- + +The **Test** tab lists [**simulation suites**](/observability/simulations-overview) that include this assistant in their target assignments. This includes suites Composer generates for the assistant and suites you assign to it yourself. From the tab, you can generate a suite with Composer, run or rerun a suite, and open its results and run history without leaving the assistant. + +## Prerequisites + +- An [**assistant**](/assistants) in your Vapi account. +- Permission to read test suites and test runs. Without both, you won't see the **Test** tab. +- To generate a suite, permission to create test suites. +- To run a suite, permission to create test runs. + + + Runs use the published version of the assistant. If you're editing a draft, the tab shows **Runs use the published version**. Publish your changes to test them. If [**traffic splitting**](/assistants/versioning/traffic-splitting) is enabled, publish the new version with 0% traffic so it handles no live calls. + + +## Generate a suite with Composer + +Open the assistant and select the **Test** tab. If no suites are assigned to the assistant, the tab shows **No test suites yet** with **Generate with Composer** and an **About simulations** link. Once the assistant has suites, select **Generate suite** above the table to create another. + + + Assistant Test tab empty state showing No test suites yet, Generate with Composer, and About simulations. + + +Both buttons open [**Composer**](/composer#generate-tests-for-an-assistant) in a new thread for this assistant: + + + + Composer reads the assistant's prompt and tools and drafts **Test requirements**. Select **Generate coverage** to accept them, or type the changes you want in the chat. + + + + Composer generates simulations from the requirements and saves them as a suite assigned to the assistant. The suite card shows **Saved to the Test tab**. Tools that reach your systems are mocked by default, and each simulation lists any tools it mocks. + + + + Select **Run suite** on the card to start a chat run with one iteration. The suite also appears in the **Test** tab. + + + +## Read the suite table + +The table shows up to 100 suites assigned to the assistant, one row per suite, with the latest run of that suite against this assistant. + + + Assistant Test tab suite table showing two assigned suites and the Simulations, Status, Progress, and Last run columns, with Generate suite and View run history actions. + + +| Column | What it shows | +| -- | -- | +| **Test suites assigned** | The suite name. Once the suite has run, select the row to open its latest run. | +| **Simulations** | How many simulations the latest run executed, with its chat or voice mode. Before the first run, the number of simulations in the suite. | +| **Status** | The latest run's status: **Queued**, **Running**, **Passed**, **Failed**, **Errored**, or **Canceled**. A suite that has never run for this assistant shows **Not run yet**. | +| **Progress** | A bar of the latest run's outcomes. During a run, it shows how many simulations are complete, such as `2 of 5 complete`. After the run, it summarizes the outcomes, such as `4 passed ยท 1 failed or errored`. | +| **Last run** | When the latest run ended, such as `5 minutes ago`. It updates every minute while the tab is open. | + +Each row ends with a **Run** or **Rerun** button. Once a suite has run, the row also shows a run history button that opens **Simulations** > **Runs** filtered to that suite and this assistant. To see every run for the assistant, select **View run history** above the table. + +## Run a suite + +Select **Run** on a suite that has never run for this assistant. If the suite can run in chat, it starts immediately as a chat run with one iteration, and the row updates as it progresses. + +In these cases, the **Run suite** dialog opens instead, so you can choose the mode and iterations: + +- The assistant needs voice, such as one that uses a GPT-Live model. **Voice** is the only mode offered. +- A simulation in the suite, its scenario, or its AI tester personality couldn't be loaded, for example because it was deleted. +- A scenario has hooks configured. + +To run a suite again, select **Rerun**. The dialog always opens so you can choose **Chat** or **Voice** and the number of **Iterations**. The mode defaults to the previous run's. Each rerun creates a new run and picks up any changes made to the suite. + + + A suite with no simulations can't run. Add at least one simulation before running it. **Run** and **Rerun** stay disabled while a run of the suite is queued or running. + + +## Next steps + + + + Build and run a simulation suite step by step. + + + Edit suites, review results, and maintain coverage. + + + Control what tools return during a simulation. + + + Generate tests for an assistant in conversation. + + diff --git a/fern/static/images/assistant-test-tab-empty.png b/fern/static/images/assistant-test-tab-empty.png new file mode 100644 index 0000000000000000000000000000000000000000..314873feb95bd4a0bb37ffb0e4eae13f952d2f4b GIT binary patch literal 17983 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 literal 0 HcmV?d00001 diff --git a/fern/static/images/assistant-test-tab-suites.png b/fern/static/images/assistant-test-tab-suites.png new file mode 100644 index 0000000000000000000000000000000000000000..42b6f85b102a61f3d261260887af1fa4947ceb9d GIT binary patch literal 21035 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 I=akR{02=_=uK)l5 literal 0 HcmV?d00001