Skip to main content
TurnCall automatically analyzes calls after they end using LLM-powered analysis. Results include summaries, success evaluation, sentiment analysis, structured data extraction, and custom scoring.

Setup

Add an analysis config to your agent:
{
  "analysis": {
    "enabled": true,
    "summary_enabled": true,
    "summary_prompt": "Summarize in 2-3 sentences...",
    "success_evaluation": {
      "enabled": true,
      "rubric": "Was the customer's issue resolved?",
      "scale": "pass_fail"
    },
    "sentiment_enabled": true,
    "structured_extraction_schema": {
      "type": "object",
      "properties": {
        "customer_issue": {"type": "string"},
        "resolution": {"type": "string"}
      }
    },
    "scoring_rubric": {
      "professionalism": {
        "max_score": 10,
        "description": "Was the agent professional?"
      }
    },
    "model": "gpt-4o"
  }
}

Analysis Options

FieldDefaultDescription
enabledtrueEnable/disable post-call analysis
summary_enabledtrueGenerate call summary
summary_prompt(auto)Custom prompt for summary generation
success_evaluation.enabledfalseEvaluate call success
success_evaluation.scalepass_failpass_fail, likert (1-5), or numeric (0-100)
success_evaluation.rubric(auto)Criteria for success evaluation
sentiment_enabledfalseAnalyze customer sentiment
structured_extraction_schemanullJSON Schema for data extraction
scoring_rubricnullCustom scoring criteria
model(agent’s LLM)Override LLM model for analysis

Event Flow

Two events fire (Retell-style pattern):
  1. call.ended — Immediate, with call metadata
  2. analysis.completed — Async (~2-5s), with full analysis results

Get Analysis

curl http://localhost:8090/v1/calls/CALL_ID/analysis \
  -H "Authorization: Bearer tc_xxx"
Possible responses:
{"status": "completed", "analysis": {...}}
{"status": "pending"}
{"status": "not_configured"}

Re-run Analysis

curl -X POST http://localhost:8090/v1/calls/CALL_ID/analysis/rerun \
  -H "Authorization: Bearer tc_xxx"