# 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.

- Workflow type: app
- Services: AssemblyAI, Google Drive, Slack Bot
- Categories: Customer Support, Operations
- Published: 2026-08-14

## What it does

- 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 you'll need

- 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

## Prompt

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.

## How to customize

- 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

## FAQ

### 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.

Use this prompt in General Input: https://www.generalinput.com/prompts/daily-support-call-qa-review-queue-with-risk-scores