CA289c1a60b7f2a2b20aa054f3b92b4056
ModPod Podiatry · +61481222413 → +61468078235 · pracsuite
Started 28/05/2026, 12:53:34 am · Duration 109s · Turns 5 · Outcome aborted · End caller_hangup
Call recording · 110s
›Full Transcript · 15 messages
+0:15.3+0:16.0+0:27.0+0:27.5immediate_ack+0:29.3+0:40.2+0:40.7immediate_ack+0:46.3tool_lead_in+0:50.3+0:50.3+1:11.6+1:12.1immediate_ack+1:21.8+1:39.8+1:40.2State Flow · 6 states · 15 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:
- 96c7765b-5c44-47e8-98f6-a7d0b7c715b3
- 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.6Prefetched the caller’s record in 3.6s. 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.6FSM routed to booking discovery (elicit service). Because booking request medium — said booking-related words. Agent asked the caller what their visit is about. Tools available: GetPatientDetails, CheckAvailability, GetServicesAndPricing, GetAppointmentTypes, ConvertTimezone, EscalateToHuman, TransferCall.USER+0:15.3Can I book an appointment, please?BOT+0:16.0No problem. What's the main concern you'd like the podiatrist to help with, and how long has it been going on?USER+0:27.0I have a really sore pain in my foot, um, and it's been going for about a week.BOT+0:27.5immediate_ackMm-hmm.BOT+0:29.3I'm sorry to hear that—you've come to exactly the right place, we can help get that assessed. Which area are you in, so I can find the most convenient clinic for you?USER+0:40.2Mosman.BOT+0:40.7immediate_ackI'll check that now.BOT+0:46.3tool_lead_inLet me find some availability for you at Mosman.toolCheckAvailability3569ms · ok+0:50.1in:{"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…BOT+0:50.3Let me find some availability for you at Mosman.BOT+0:50.3I can do an Initial Laser 1 Foot appointment for Thu 28 May, 4:30pm with Alison Pasut at Mossmen, or an Initial Laser 1 Foot appointment for Thu 28 May, 5pm with Alison Pasut at Mossmen. Which works better?FSM internals
trigger:booking_request/medium · evidence=booking_terms · context=unknowndirective:visit_reason_requiredaction:ask_visit_reasonallowed tools:GetPatientDetails, CheckAvailability, GetServicesAndPricing, GetAppointmentTypes, ConvertTimezone, EscalateToHuman, TransferCallraw:visit_reason_required - booking discovery· 56.3s laterSTATE 04booking discovery/ check_availabilityflow 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.
check_availabilityphaseLooking up available slots via CheckAvailability.
+1:11.9FSM routed to booking discovery (check availability). Because alternate time high — time terms. Directive: pending slot options rejected with new timing. Tools available: GetPatientDetails, CheckAvailability, GetServicesAndPricing, GetAppointmentTypes, ConvertTimezone, EscalateToHuman, TransferCall.USER+1:11.6Uh, do you have anything the following week?BOT+1:12.1immediate_ackOne moment.toolCheckAvailability2731ms · ok+1:21.5in:{"date_to":"2026-06-07","date_from":"2026-06-01","business_id":"36"}out:{"locations":[{"id":"36","name":"ModPod Podiatry - Mosman"}],"total_slots":5,"location_name":"ModPod Podiatry - Mosman","practitioners":[{"id":"23","name":"Tre…BOT+1:21.8I can do an Initial Laser 1 Foot appointment for Wed 3 Jun, 2:50pm with Trent Baker at Mossmen, or an Initial Laser 1 Foot appointment for Thu 4 Jun, 12pm with Alison Pasut at Mossmen. Which works better?FSM internals
trigger:alternate_time/high · evidence=time_terms · context=two_slot_choicedirective:pending_slot_options_rejected_with_new_timingallowed tools:GetPatientDetails, CheckAvailability, GetServicesAndPricing, GetAppointmentTypes, ConvertTimezone, EscalateToHuman, TransferCallraw:pending_slot_options_rejected_with_new_timing - awaiting final confirmation· 27.9s laterSTATE 05awaiting 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:39.8FSM routed to awaiting final confirmation. Because slot choice high — two slot choice prompt,slot choice terms. Agent ran final slot confirmation. No tools unlocked yet (still gathering info).USER+1:39.8What's a initial laser one foot appointment?BOT+1:40.2Just to clarify, which one did you want: Wed 3 Jun, 2:50pm, or Thu 4 Jun, 12pm?FSM internals
trigger:slot_choice/high · evidence=two_slot_choice_prompt,slot_choice_terms · context=two_slot_choicedirective:two_slot_choice_selectedaction:final_slot_confirmationallowed tools:none (still gathering)raw:two_slot_choice_selected - ended· 8.7s laterSTATE 06endedsynthetic
+1:48.6Call ended after 109s · 5 turns · reason: caller_hangup.
Tool calls · 2
CheckAvailability 3569ms · 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
}CheckAvailability 2731ms · ok
{
"date_to": "2026-06-07",
"date_from": "2026-06-01",
"business_id": "36"
}{
"locations": [
{
"id": "36",
"name": "ModPod Podiatry - Mosman"
}
],
"total_slots": 5,
"location_name": "ModPod Podiatry - Mosman",
"practitioners": [
{
"id": "23",
"name": "Trent Baker"
},
{
"id": "22",
"name": "Alison Pasut"
}
],
"available_slots": [
{
"business_id": "36",
"business_name": "ModPod Podiatry - Mosman",
"practitioner_id": "23",
"duration_minutes": 30,
"appointment_start": "2026-06-03T14:50:00",
"practitioner_name": "Trent Baker",
"appointment_type_id": "50019",
"appointment_type_name": "Initial Laser 1 Foot",
"appointment_start_formatted": "Wed 3 Jun, 2:50pm [2026-06-03T14:50:00]"
},
{
"business_id": "36",
"business_name": "ModPod Podiatry - Mosman",
"practitioner_id": "22",
"duration_minutes": 30,
"appointment_start": "2026-06-04T12:00:00",
"practitioner_name": "Alison Pasut",
"appointment_type_id": "50019",
"appointment_type_name": "Initial Laser 1 Foot",
"appointment_start_formatted": "Thu 4 Jun, 12pm [2026-06-04T12:00:00]"
},
{
"business_id": "36",
"business_name": "ModPod Podiatry - Mosman",
"practitioner_id": "22",
"duration_minutes": 30,
"appointment_start": "2026-06-04T12:30:00",
"practitioner_name": "Alison Pasut",
"appointment_type_id": "50019",
"appointment_type_name": "Initial Laser 1 Foot",
"appointment_start_formatted": "Thu 4 Jun, 12:30pm [2026-06-04T12:30:00]"
},
{
"business_id": "36",
"business_name": "ModPod Podiatry - Mosman",
"practitioner_id": "22",
"duration_minutes": 30,
"appointment_start": "2026-06-04T14:00:00",
"practitioner_name": "Alison Pasut",
"appointment_type_id": "50019",
"appointment_type_name": "Initial Laser 1 Foot",
"appointment_start_formatted": "Thu 4 Jun, 2pm [2026-06-04T14:00:00]"
},
{
"business_id": "36",
"business_name": "ModPod Podiatry - Mosman",
"practitioner_id": "22",
"duration_minutes": 30,
"appointment_start": "2026-06-04T15:30:00",
"practitioner_name": "Alison Pasut",
"appointment_type_id": "50019",
"appointment_type_name": "Initial Laser 1 Foot",
"appointment_start_formatted": "Thu 4 Jun, 3:30pm [2026-06-04T15:30:00]"
}
],
"deposits_required": false,
"practitioner_name": "Trent Baker",
"has_multiple_locations": false,
"has_multiple_practitioners": true
}Call Notes
FSM Final State
| status | active |
Flow Diagram · 6 states
- 01init3.8s later
- 02greeting12.0s later
- 03booking discovery56.3s later
- 04booking discovery27.9s later
- 05awaiting final confirmation8.7s later
- 06endedinstant
Click a state to jump to its detail card above. Red border = FSM stalled at a tool inside that state.