Daily support call QA review queue with risk scores

Give your QA lead a ranked queue of recent support calls to work through each morning, with sentiment, risk flags, and a suggested scorecard on every call.

App
AssemblyAIGoogle DriveSlack BotCustomer SupportOperationsFeedback TriageResearch & Monitoring
PromptCreate

Build me an internal app my support QA lead opens every morning to work through recent customer support calls in priority order, instead of spot checking calls at random. It uses AssemblyAI for transcription and audio intelligence, Google Drive as the source of call recordings, and Slack Bot for escalations.

The main surface is a review queue listing recent calls, sorted by a risk score the app computes from the call's overall sentiment, the number of negative sentences, and how many watchlist phrase hits it has. Each row shows the call date, duration, the agent name if it is in the file name, the risk score, a sentiment summary, the watchlist phrases that were hit, and a review status of not started, in review, or completed. Pull the calls with AssemblyAI List Transcripts and enrich each one with AssemblyAI Get Transcript. Give the queue a filter for negative sentiment, a filter for watchlist hits, and a filter by review status.

The watchlist is a configurable list of phrases stored in the app, seeded with cancel, supervisor, lawyer, and refund, and editable from a settings view. For each call, run AssemblyAI Word Search with the current watchlist so every hit comes back with its timestamp, and render the hits as timestamp chips that jump to that point in the transcript.

Opening a call shows the full transcript with sentiment shown per sentence, using AssemblyAI Get Transcript for the sentiment analysis results and AssemblyAI Get Sentences for sentence segmentation and timing, so each sentence carries its own sentiment label. Negative sentences and watchlist hits should be easy to scan down the page.

Add a playback link fetched on demand through AssemblyAI Get Redacted Audio when the reviewer opens the call. Do not store or cache that URL, because redacted audio URLs expire twenty four hours after they are generated. If the URL has expired or the redacted audio is not ready yet, show a retry control rather than a broken player.

Generate a suggested quality scorecard with AssemblyAI LLM Gateway Chat Completion, passing the transcript and asking for a score plus a one line justification for each of greeting, issue identification, empathy, and resolution. Render it as an editable scorecard with the suggested values pre filled and clearly labeled as suggestions.

The reviewer adjusts each score, marks the call pass, fail, or needs coaching, and writes free text notes. Scores, disposition, notes, reviewer identity, and the time of review all persist in the app, so a completed review can be reopened later and the queue always reflects what has been handled.

Add an escalate button on the call detail view that posts to a Slack channel using Slack Bot Send a Message. The message includes the call date, the risk score, a short summary of the call, the watchlist phrases that were hit with their timestamps, the reviewer's disposition, and the reviewer's notes. Record on the call that it was escalated, by whom, and when.

Recordings are ingested from a Google Drive folder. Use Google Drive List Files scoped to that folder to find new audio files, Google Drive Download File Content to pull the audio, and AssemblyAI Submit Transcript to submit each one. Submit with PII redaction, redacted audio, sentiment analysis, and entity detection all enabled, so reviewers never see raw card or account numbers and so redacted playback is available later. Redacted audio only works when it was requested at submit time, so it has to be turned on for every submission. Give me a button to run ingest on demand, and keep track of which Drive files have already been submitted so nothing is transcribed twice.

A submission that returns a success response can still resolve to an error status later, so the queue needs a visible failed state showing the error reason with a retry action, rather than silently dropping the call.

Each reviewer should only see calls that are unassigned plus the calls assigned to them. Let a reviewer claim a call from the queue, which assigns it to them, and let a lead reassign a call to someone else. Filter every queue view by the current user so two reviewers working at the same time never end up reviewing the same call.

What does this prompt do?

  • Ranks recent support calls by risk so your reviewer starts with the ones that matter instead of picking calls at random
  • Flags calls where the customer sounded upset or used phrases you care about, like cancel, supervisor, lawyer, or refund, and links every mention to the exact moment in the call
  • Opens each call with a full transcript, sentiment shown line by line, a playback link, and a suggested quality score covering greeting, issue identification, empathy, and resolution
  • Lets the reviewer adjust the scores, mark the call pass, fail, or needs coaching, save notes that stick, and escalate to a Slack channel in one click

What do I need to use this?

  • An AssemblyAI account for transcription and call analysis
  • A Google Drive folder where your call recordings land
  • A Slack workspace for escalations
  • A short list of watchlist phrases your team wants flagged

How can I customize it?

  • Edit the watchlist phrases whenever you like, adding product names, competitor mentions, or compliance wording
  • Change the scorecard categories to match your own QA rubric
  • Choose which Slack channel escalations go to, and tune what counts as a high risk call

FAQs

Will reviewers see customers' card or account numbers?
No. Sensitive details are stripped out before anyone reviews a call, both from the written transcript and from the audio, where those moments are beeped out during playback.
Can two reviewers work the queue at the same time?
Yes. Each reviewer sees calls assigned to them plus anything still unassigned, and claiming a call assigns it to them, so nobody reviews the same call twice.
What kind of recordings does this work with?
Standard audio files from your call recording tool. Drop them into a Google Drive folder and the app picks up new files from that folder.
Is the suggested score final?
No, it is a starting point. The reviewer can change every category before saving, and the saved score is the one that counts.
What happens if a recording fails to process?
It shows up in the queue with a failed status and the reason, along with a retry button, so failed calls never quietly disappear.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Approval war room for every social post awaiting sign-off

One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.

Hootsuite
Slack Bot
App
Turn champion job changes into new pipeline in Attio

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Boomerang
Attio
Slack Bot
Agentic Task
Collect social post requests and schedule them in Hootsuite

Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.

Hootsuite
Slack Bot
General Input Database
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Clear your Guru verification backlog in one weekly app

A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.

Guru
Slack Bot
App

Stop spot checking support calls at random.

Give your QA lead a ranked review queue that surfaces the risky calls first and keeps every score, note, and decision in one place.