Skip to content

Free-flow scenarios

Free-flow is the fastest way to get a runnable scenario. You write a description in plain English; the platform converts it into a structured caller persona at runtime — opening line, objectives, behaviors, escalation triggers, edge cases, and the data response rules.

When to use free-flow

Pick free-flow when:

  • The conversation is open-ended — many valid replies at each turn.
  • You want one piece of authoring to expand into multiple realistic paths.
  • You want the caller to invoke custom functions. (Free-flow only.)

Pick the graph designer instead when every turn is scripted or you need precise IVR digit-press sequences.

What a good description looks like

3–6 sentences that cover who is calling, what they know, and how they react. Stage direction, not a script.

Template

You are <NAME> calling about <SITUATION>. You are <EMOTIONAL STATE> (<intensity>/10).
The relevant facts: <key data — order #, DOB, dollar amount, dates>.
If <agent does X>, you <react Y>. If they push back, <escalation behavior>.
End the call <success condition> or <escalation condition>.

Example

You are Alex Johnson calling about a duplicate $48.32 charge on your card statement.
You are mildly frustrated (5/10). The duplicate is from "Brew Co" on Mar 4.
Your card ending is 7710, your DOB is 1988-07-12. If the agent verifies you,
ask for a refund. If they push back, ask for a supervisor. End the call politely
once you have a refund confirmation number or a supervisor callback.

What gets generated from your description

When you click Generate test paths, the platform expands your description into a structured persona for each path. The persona includes:

  • Caller identity — name, pronouns, emotional state.
  • Objectives — primary goal, secondary goals, escalation conditions.
  • Ground rules — what the caller will and won’t do (de-escalate, escalate, language limits).
  • Knowledge & flex responses — what the caller knows; acceptable explanations from the agent.
  • Opening line — the exact first utterance.
  • Behaviors & phrases — interruption phrases, doubt phrases, acceptance phrases.
  • Identity & data — bare values to provide when asked (DOB, account #, name spelling).
  • Data Response Protocol — the hard rule that bare values are spoken without sentence wrapping. Full guide →
  • IVR Navigation Protocol — when and how to use press_digit for menu navigation.
  • Custom Functions Available — only if you declared any. Lists the functions, the trigger condition (preserved verbatim from your description), and the usage pattern.
  • Acceptance & end conditions — success and failure / escalation criteria.
  • Tone controls — how intensity changes during the call.
  • Edge cases — fallback behavior for unexpected questions.

Authoring tips

  • Be specific about data. “Card ending 7710, DOB 1988-07-12” produces better tests than “I have my card info.”
  • Be specific about reactions. “If verification fails, get impatient and demand a supervisor” produces better tests than “react appropriately.”
  • Preserve cardinality if you mean it. If you want the caller to invoke a custom function on every turn, say “every turn” or “before every sentence” — those words survive into the generated persona.
  • One scenario, one situation. If you find yourself authoring “and also if X happens”, split into two scenarios.

Custom functions in free-flow

Right side of the designer — the Functions panel. Built-in tools (end_call, press_digit) are always there. Add your own via + Add. Reference them by name in your description.

Full custom functions guide →

Iterating

Edit the description anytime. Changes don’t auto-update existing test paths — re-generate to pull the new persona. The Save button always preserves your authoring; only Generate test paths rewrites the persona on each path.