Media & Evidence 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.

Connects to Google Gemini

OfficialHeadless / APIIntermediate~20 min setupv1.0.0

About this package

What it does

Support call QA and PII-safe archiving starts when your telephony or contact-centre platform posts a finished call to the workflow: the call id, a download URL for the recording, the agent and the queue.

Transcribe Audio / Video separates the agent and the customer. Redact Video, used on the audio, bleeps card numbers, social security numbers, dates of birth and other personal details from the recording at the times they were spoken, and Redact Document masks the same values in the transcript. The Call QA scorer agent only ever sees the masked transcript: it scores greeting, verification, understanding, resolution, tone and closing, gives the customer sentiment and writes coaching notes.

The QA thresholds decision table sends calls with a low score, a negative customer or an account change without verification to a supervisor, who listens to the redacted recording, sets the final score and records the coaching. Only the redacted recording and transcript are archived, with a two-year retention policy.

Headless / API

Headless: your telephony platform calls the start API (or an inbound webhook) when a call recording is ready.

Another system starts it over REST or an inbound webhook. No UI is needed; people only appear where a decision needs a human.

The flow

Step by step

  1. 1

    Call recording ready

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

  2. 2

    Transcribe

    Transcribe Audio / Video returns the conversation with speaker labels and an SRT file.

  3. 3

    Bleep and mask

    Card numbers, SSNs, dates of birth and contact details are bleeped in the audio and masked in the transcript.

  4. 4

    AI QA score

    The QA scorer agent reads only the masked transcript and returns the rubric score, sentiment and coaching notes.

  5. 5

    Thresholds

    The QA thresholds decision table decides whether a supervisor reviews it and how urgently.

  6. 6

    Archive and review

    The redacted recording and transcript are archived with a retention policy; flagged calls go to the supervisor, who sets the final score.

Support call QA and redaction — A finished support call is transcribed, card numbers and IDs are bleeped from the recording and masked in the transcript, an AI agent scores it against the QA rubric from the redacted transcript, and low scores go to a supervisor; only redacted copies are archived. The same canvas you get in the designer after installing.

Forms

Inputs and task forms

The inputs a caller passes when it starts a run, and the forms people complete when the process needs a decision.

Start inputs

Support call QA and redaction

Passed by the calling system

Call id * call_id · textThe call id in your telephony or contact-centre platform
Recording URL * recording_url · urlhttps://…Where the recording can be downloaded (a signed URL from your platform; MP3, WAV, M4A or MP4)
Agent * agent_name · textThe agent who took the call
Agent email agent_email · emailname@company.comWhere the review outcome goes
Queue queue · textQueue or team
Call date call_date · dateYYYY-MM-DDWhen the call happened

User Task

Supervisor call review

Review call {{call_id}}: {{reason}} (score {{qa_score}}) · 2-column grid · own header and theme

Final score * final_score · numberPrefilled: {{qa_score}}
Feedback for the agent * feedback · textareaPrefilled: {{coaching_notes}}
Coaching scheduledScore adjustedNo action

Headless

Call it from your systems

Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.

REST

shell
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
  -H "Authorization: Bearer $USERTASKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_id":"<workflow id>","variables":{"call_id":"CALL-2026-1030-0042","agent_name":"Casey Example","agent_email":"casey.example@example.com","queue":"Billing","call_date":"2026-10-30"}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input call_id=CALL-2026-1030-0042 --input agent_name="Casey Example" --input agent_email=casey.example@example.com --input queue=Billing … --wait

Inbound webhook

shell
usertasks webhooks create <workflow id>          # prints the hook slug and secret once
curl -X POST "$USERTASKS_URL/api/webhooks/inbound?hook=<slug>" \
  -H "Authorization: Bearer <webhook secret>" -H "Content-Type: application/json" \
  -d '{"call_id":"CALL-2026-1030-0042","agent_name":"Casey Example","agent_email":"casey.example@example.com","queue":"Billing","call_date":"2026-10-30"}'

What's included

8 assets, ready to adapt

TypeNameDetails
Email templateCall review outcomeSent to the agent after a supervisor review.
Data tableCall QA archiveScored calls: QA result, redacted recording and transcript (card numbers and IDs bleeped / masked), supervisor review. The unredacted recording is not stored here.
IntegrationAI model (OpenAI-compatible)An OpenAI-compatible chat model for the agent: set the base URL (for example https://api.openai.com/v1) and API key on install.
IntegrationGoogle Gemini (media AI)Media AI provider for transcription, image and video analysis and finding what to redact. Paste your Gemini API key on install (aistudio.google.com). To use OpenAI, Azure AI or AWS instead, point the media steps at that integration.
Decision tableQA thresholds4 rules — Which scored calls a supervisor reviews, and how urgently. Tune the score bands to your QA programme.
Retention policyCall QA archive: 2 yearsScored calls with redacted recordings are kept for two years, then purged. Adjust to your recording retention rules.
AI agentCall QA scorerScores a support call against the QA rubric from its redacted transcript: greeting, verification, resolution, tone and sentiment, with coaching notes.
WorkflowSupport call QA and redaction15 steps — A finished support call is transcribed, card numbers and IDs are bleeped from the recording and masked in the transcript, an AI agent scores it against the QA rubric from the redacted transcript, and low scores go to a supervisor; only redacted copies are archived.

Call QA archive · 1 sample rows

CallAgentQueueDateScoreSentimentResolvedSummaryPII bleepedRedacted recordingRedacted transcriptReviewReviewed byCoaching

Requirements

What you connect it to

Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.

Needs

  • Media AI provider — An API key for a media AI provider (Google Gemini by default; OpenAI, Azure AI, AWS and others can be swapped in) that transcribes, analyses and finds what to redact.
  • AI model — An OpenAI-compatible model endpoint and API key for the AI agent.
  • Assignees — People in your workspace to receive the User Tasks (picked on install).
  • Inbound webhook (optional) — An inbound webhook created for the workflow, so other systems can start it.
  • Email (optional) — Email delivery configured for the instance (EMAIL_PROVIDER), used for notifications.

After installing

  1. Google Gemini (media AI): paste your Gemini API key (transcription with speakers and the speech used for bleeping).
  2. AI model (OpenAI-compatible): base URL and API key for the QA scorer agent.
  3. Assignees: pick the QA supervisor.
  4. Create an inbound webhook for the workflow (or call the start API) from your telephony platform with call_id, recording_url, agent_name, agent_email, queue and call_date. Recording URLs must be reachable from UserTasks (signed URLs work).
  5. Tune the QA thresholds; apply the "Call QA archive: 2 years" retention policy to the archive table. FFmpeg is needed for the bleeping (Docker image or FFMPEG_PATH).

Asked for on install

  • Integration “AI model (OpenAI-compatible)”Required

    • Tokenconfig.auth_config.token
    • Base urlconfig.base_urldefault https://llm.example.com/v1· optional
  • Integration “Google Gemini (media AI)”Required

    • Key valueconfig.auth_config.key_value
    • Base urlconfig.base_urldefault https://generativelanguage.googleapis.com· optional
  • Workflow “Support call QA and redaction” assigneesRequired

    • User for step “Supervisor call review”nodes.11.config.assignee_id

Install

Install it in your workspace

Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.

In the app

  1. Download support-call-qa-redaction-1.0.0.utpkg.
  2. Open Automations → Packages and drag the file onto the page (or choose Import package). Browse gallery there lists every gallery package without downloading by hand.
  3. Pick the file. The wizard verifies the checksum, every file hash and the signature, and shows the readme.
  4. Review the changes (what is created) and the data rows.
  5. Fill in the requirements, or tick Keep incomplete and finish later with Complete setup.
  6. Done: the workflow is published and active once setup is complete.

With the CLI

shell
curl -fLO https://usertasks.com/gallery/support-call-qa-redaction-1.0.0.utpkg
usertasks packages inspect support-call-qa-redaction-1.0.0.utpkg       # offline: checksum, hashes, signature
usertasks packages install support-call-qa-redaction-1.0.0.utpkg --dry-run
usertasks packages install support-call-qa-redaction-1.0.0.utpkg       # prompts for each requirement
usertasks packages install support-call-qa-redaction-1.0.0.utpkg --keep-incomplete --yes   # in CI; finish with:
usertasks packages complete support-call-qa-redaction -f values.yaml

Verify the download

File SHA-256
8834dd9e64928ed27b6e0757f33f1f9a54e4fd635cb66487cb946224895306a1
Package checksum (what is signed)
sha256:693cabc2800d31139bffb720aea2e85edc637fe829132a771d1f0b08fc140d55
Signer
UserTasks Gallery · 49:f3:04:90:47:02:4d:07:28:61:3d:dc:bb:aa:db:11

shasum -a 256 support-call-qa-redaction-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.

Versions

Version 1.0.0

  1. v1.0.02026-10-30First release.

Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work

More packages

Related

Browse the whole gallery