Call Score: AI Call Review & QA for Receptionists and Sales avatar

Call Score: AI Call Review & QA for Receptionists and Sales

Pricing

from $28.00 / 1,000 call minute revieweds

Go to Apify Store
Call Score: AI Call Review & QA for Receptionists and Sales

Call Score: AI Call Review & QA for Receptionists and Sales

Scores call recordings from a dataset, CSV or Google Sheet, keeping your columns: outcome, booked or not, lead quality, missed questions, 0 to 10 score and a speaker transcript. Inputs: recording links, businessContext, customQuestions. Charged per call minute. Agent-ready: x402, MCP.

Pricing

from $28.00 / 1,000 call minute revieweds

Rating

0.0

(0)

Developer

Adam Pearce

Adam Pearce

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Call Score: AI Call Review & QA for Receptionists and Sales Calls

Nobody listens to every call. This Actor does. Give it your call recordings (from a spreadsheet, a CSV export, a Google Sheet or an Apify dataset) and for every call it tells you:

  • Did we win the job? Outcome (booked, callback arranged, details taken, caller lost...) and a plain booked yes or no.
  • Was it worth having? Call type, lead quality (hot, warm, cold, not a lead) and urgency.
  • What went wrong? Questions the caller asked that never got answered, objections, and the specific things the receptionist should have done.
  • How well was it handled? A 0 to 10 score with the reasons behind it.
  • What now? The one next step to take, plus the caller's name, number and postcode when they were said on the call.
  • Proof. A full transcript with speakers, so any score can be checked against what was actually said.

Your own columns (call ID, date, client, agent) stay on every row, so the results drop straight back into your CRM or report.

Who it is for

  • Agencies running AI receptionists and voice agents (GoHighLevel Voice AI, Vapi, Retell, Bland, Synthflow): show each client, every month, how many calls were booked, which ones were lost and why. It turns "trust us, the AI works" into a report.
  • Trades and service businesses: find the calls your front desk or answering service lost before the customer rang a competitor.
  • Sales teams: score discovery and booking calls against your own playbook with custom questions.
  • AI agents and automations: an agent can pull last week's recordings, score them and post the lost leads to Slack, with no human listening.

Only need the words? Use the sister Actor Bulk Transcription.

Input

InputWhat to put in
Dataset, File or Google Sheet URL, or Call recording URLsWhere the recording links are. CSV, Excel, JSON, a Google Sheets link shared as "Anyone with the link can view", an Apify dataset, or a plain list. The link column is found automatically.
About the businessA few lines on what a good call looks like for you: the trade, area, whether prices are given on the phone, and what the receptionist should do (book a visit, take name, number and postcode, flag emergencies). Every call is judged against this.
Custom questionsUp to 10 extra questions answered for every call, for example "Did the receptionist mention the free quote?" or "Which competitor did the caller mention?". No extra charge.

Recordings can be MP3, WAV, M4A, MP4, WebM, OGG, FLAC and more; Google Drive and Dropbox share links work. A recording link must open the file directly (most phone systems export these, or give a link per call in their call log export).

Output

One row per call. Example, shortened:

{
"callId": "C-1002",
"client": "Demo Plumbing and Heating",
"callStatus": "ok",
"handlingScore": 3,
"outcome": "caller_lost",
"booked": false,
"callType": "new_enquiry",
"leadQuality": "warm",
"urgency": "soon",
"serviceRequested": "Quote for a new combi boiler, fitted",
"summary": "A caller wanted a quote and a visit for a new combi boiler. The business could not give a price or finance details, would not book a visit or promise a callback, and the caller said they would try someone else.",
"unansweredQuestions": ["Roughly how much would a new combi boiler cost fitted?", "Do you offer finance?"],
"missedOpportunities": ["Take the caller's phone number and postcode", "Offer a visit on Thursday or Friday", "Give a rough price range"],
"callerSentiment": "negative",
"scoreReasons": ["Could not answer basic questions", "No visit booked and no callback promised", "No contact details taken"],
"followUpAction": "Take the caller's details if they ring again, offer a survey this week and a callback with a price range.",
"customAnswers": [{ "question": "Was a callback time promised?", "answer": "No" }],
"durationMinutes": 0.75,
"minutesCharged": 1,
"transcript": "Speaker A: Good afternoon, Demo Plumbing and Heating, how can I help?\nSpeaker B: Hi, I'm after a quote for a new combi boiler..."
}

The run's OUTPUT record gives the totals for a report: calls scored, average score, calls booked, booking rate and a count of each outcome. Add Export files for a CSV or Excel of every call, or a Webhook URL to post the summary to Slack, Zapier, Make, n8n or your own API.

callStatus is ok for a scored call. Anything else (no_speech, no_audio, not_supported, http_error, unreachable, too_large, review_failed, skipped_budget...) is explained in statusDetail and never charged.

Pricing

Pay per event, no subscription:

  • $0.04 per started minute of call, which covers the transcript with speakers and the full review.
  • $0.01 per CSV or Excel export file, $0.02 per delivered webhook, and a tiny start fee of $0.00005 per run.
  • Apify subscribers on Bronze, Silver and Gold plans get 10%, 20% and 30% off.

Worked examples: an AI receptionist taking 200 calls a month at about 2 minutes each is 400 minutes, about $16 a month to review every single call. A 10-person sales team's 1,000 calls of 5 minutes is about $200, against hours of manager listening time. Each call is rounded up to the next whole minute.

Set Max minutes per call and Apify's maximum charge per run to cap any run exactly.

How it works

Each recording is downloaded inside the run, converted to mono audio, transcribed with speaker labels by OpenAI gpt-4o-transcribe-diarize, then reviewed by OpenAI gpt-5-mini against your business description, returning a fixed set of typed fields. The review judges only what is said on the call: it returns null rather than guessing a name, number or booking. Audio and transcripts are not kept after the run.

FAQ

Is the score reliable enough to act on? It is a strong first pass that never gets bored on call 200. Treat it like a sharp assistant: spot-check a handful of calls, tune "About the business" until the scores match your judgement, then let it run on everything.

Can it tell the receptionist from the caller? Yes. It works out which speaker answered for the business (agentSpeaker), whether that is a person or an AI.

Where do I get recording links? Most phone systems and voice AI platforms export a call log with a recording URL per call. Put that export (CSV or Google Sheet) straight in.

Is call audio personal data? Usually, yes. You stay in control: recordings are processed inside your run and deleted at the end of it, and nothing is stored by this Actor. Make sure your callers are told calls may be recorded, as you would anyway.

Can an AI agent run it? Yes. It charges per event, so agents can call it through the Apify MCP server or pay per run with x402.

If this showed you calls you would otherwise never have listened to, a review on the Store helps a lot. Questions or a recording format that will not read? Open an issue on the Issues tab and I will look at it the same day.