Loaded Tue 1 Sep, 4:25:07 PM CDT7 Failures · 24h

Wes Pruitt

Tue 1 Sep, 11:23:00 AM CDT · call_4e976f65cf906b264545ae36b0a75238

First Failure At 00:21

check_availability · 3000 ms

Jump To This Entry — 4 further errors followed it, plus 1 warnings.

Call

BusinessRedFish Inspections
AgentInspection Booking
DirectionInbound
StatusEnded
OutcomeEscalated To Human
Duration1m 14s
From+1 713 555 0194
To+1 713 555 0100
StartedTue 1 Sep, 11:23:00 AM CDT
EndedTue 1 Sep, 11:24:14 AM CDT
Disconnected Becauseuser_hangup
SentimentNegative
VoicemailNo
Cost$0.14
Function Calls4

Recording

Timeline

28 entries · offsets measured from Tue 1 Sep, 11:23:00 AM CDT
  1. 00:00
    11:23:00.000
    call_startedWebhookEvent: WEBHOOK
    inbound call on inspection_booking
    Payload198 B
    {
      "event": "call_started",
      "call_id": "call_4e976f65cf906b264545ae36b0a75238",
      "agent_id": "agent_48d2748111d5b10a81979f1233",
      "direction": "inbound",
      "to_number": "+17135550100",
      "from_number": "+17135550194"
    }
  2. 00:00
    11:23:00.000
    AgentTranscript

    RedFish Inspections, this is Sam.

  3. 00:00
    11:23:00.000
    CallerTranscript

    Hi, you came out to my place last week and couldn't get in — the lockbox code was wrong. I need to get it rebooked.

  4. 00:00
    11:23:00.000
    AgentTranscript

    I'm not going to pretend I can see it, because I can't — and I'd rather say that than give you a time that isn't real. I'm putting this in front of a person now and they will call you back today on this number.

  5. 00:00
    11:23:00.000
    CallerTranscript

    Alright. Today though, yeah?

  6. 00:00
    11:23:00.000
    AgentTranscript

    Today. Wes Pruitt, seven one three, five five five, oh one nine four, rebooking Nicholson Street. Sorry for messing you about.

  7. 00:00
    11:23:00.000
    CallerTranscript

    Okay. Thanks.

  8. 00:00
    11:23:00.000
    AgentTranscript

    Yes — I have you as Wes Pruitt, on Nicholson Street. Let me find you a new time.

  9. 00:00
    11:23:00.000
    CallerTranscript

    Thanks.

  10. 00:00
    11:23:00.000
    AgentTranscript

    Bear with me one moment.

  11. 00:00
    11:23:00.000
    CallerTranscript

    ...still there?

  12. 00:00
    11:23:00.000
    AgentTranscript

    I am, sorry — the diary isn't coming back to me. Let me try that once more.

  13. 00:00
    11:23:00.000
    CallerTranscript

    Sure.

  14. 00:00
    11:23:00.000
    AgentTranscript

    I do not have anything open in that window. Let me get someone to look at squeezing you in.

  15. 00:00
    11:23:00.000
    CallerTranscript

    You don't have anything at all? Last week you had loads.

  16. 00:11
    11:23:11.000
    lookup_contactFunction39 msEvent: TOOL_CALL
    Payload223 B
    {
      "status": "OK",
      "request": {
        "phone": "+17135550194"
      },
      "response": {
        "ok": true,
        "say": "Yes — I have you as Wes Pruitt.",
        "name": "Wes Pruitt",
        "known": true,
        "contact_id": "seed_ct_rf_pruitt",
        "has_upcoming": false,
        "appointment_ref": null
      }
    }
  17. 00:11
    11:23:11.000
    lookup_contactFunction39 msStatus: OKIdempotency: tool:lookup_contact:6d8b163e6425e5c232a09100af854870c1c7e0fc
    Request24 B
    {
      "phone": "+17135550194"
    }
    Response161 B
    {
      "ok": true,
      "say": "Yes — I have you as Wes Pruitt.",
      "name": "Wes Pruitt",
      "known": true,
      "contact_id": "seed_ct_rf_pruitt",
      "has_upcoming": false,
      "appointment_ref": null
    }
  18. 00:21
    11:23:21.000
    check_availabilityError3000 msEvent: ERROR
    First availability lookup timed out
    Payload96 B
    {
      "status": "TIMEOUT",
      "request": {
        "zip": "77008",
        "service_code": "buyer_inspection"
      },
      "response": null
    }
  19. 00:21
    11:23:21.000
    check_availabilityFunction3000 msStatus: TIMEOUTIdempotency: tool:check_availability:027c77a51efaf57dbd72b97b2c5d83b827750ca3

    Tool call exceeded timeout_ms=3000 with no response

    Request49 B
    {
      "zip": "77008",
      "service_code": "buyer_inspection"
    }
  20. 00:34
    11:23:34.000
    check_availabilityError3000 msEvent: ERROR
    Retry also timed out — agent fell back to the no-slots script
    Payload109 B
    {
      "status": "TIMEOUT",
      "request": {
        "zip": "77008",
        "retry": true,
        "service_code": "buyer_inspection"
      },
      "response": null
    }
  21. 00:34
    11:23:34.000
    check_availabilityFunction3000 msStatus: TIMEOUTIdempotency: tool:check_availability:474695936b74789848d3548bbe3027689de06021

    Tool call exceeded timeout_ms=3000 with no response

    Request62 B
    {
      "zip": "77008",
      "retry": true,
      "service_code": "buyer_inspection"
    }
  22. 00:35
    11:23:35.000
    availability.degradedError6000 msEvent: ERROR
    Two consecutive availability timeouts on one call
    Payload479 B
    {
      "tool": "check_availability",
      "attempts": 2,
      "diagnosis": "slot_hold upsert waited on a row lock held by a long-running transaction; p95 for this tool is normally 180ms",
      "timeoutMs": 3000,
      "dbWaitEvent": "transactionid",
      "remediation": "Bound the hold upsert with a statement_timeout and fail open — an availability read must never wait on a write lock.",
      "blockingQuery": "UPDATE \"SlotHold\" SET \"expiresAt\" = $1 WHERE \"resourceId\" = $2 AND \"startAt\" = $3",
      "dbWaitEventType": "Lock"
    }
  23. 00:52
    11:23:52.000
    Escalated — Availability tool timed out twice — could not offer a slotEscalationUrgency: immediateStatus: OPENNotified: yesCallback: +17135550194
    Wes Pruitt rebooking 1129 Nicholson Street after a failed access. No slots could be read. Promised a callback today.
  24. 00:52
    11:23:52.000
    escalate_to_humanFunction96 msEvent: TOOL_CALL
    Payload458 B
    {
      "status": "OK",
      "request": {
        "reason": "Availability tool timed out twice — could not offer a slot",
        "summary": "Wes Pruitt rebooking 1129 Nicholson Street after a failed access. No slots could be read. Promised a callback today.",
        "urgency": "immediate",
        "callback_phone": "+17135550194"
      },
      "response": {
        "ok": true,
        "say": "Of course — I am putting you through to someone now. If they cannot pick up, they will call you straight back.",
        "escalation_id": "seed_es_rf_pruitt"
      }
    }
  25. 00:52
    11:23:52.000
    escalate_to_humanFunction96 msStatus: OKIdempotency: tool:escalate_to_human:bb55ad8acf8df132aaa26726577d3eb23c91548a
    Request254 B
    {
      "reason": "Availability tool timed out twice — could not offer a slot",
      "summary": "Wes Pruitt rebooking 1129 Nicholson Street after a failed access. No slots could be read. Promised a callback today.",
      "urgency": "immediate",
      "callback_phone": "+17135550194"
    }
    Response166 B
    {
      "ok": true,
      "say": "Of course — I am putting you through to someone now. If they cannot pick up, they will call you straight back.",
      "escalation_id": "seed_es_rf_pruitt"
    }
  26. 01:14
    11:24:14.000
    Call EndedLifecycleStatus: ENDEDReason: user_hangup
  27. 01:14
    11:24:14.000
    call_endedWebhookEvent: WEBHOOK
    user_hangup
    Payload129 B
    {
      "event": "call_ended",
      "call_id": "call_4e976f65cf906b264545ae36b0a75238",
      "duration_ms": 74000,
      "disconnection_reason": "user_hangup"
    }
  28. 01:23
    11:24:23.000
    call_analyzedWebhookEvent: WEBHOOK
    FAILURE — check_availability exceeded its 3000ms tool timeout twice, so the agent had no slots to offer and escalated instead of inventing one. Caller was left with a promised callback rather than a booking. Root cause in the payload: a slot-hold write blocked behind a long-running transaction.
    Payload744 B
    {
      "event": "call_analyzed",
      "call_id": "call_4e976f65cf906b264545ae36b0a75238",
      "call_analysis": {
        "call_summary": "FAILURE — check_availability exceeded its 3000ms tool timeout twice, so the agent had no slots to offer and escalated instead of inventing one. Caller was left with a promised callback rather than a booking. Root cause in the payload: a slot-hold write blocked behind a long-running transaction.",
        "user_sentiment": "Negative",
        "call_successful": false,
        "custom_analysis_data": {
          "outcome": "escalated_to_human",
          "urgency": "high",
          "business": "redfish",
          "service_needed": "Rebooking after the inspector could not get access",
          "asked_for_human": false,
          "callback_number": "+17135550194",
          "deadline_unmeetable": false,
          "agent_stated_unverified_fact": false
        }
      }
    }

Captured Data

What the call left behind in the database
Post-Call Summary
FAILURE — check_availability exceeded its 3000ms tool timeout twice, so the agent had no slots to offer and escalated instead of inventing one. Caller was left with a promised callback rather than a booking. Root cause in the payload: a slot-hold write blocked behind a long-running transaction.
Post-Call Analysis262 B
{
  "outcome": "escalated_to_human",
  "urgency": "high",
  "business": "redfish",
  "service_needed": "Rebooking after the inspector could not get access",
  "asked_for_human": false,
  "callback_number": "+17135550194",
  "deadline_unmeetable": false,
  "agent_stated_unverified_fact": false
}
Dynamic Variables Injected220 B
{
  "local_time": "Tuesday, September 1 at 11:23 AM",
  "caller_name": "Wes Pruitt",
  "business_name": "RedFish Inspections",
  "business_slug": "redfish",
  "call_direction": "inbound",
  "is_known_contact": "true",
  "agent_display_name": "Sam"
}
Retell Latency Breakdown176 B
{
  "e2e": {
    "max": 1720,
    "num": 14,
    "p50": 780,
    "p90": 1180,
    "p95": 1340
  },
  "llm": {
    "max": 1090,
    "num": 14,
    "p50": 430,
    "p90": 690,
    "p95": 810
  },
  "tts": {
    "max": 480,
    "num": 14,
    "p50": 210,
    "p90": 300,
    "p95": 360
  }
}
Call Metadata44 B
{
  "seeded": true,
  "scenario": "rf-tool-timeout"
}
Qualification Answers283 B
{
  "name": "Wes Pruitt",
  "scored": {
    "score": 75,
    "missing": [
      "square footage",
      "option period end date"
    ],
    "reasons": [
      "Inspection lead — always treated as urgent"
    ],
    "urgency": "high",
    "disposition": "QUALIFIED"
  },
  "previous_no_show": true,
  "property_address": "1129 Nicholson Street, Houston, TX 77008"
}
Lead StatusQualifying
UrgencyHigh
Score75 · Strong
Service NeededRebooking after a missed inspection
Timeline
Property1129 Nicholson Street, Houston, TX 77008
Deadline
Lost Reason
Plain Transcript
Agent: RedFish Inspections, this is Sam.
User: Hi, you came out to my place last week and couldn't get in — the lockbox code was wrong. I need to get it rebooked.
Agent: Yes — I have you as Wes Pruitt, on Nicholson Street. Let me find you a new time.
User: Thanks.
Agent: Bear with me one moment.
User: ...still there?
Agent: I am, sorry — the diary isn't coming back to me. Let me try that once more.
User: Sure.
Agent: I do not have anything open in that window. Let me get someone to look at squeezing you in.
User: You don't have anything at all? Last week you had loads.
Agent: I'm not going to pretend I can see it, because I can't — and I'd rather say that than give you a time that isn't real. I'm putting this in front of a person now and they will call you back today on this number.
User: Alright. Today though, yeah?
Agent: Today. Wes Pruitt, seven one three, five five five, oh one nine four, rebooking Nicholson Street. Sorry for messing you about.
User: Okay. Thanks.