Daily call center pronunciation scoreboard

By General Input

Score every rep's daily practice recording against the target script and log accuracy, fluency, and pacing into a live scoreboard.

Integrations

  • Speechace
  • Google Drive
  • Google Sheets

Type

Deterministic Code

Categories

  • Customer Support
  • Operations

Build me a code workflow that runs a daily pronunciation scoreboard for my call center reps. Trigger: cron, every weekday at 6pm in the team's local time zone. This is a deterministic pipeline with no reasoning or summarization. Every step is a documented action.

Step 1. Use Google Drive List Files to fetch every audio file added today to a designated folder called agent-drills. Build the Drive q parameter to filter by parent folder ID, mimeType containing audio, and createdTime greater than the start of today in the team's local time zone. Return each file's id and name.

Step 2. For each file, parse the file name to extract the agent ID and the script ID. Convention: agent123_script07.mp3, where the part before the underscore is the agent ID and the part after the underscore and before the extension is the script ID. If a file name does not match the pattern, skip it and log why.

Step 3. Use Google Sheets Get Values to read the scripts tab in a specified spreadsheet. The scripts tab has a header row and two columns: script_id and script_text. Build an in-memory lookup from script_id to script_text so we do not re-read the sheet per file.

Step 4. For each parsed file, use Google Drive Download File Content to fetch the raw audio bytes for that file id. Keep it as binary; do not try to convert to text.

Step 5. Call Speechace Score Text (Pronunciation, Fluency, Intonation) with the downloaded audio and the target script text from the lookup. Pass dialect en-us by default and set include_fluency and include_intonation so the response returns pronunciation quality, fluency metrics (words per minute, pause count), and intonation. Handle Speechace error status: if audio is silent, too short, or unintelligible, record the failure and continue with the next file.

Step 6. For every successfully scored file, use Google Sheets Append Values to add one row to the daily-scores tab in the same spreadsheet. Columns, in order: date (YYYY-MM-DD in local time), agent_id, script_id, pronunciation_score, fluency_score, words_per_minute, bad_pause_count. Use USER_ENTERED value input option so dates render as dates.

Do not summarize, judge, or produce any narrative output. The Google Sheet is the dashboard. The workflow should be idempotent enough that re-running it the same day produces duplicate rows only for files that were freshly added since the last run, so use the Drive createdTime filter to bound the file set.

Configuration inputs I should be able to set: the Drive folder ID for agent-drills, the spreadsheet ID, the scripts tab name, the daily-scores tab name, the dialect, and the time zone. Credentials: Google (OAuth) for Drive and Sheets, and Speechace API key with the correct regional base URL.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads