Context
Customer calls at a business in regulated finance, where what a customer commits to on a call needs to become a record someone can act on.
The problem
Commitments made on a call live in the rep’s head until a note gets written, so things slip. For a record to be useful, every amount and date in it has to reflect what was actually said.
Constraints
- Personal data could not reach the AI model.
- Every extracted amount and date had to match what was actually said.
- Live calls and recordings needed to follow the same path.
- Nothing counted until a person confirmed it.
Approach
The call is processed turn by turn, with personal data removed before anything reaches the AI. It drafts records of a few set kinds (a commitment with an amount and date, a dispute, a callback, an escalation), each with a confidence score, and an amount or date is used only if it matches the transcript exactly. Staff review each draft as a card and confirm it with one click. Live calls and recordings feed the same process.
Key engineering decisions
Remove personal data first
Personal data is removed from each turn before it reaches the AI, rather than trusting the AI to ignore it.
Set record kinds, exact figures
Output is limited to a few kinds of record, every amount and date must appear exactly in the transcript, and each record carries a confidence score.
One path for live and recorded calls
The transcription source can be swapped, so a live voice stream and a recording produce the same turns and share one extraction path.
Staff confirm every record
Each record is a one-click card, and it only counts once a person confirms it.
Result
Commitments become actionable records instead of half-remembered notes, with a person reviewing and confirming each one before it counts.

