Scenarios

The test case a simulation runs: a situation, a flow, and the rows that fill it

What a scenario is

A scenario is one test case for your agent definition: the situation a conversation starts from and the flow it should follow. A refund request, a booking change, a billing dispute, each is a scenario the simulator can run.

Your agent holds a conversation with the FAGI simulator inside a simulated environment. A list of scenarios feeds the environment, and a list of personas feeds the scenarios.

A run picks one scenario from your library and plays it out against your agent. The rest of this page is what a single scenario holds.

The flow

The flow is the path the conversation is meant to take, drawn as a graph. Each step is a node, and the edges between them are the routes the conversation can follow:

NodeWhat it does
ConversationA step where the agent and customer talk, the ordinary building block of a flow
End call / End chatTerminates the conversation on that branch
Transfer call / Transfer chatHands off, typically to a human, and can merge paths

You never draw the flow by hand unless you want to. It comes out of whichever source you built the scenario from, a workflow graph, a dataset, a script, or an SOP, and Create scenarios covers all four.

Global nodes

A global node is a Conversation node the agent can reach at any point, not only when the flow arrives at it. It fits anything that can interrupt at any moment: an off-topic question, a sudden pricing query, a “talk to a human” request. One global node covers that case from anywhere in the flow, so you don’t draw an edge to it from every step. Only Conversation nodes can be global.

One scenario, many conversations

A scenario is not a single fixed script. It carries a table of rows, and each row plays out as its own conversation through the same flow. That is how one refund request scenario becomes a hundred concrete tests instead of one.

A row pairs a persona with the details of that particular case:

PersonaAmountObjection
Frustrated caller$240Wants an exception to the 30-day window
Polite regular$35Confused about the refund timeline

The personas come from the ones you attach when you build the scenario, which is why the persona never has to be chosen again at run time: it is already in the row.

The simulator prompt

Every scenario carries a simulator prompt: the instructions the simulator follows to play the customer. It draws on the current row, so the same prompt produces a different customer for every row while the situation the scenario describes stays fixed.

Scenarios are reusable

A run pins the scenarios it used, so the set is recorded with the run rather than re-read later. Point the same set at a new agent version and the comparison is honest: the test didn’t move, the agent did. Kept together, they become a regression suite, and any conversation that used to pass and now fails stands out.

Keep exploring

Was this page helpful?

Questions & Discussion