CAfc4df72dae1cc1afca358411562f6ea2
ModPod Podiatry · +61481222413 → +61468078235 · pracsuite
Started 27/05/2026, 7:29:06 pm · Duration 115s · Turns 8 · Outcome aborted · End caller_hangup
Call recording · 114s
›Full Transcript · 24 messages
+0:15.5+0:16.2+0:21.1+0:21.6immediate_ack+0:22.9+0:23.2+0:23.7immediate_ack+0:25.0+0:25.1+0:25.6immediate_ack+0:32.4+0:38.0+0:38.5immediate_ack+0:40.2+0:52.9+0:53.4immediate_ack+0:58.4tool_lead_in+1:16.9+1:16.9+1:17.1+1:17.5+1:41.6+1:42.1immediate_ack+1:42.6State Flow · 7 states · 24 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:
- 296d528b-0079-442f-b92d-93bd5298fde2
- greeting· 4.1s 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.9Prefetched the caller’s record in 3.9s. 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 - booking discovery· 12.0s laterSTATE 03booking discovery/ elicit_serviceflow state
booking_discoveryRouter state. Identifies caller intent and dispatches to a super-state branch (appointment_setting / appointment_adjustment / qa / handoff).
- Enters when
- Call starts after greeting, OR a sub-flow returns to the router (e.g. qa side-loop completes).
- Exits when
- Routes into appointment_setting (new booking), appointment_adjustment (touch existing), qa (side question), or handoff (callback/transfer/escalation).
- Allowed tools
- BASE_TOOLS minus CreatePatient. Read-only lookups while still gathering intent.
elicit_servicephaseDetermine which service / appointment type the caller wants.
+0:15.9FSM routed to booking discovery (elicit service). Because booking request medium — said booking-related words. Agent asked the caller what their visit is about. No tools unlocked yet (still gathering info).USER+0:15.5I book an ex appointment with Lance?BOT+0:16.2No problem. What's the main concern you'd like the podiatrist to help with, and how long has it been going on?FSM internals
trigger:booking_request/medium · evidence=booking_terms · context=unknowndirective:visit_reason_requiredaction:ask_visit_reasonallowed tools:none (still gathering)raw:visit_reason_required - booking discovery· 5.3s laterSTATE 04booking discoveryflow state
booking_discoveryRouter state. Identifies caller intent and dispatches to a super-state branch (appointment_setting / appointment_adjustment / qa / handoff).
- Enters when
- Call starts after greeting, OR a sub-flow returns to the router (e.g. qa side-loop completes).
- Exits when
- Routes into appointment_setting (new booking), appointment_adjustment (touch existing), qa (side question), or handoff (callback/transfer/escalation).
- Allowed tools
- BASE_TOOLS minus CreatePatient. Read-only lookups while still gathering intent.
+0:21.2FSM routed to booking discovery. Because no specific rule matched the caller’s last turn — no FSM rule matched. Directive: still gathering booking details. Tools available: GetPatientDetails, CheckAvailability, GetServicesAndPricing, GetAppointmentTypes, ConvertTimezone, EscalateToHuman, TransferCall.USER+0:21.1Right.BOT+0:21.6immediate_ackMm-hmm.BOT+0:22.9I'm sorry, I didn't quite catch that—could you tell me what's bringing you in today?USER+0:23.2But he's really sore.BOT+0:23.7immediate_ackOkay.BOT+0:25.0I'm sorry to hear that—where is he sore, and how long has it been going on?USER+0:25.1about two weeks.BOT+0:25.6immediate_ackRight.BOT+0:32.4Thanks, Daniel. What part of the foot or leg is he having trouble with?USER+0:38.0Ball of my foot.BOT+0:38.5immediate_ackGot you.BOT+0:40.2I'm sorry to hear that, Daniel. You've come to exactly the right place—we treat ball-of-foot pain every day. Which area are you in, so I can find you the most convenient clinic?USER+0:52.9Mosman.BOT+0:53.4immediate_ackI'll check that now.BOT+0:58.4tool_lead_inLet me check what Lance has available at Mosman for you.toolCheckAvailability3078ms · ok+1:02.0in:{"date_from":"2026-05-28","business_id":"36"}out:{"locations":[{"id":"36","name":"ModPod Podiatry - Mosman"}],"total_slots":2,"location_name":"ModPod Podiatry - Mosman","practitioners":[{"id":"22","name":"Ali…⚠ FSM STALLED after this toolState before tool:booking_discoveryAfter tool returned:11.9s of silenceThen: ASSISTANT at +15.0s: "Let me check what Lance has available at Mosman for you."Expected: transition to a state that offers these slots to the caller (e.g. offering_slots). Missing rule maps (booking_discovery, CheckAvailability=ok with slots>0) → next.BOT+1:16.9Let me check what Lance has available at Mosman for you.BOT+1:16.9Lance doesn't appear to have availability at Mosman right now, but I do have Alison Pasut available — Thursday the twenty-eighth of May at four thirty PM, or five PM. Would either of those work, or would you prefer I check another clinic for Lance?FSM internals
trigger:unknown/low · evidence=no_rule_matched · context=unknowndirective:booking_discoveryallowed tools:GetPatientDetails, CheckAvailability, GetServicesAndPricing, GetAppointmentTypes, ConvertTimezone, EscalateToHuman, TransferCallraw:booking_discovery - booking discovery· 56.0s laterSTATE 05booking discoveryflow state
booking_discoveryRouter state. Identifies caller intent and dispatches to a super-state branch (appointment_setting / appointment_adjustment / qa / handoff).
- Enters when
- Call starts after greeting, OR a sub-flow returns to the router (e.g. qa side-loop completes).
- Exits when
- Routes into appointment_setting (new booking), appointment_adjustment (touch existing), qa (side question), or handoff (callback/transfer/escalation).
- Allowed tools
- BASE_TOOLS minus CreatePatient. Read-only lookups while still gathering intent.
+1:17.2FSM routed to booking discovery. Because ambiguous medium — unresolved two slot reply. Agent ran clarify two slot choice. No tools unlocked yet (still gathering info).USER+1:17.1What?BOT+1:17.5Just to clarify, which one did you want: Thu 28 May, 4:30pm, or Thu 28 May, 5pm?FSM internals
trigger:ambiguous/medium · evidence=unresolved_two_slot_reply · context=two_slot_choicedirective:unclear_two_slot_choice_replyaction:clarify_two_slot_choiceallowed tools:none (still gathering)raw:unclear_two_slot_choice_reply - awaiting final confirmation· 24.5s laterSTATE 06awaiting final confirmationflow state
awaiting_final_confirmationinsideappointment_settingFinal slot has been read back to the caller. Waiting for an explicit yes/no before committing the write.
- Enters when
- Caller picked a slot from offering_slots.
- Exits when
- Caller confirms → CreateAppointment fires, → post_booking_closing. Caller declines → offering_slots (re-pick) or resolving_service (re-discover).
- Allowed tools
- No tools allowed. Agent must wait for a verbal yes/no.
+1:41.7FSM routed to awaiting final confirmation. Because ambiguous medium — unresolved two slot reply. Agent ran final slot confirmation. No tools unlocked yet (still gathering info).USER+1:41.6Later in the week.BOT+1:42.1immediate_ackMm-hmm.BOT+1:42.6Just to confirm, Daniel, that's an Initial Laser 1 Foot appointment for Thu 28 May, 5pm with Alison Pasut at Mossmen. Should I book that in?FSM internals
trigger:ambiguous/medium · evidence=unresolved_two_slot_reply · context=two_slot_choicedirective:two_slot_choice_selectedaction:final_slot_confirmationallowed tools:none (still gathering)raw:two_slot_choice_selected - ended· 12.7s laterSTATE 07endedsynthetic
+1:54.4Call ended after 115s · 8 turns · reason: caller_hangup.
Tool calls · 1
CheckAvailability 3078ms · ok
{
"date_from": "2026-05-28",
"business_id": "36"
}{
"locations": [
{
"id": "36",
"name": "ModPod Podiatry - Mosman"
}
],
"total_slots": 2,
"location_name": "ModPod Podiatry - Mosman",
"practitioners": [
{
"id": "22",
"name": "Alison Pasut"
}
],
"available_slots": [
{
"business_id": "36",
"business_name": "ModPod Podiatry - Mosman",
"practitioner_id": "22",
"duration_minutes": 30,
"appointment_start": "2026-05-28T16:30:00",
"practitioner_name": "Alison Pasut",
"appointment_type_id": "50019",
"appointment_type_name": "Initial Laser 1 Foot",
"appointment_start_formatted": "Thu 28 May, 4:30pm [2026-05-28T16:30:00]"
},
{
"business_id": "36",
"business_name": "ModPod Podiatry - Mosman",
"practitioner_id": "22",
"duration_minutes": 30,
"appointment_start": "2026-05-28T17:00:00",
"practitioner_name": "Alison Pasut",
"appointment_type_id": "50019",
"appointment_type_name": "Initial Laser 1 Foot",
"appointment_start_formatted": "Thu 28 May, 5pm [2026-05-28T17:00:00]"
}
],
"deposits_required": false,
"practitioner_name": "Alison Pasut",
"has_multiple_locations": false,
"has_multiple_practitioners": false
}Call Notes
FSM Final State
| status | active |
Flow Diagram · 7 states
- 01init4.1s later
- 02greeting12.0s later
- 03booking discovery5.3s later
- 04stalledbooking discovery56.0s later
- 05booking discovery24.5s later
- 06awaiting final confirmation12.7s later
- 07endedinstant
Click a state to jump to its detail card above. Red border = FSM stalled at a tool inside that state.