Contact-centre QA

Score every support call, and archive it with card numbers bleeped

Transcribe each finished call, bleep card numbers and IDs from the recording and mask them in the transcript, score the call against your QA rubric with an AI agent, and send low scores to a supervisor.

The problem

QA samples a handful of calls. The archive keeps every card number.

Supervisors can only listen to a few calls per agent, and recordings with card numbers and dates of birth sit in storage for years. Sending raw transcripts to a model for scoring would spread that data further.

  • QA coverage of a few percent of calls
  • Recordings and transcripts full of card and ID numbers
  • Scoring tools that see everything the customer said

How UserTasks solves it

Redact first, then score, then let a person review.

The call is transcribed with speakers, card numbers and IDs are bleeped at the times they were spoken and masked in the transcript, and only the masked transcript reaches the QA agent. A decision table sends low scores, negative customers and unverified account changes to a supervisor.

  • Bleep or mute personal details in audio, from the transcript timings
  • The scoring agent never sees unmasked values
  • QA thresholds and review priorities as a decision table
  • Only redacted copies archived, with a retention policy

Architecture

How the pieces fit

Support call QA architectureYour telephony platform posts each finished call. UserTasks transcribes it, bleeps and masks personal details, scores the masked transcript with an agent, archives the redacted copies and sends flagged calls to a supervisor.INTelephony platformWebhook · APICall recordingSigned URLOUTQA archiveRedacted copiesAgent feedbackEmailYour AI providerTranscription · modelUserTasks engineTranscribe: agent and customerBleep audio, mask transcriptAgent: QA rubric scoreSupervisor review task
Your telephony platform posts each finished call. UserTasks transcribes it, bleeps and masks personal details, scores the masked transcript with an agent, archives the redacted copies and sends flagged calls to a supervisor.

In practice

Start it from your telephony platform

Post the call id and a signed recording URL when the call ends; the rest runs without a UI until a supervisor is needed.

shell
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
  -H "Authorization: Bearer $USERTASKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_id":"<id>","variables":{
        "call_id":"CALL-0042",
        "recording_url":"https://telephony.example.com/rec/0042.mp3",
        "agent_name":"Casey Example","queue":"Billing"}}'
Run details of a Redact Video step listing the bleeped speech segments with masked card and ID numbers
Each bleeped segment is listed with its time and a masked value — never the value itself.

The flow

From call to coaching

  1. STEP 1

    Call ends

    Your platform posts the call id, recording URL, agent and queue.

  2. STEP 2

    Transcribe and redact

    Speakers are separated; card numbers and IDs are bleeped and masked.

  3. STEP 3

    Score

    The QA agent scores the masked transcript; thresholds decide on a review.

  4. STEP 4

    Review and archive

    Supervisors coach on flagged calls; redacted copies are archived with retention.

Ready-made package

Support call QA and PII-safe archiving

Each finished call is transcribed, card numbers and IDs are bleeped and masked, an AI agent scores it on your QA rubric, and low scores go to a supervisor.

Headless / API · needs Media AI provider, AI model, Assignees · about 20 minutes to set up · signed, free to install

See the package

Frequently asked questions

Does this make us PCI compliant?

No tool does that on its own. Bleeping card numbers from recordings and masking transcripts reduces where card data is stored, but your compliance depends on your whole process, including the original recordings in your telephony platform.

What if a number is missed?

Detection depends on the transcript. Supervisors listen to flagged calls, and you can tighten the info types or add custom patterns and terms.

Is the original recording stored?

Not by this package: it reads the recording from your platform’s URL and archives only the redacted copy and masked transcript.

Related use cases

Building blocks:Complex workflows Integrations and AI Forms and attachments Document actions Images, audio and video Package gallery Deploy anywhere

Build it on an engine you control.

Open source under Apache-2.0. Use the cloud, or self-host it next to your own systems.