# Automated speaking coach for Airtable practice logs

> Score every student's practice recording for pronunciation and fluency, save the grade to Airtable, and ping teachers in Slack only when someone needs help.

- Workflow type: agent
- Services: Airtable, Speechace, Slack Bot
- Categories: HR & People, Operations
- Published: 2026-07-08

## What it does

- Watches your Airtable practice log for new student submissions and scores each recording for pronunciation, fluency, and standardized CEFR or IELTS band.
- Writes the scores and grade back onto the same student row, so your practice log always shows current results without manual entry.
- Handles both scripted drills and free-form practice, picking the right scoring method automatically based on whether the row has a target sentence.
- Only pings teachers in Slack when a student drops below your target band or regresses versus their last attempt, so the channel stays focused on students who actually need help.

## What you'll need

- An Airtable base with a practice log table that captures student name, target sentence or prompt, and an attached audio recording per row.
- A Speechace account (any plan) with a workspace and region set up for the languages you teach.
- A Slack workspace and a channel where teachers should receive coaching alerts.

## Prompt

Build me an agent workflow that turns our Airtable student practice log into an automated speaking coach with just-in-time teacher alerts.

Trigger: poll Airtable for a New Record in the practice-log table. Each row represents a student submission and contains the student's name, a target sentence or prompt (may be blank for free-form practice), and an attached audio recording. The base ID, table ID, and the specific field names for student, target text, and audio attachment should all be configurable.

When a new record fires, the agent should do the following in order:

1) Read the audio URL from the attachment field on the row.

2) Pick the right Speechace scoring method based on the row. If the target text field has a value, call Speechace's Score Text (Pronunciation, Fluency, Intonation) operation with that target text plus the audio URL. If the target text field is empty, call Speechace's Score Speech (Open-ended, Relevance, Language Detection) operation with just the audio URL. The dialect (default en-us) should be a configurable input.

3) Extract the overall pronunciation score, the fluency score, and the standardized CEFR and IELTS bands from the Speechace response.

4) Use Airtable's Update Record operation on the same record ID to save the pronunciation score, fluency score, CEFR band, and IELTS band into their respective columns on the row. Do not touch any other fields. The target column names for these four outputs should be configurable inputs.

5) Decide whether to alert a teacher. Before deciding, use Airtable's List Records to look up the same student's most recent previous submission for a prior pronunciation score. Alert only when either (a) the new pronunciation score is below a configurable threshold (default 70), or (b) the new pronunciation score is lower than that student's most recent previous score. If neither condition is true, do not post anything (silent success is the default so teachers only get pinged on students who need help).

6) When alerting, use Slack Bot's Send a Message operation to post to a configurable channel. Compose a short, warm coaching message that names the student, states the pronunciation and fluency scores plus the CEFR or IELTS band, highlights the top one or two mispronounced words or fluency issues pulled from the Speechace response, and suggests one concrete drill (for example, a minimal-pair drill for a specific sound the student missed, or a slow-then-fast repetition drill for pacing).

Configurable inputs to expose: Airtable base and table for the practice log, field names for student / target text / audio attachment / output columns, Speechace dialect, pronunciation-score alert threshold (default 70), and the Slack channel to post coaching alerts into.

Use the Slack Bot integration (not user Slack) so alerts come from a shared workflow identity that keeps working even if a specific teacher leaves. Coaching message should be plain Slack mrkdwn, kept to a few short lines so it reads well on mobile.

## How to customize

- Change the pronunciation score threshold that triggers a teacher alert (default 70).
- Point the Slack alert to a different channel or add specific teachers as recipients.
- Adjust the coaching tone or the number of mispronounced words the message highlights.
- Rename the score, fluency, and CEFR or IELTS columns the workflow writes into on your Airtable table.

## FAQ

### What happens with free-form practice that doesn't have a target sentence?

The workflow detects that the target text field is empty and scores the recording as open-ended practice, grading pronunciation, fluency, and vocabulary instead of matching against a script.

### How does it decide when to alert a teacher?

It only pings Slack when a student's pronunciation score falls below your configured band, or drops from their previous submission. Students who are on track and improving stay silent by default.

### Do I need a separate table for each class?

No. Point it at whichever practice log table you already use. The workflow reads the student name and target text from the same row as the audio, so one shared table works fine.

### Which grading scales does it save?

It saves the raw pronunciation and fluency scores plus a standardized CEFR or IELTS band, so you can report progress in whichever scale your school uses.

### Will it overwrite fields I already have on the row?

It only writes to the score and grade columns you point it at. Every other field on the student's row stays untouched.

Use this prompt in General Input: https://www.generalinput.com/prompts/automated-speaking-coach-for-airtable-practice-logs