CA6ccec83eff6d6ea65221f4e65266071b
ModPod Podiatry · +61481222413 → +61468078235 · pracsuite
Started 28/05/2026, 11:24:27 am · Duration 49s · Turns 1 · Outcome completed · End caller_hangup
Call recording · 38s
›Full Transcript · 2 messages
+0:16.1+0:16.6immediate_ackState Flow · 4 states · 2 utterances
- STATE 01initsynthetic
initWebSocket opened and prefetch (patient lookup, current bookings, recent thread, preferences) is in flight. No agent utterance yet.
- Enters when
- Twilio ConversationRelay opens the WebSocket.
- Exits when
- Prefetch completes → greeting.
- Allowed tools
- No tools — the route layer is fetching DB state in parallel.
+0:00.0Call answered. Agent is initializing the session for ModPod Podiatry.- Tenant:
- ModPod Podiatry
- PMS:
- pracsuite
- Direction:
- +61481222413 → +61468078235
- Conversation:
- 075154e3-db47-422a-a059-c55e279fb902
- greeting· 3.8s laterSTATE 02greetingsynthetic
greetingDeterministic agent greeting plays once prefetch resolves and before the caller speaks for the first time.
- Enters when
- Prefetch resolves; route layer emits the greeting TTS.
- Exits when
- Caller responds → first buildVoiceBookingFlow pass routes to booking_discovery / rescheduling / cancelling / answering_query / verifying_identity.
- Allowed tools
- No tools — single deterministic utterance.
+0:03.5Prefetched the caller’s record in 3.5s. Agent is now greeting the caller.Data prefetched for this callerMatched patientName:Daniel WelshMobile:+61481222413DOB:—First seen:—Last seen:—Outreach status:noneRecent past appointments (showing 5 of 27)6/6/26, 10:30 amNew Biomechanical· Will Zalloua· ModPod Podiatry - Dee Whycancelled5/6/26, 9:00 amFree Bio· Jake Murphy· ModPod Podiatry - Dee Whycancelled4/6/26, 12:00 pmNew Biomechanical· Alison Pasut· ModPod Podiatry - Mosmancancelled3/6/26, 2:50 pmNew Biomechanical· Trent Baker· ModPod Podiatry - Mosmancancelled1/6/26, 3:00 pmNew Biomechanical· Alison Pasut· ModPod Podiatry - Mosmancancelled
27 total appointments on file · 0 pre-call messages in this conversation - answering query· 12.9s laterSTATE 03answering query/ load_existing_bookingsflow state
answering_queryRead-only flow where the caller asked about their existing bookings ("what do I have coming up?") or pricing. task.kind === query. Bookings are prefetched at init so this state ANSWERS from session data rather than re-loading.
- Enters when
- task.kind === query (caller asked about upcoming appointments, pricing, or returned-call intent needs clarifying). Promoted from booking_discovery automatically.
- Exits when
- Caller picks an action → booking_discovery / rescheduling / cancelling. Caller closes → closing.
- Allowed tools
- GetCurrentlyBookedAppts (for refresh edge cases only — data is pre-loaded), GetPatientDetails, EscalateToHuman, TransferCall. No write tools, no CheckAvailability.
load_existing_bookingsphaseFetch the caller’s current/upcoming bookings so we can act on the right one.
+0:16.4FSM routed to answering query (load existing bookings). Because booking request medium — said booking-related words. Directive: appointment status lookup. Tools available: GetCurrentlyBookedAppts, EscalateToHuman.USER+0:16.1Can I book an appointment, please? Or wait. Do I have an appointment already?BOT+0:16.6immediate_ackI can help with that.toolGetCurrentlyBookedAppts543ms · ok+0:46.3in:{"patient_id":"896058"}out:{"total":0,"instruction":"For a caller-confirmed request to cancel this appointment, call CancelAppt with appointment_id.","appointments":[]}⚠ FSM STALLED after this toolState before tool:answering_query / load_existing_bookingsAfter tool returned:2.1s of silenceThen: Call ended (duration=49s, turns=1, source=websocket_close) — no further activityNo common pattern for (answering_query, GetCurrentlyBookedAppts). Inspect voice-booking-flow.ts for any rule referencing this tool.FSM internals
trigger:booking_request/medium · evidence=booking_terms · context=unknowndirective:appointment_status_lookupallowed tools:GetCurrentlyBookedAppts, EscalateToHumanraw:appointment_status_lookup - ended· 32.6s laterSTATE 04endedsynthetic
+0:49.0Call ended after 49s · 1 turn · reason: caller_hangup.
Tool calls · 1
GetCurrentlyBookedAppts 543ms · ok
{
"patient_id": "896058"
}{
"total": 0,
"instruction": "For a caller-confirmed request to cancel this appointment, call CancelAppt with appointment_id.",
"appointments": []
}Call Notes
FSM Final State
| status | active |
Flow Diagram · 4 states
Click a state to jump to its detail card above. Red border = FSM stalled at a tool inside that state.