A root cause analysis response has four sections:
| Section | What it contains |
|---|
summary | A plain-language description of what failed and how many calls were affected |
rootCause | A category and explanation of why it happened, plus a confidence level (e.g. high) |
impact | A severity rating, the affected call count, and the failure rate |
suggestions | Prioritized, actionable fixes, each with a title, description, priority, and a config example where applicable |
Here's a full example response:
{
"summary": "12 calls failed due to LLM provider timeouts during peak hours, affecting 8% of total call volume in the evaluation window.",
"rootCause": {
"category": "timeout",
"explanation": "The model provider consistently timed out during the 9:30-10:30 AM window, likely due to increased traffic during peak business hours. The default timeout of 10 seconds was insufficient for the model's response latency during this period.",
"confidence": "high"
},
"impact": {
"severity": "high",
"description": "Users experienced call drops mid-conversation when the LLM failed to respond within the timeout window.",
"affectedCalls": 12,
"failureRate": 0.08
},
"suggestions": [
{
"title": "Increase LLM timeout",
"description": "Raise the model request timeout from 10 seconds to 20 seconds to accommodate peak-hour latency.",
"priority": "high",
"configExample": "{ \"model\": { \"provider\": \"openai\", \"timeout\": 20000 } }"
}
]
}
Failures surfaced this way often line up with a specific endedReason value on the affected calls — see Ended Reason: Complete Reference if you want to cross-check the exact failure pattern against the call records directly.