1 · Discovery
Step 01
Loading
Animated typing dots while Q prepares the agent list.
Step 02
Welcome — agents as suggestions
Greeting + 4 agent action cards in an inline panel.
Step 02b
Picker popover — chip is open
Same 4 agents as a compact dropdown, anchored to the "Pick an agent" chip in the input bar.
Step 02c
Welcome — 1 agent
Edge case: single agent. Centred card with a max-width so it doesn't span the whole thread.
Step 02d
Welcome — 2 agents
1 column on phones, 2 columns on tablet+. Production agent names.
Step 02e
Welcome — 3 agents
1 column phone, 2 columns tablet+ (last card sits alone — acceptable for odd counts).
Step 02f
Welcome — 6 agents (long names)
Pre-rename agent titles still carrying the "Acme Hospital ..." prefix. Demonstrates how long names wrap in the 3-col grid — kept as a "before" reference vs. Option A's shortened versions.
Step 02g
Option A — renamed short names
Renamed backend names (org prefix dropped — "Wellness Visit Outreach", "Hypertension Check-In", etc.). Refined typography + consolidated greeting. Requires backend rename only (no schema change).
Step 02h
Option B — tiles with description (proposed)
Short names + 1-sentence description per agent, 2-col always. Same consolidated greeting. Requires backend rename + new
description field.
Step 02i
Backend state — all ready to call (0 fields)
All agents have participant_variables: []. Greeting: "Tap any scenario to start the call instantly." Minimal cards.
Step 02j
Backend state — different field per agent
Hints DIFFER (one needs name, another DOB, another appointment date) → per-card hints stay; greeting is generic.
Step 02k
Backend state — all need the same multiple details
All agents share the same 3 mandatory fields. Greeting names them once; cards stay minimal.
Step 02l
Backend state — varied multi-input per agent
Each agent needs SEVERAL mandatory fields, but the counts and field sets differ between agents. Per-card hints stay (now informative); greeting is generic.
Step 03
No agents available
Empathic message; no fake controls.
Step 04
Picker fetch error
Conversational error + retry suggestion chip.
2 · Variables
Step 05
Appointment Reminder — empty form
5 fields: first / last / DOB / appointment date / clinic. Start button disabled until ready.
Step 05-filled
Appointment Reminder — filled
All 5 fields populated. Start enabled. "Form ready" chip earned its place.
Step 05b
Prescription Refill — empty form
4 fields: first / last / DOB / medication.
Step 05b-filled
Prescription Refill — filled
All 4 fields populated (Metformin 500mg). Start enabled.
Step 05c
Lab Results Follow-up — empty form
3 fields: first / last / DOB. Framing: "no medical detail until the call starts."
Step 05c-filled
Lab Results Follow-up — filled
Identity verified. Start enabled.
Step 05d
Wellness Visit Outreach — empty form
Just a name. Minimum-friction case.
Step 05d-filled
Wellness Visit Outreach — filled
Name typed in. Start enabled.
Step 05e
Lab Results — with optional fields
Mandatory + optional mix. Demonstrates the
(optional) field hint from the source schema.
Step 05g
Just name (generic)
Canonical "only first name required" form. Uses a non-wellness agent (Mammogram Outreach) to make clear the pattern applies to any agent whose participant_variables resolves to a single name field.
Step 06
Variables — submit blocked
User pressed Start with all 5 mandatory Appointment Reminder fields empty. Each shows an inline error.
Step 06b
Variables — submitting
Form locked, button shows typing indicator + "Starting the call…" while the mint API is in flight.
3 · Live call
Step 07
Call — connecting
Inline call card. Orb dim, slow pulse.
Step 08
Call — live, listening
Same card, agent listening. Orb gentle breath.
Step 09
Call — live, speaking
Orb fast pulse, brighter aura.
Step 09d
Call — hanging up
User pressed End. Pill reads "Hanging up…", orb fades, button disabled while disconnect is in flight.
Step 10
Call ended — Appointment Reminder
Outcome: Confirmed. Patient confirmed their appointment.
Step 10b
Call ended — Prescription Refill
Outcome: Refill requested. Sent to Acme Pharmacy with text-message handoff.
Step 10c
Call ended — Lab Results Follow-up
Outcome: Results reviewed. Neutral framing; clinician handoff for flagged concerns.
Step 10d
Call ended — Wellness Visit Outreach
Outcome: Check-in complete. Relational framing; updates noted for care team.
Step 10e
Call ended — time's up
Server-enforced duration cap reached. Warning-coloured outcome icon, distinct copy from user-hangup.
4 · Failure modes
Step 11
Call error
Q surfaces the failure conversationally + retry chip.
Step 11b
Mic permission denied
Browser blocked microphone access. Danger-coloured callout with browser-settings recovery instructions.
Step 11c
Connection lost mid-call
LiveKit room dropped without explicit hangup. Warning callout, retry preserves details.
Step 12
At capacity
Yellow callout, retry-after countdown, soft framing.
Step 13
Unavailable
Maintenance mode. Calm callout, no retry button.
5 · Layout-contract demos