A phone call becomes a structured spreadsheet row — in about 16 seconds, with zero human touch
Production system for donation-call intake: every incoming call is recorded, transcribed, understood by an LLM, and written to Google Sheets before the caller has put their phone down.
The problem
The client received donation pledges by phone. Every call meant a human listening, writing down the amount, the processing fee, and the beneficiary charity — slow, error-prone, and impossible to scale past business hours.
The constraint
No staffed call center, no CRM, no appetite for new software. The output had to land somewhere the team already lived: a Google Sheet. And the system had to run unattended — self-activating on every incoming call, day or night.
The solution
A self-contained daemon on a Linux server, wired into Twilio's webhook:
- Call in → Twilio records the voice message and fires a webhook to the server.
- Transcribe → the recording is downloaded and converted to text by an ASR engine.
- Extract → an LLM pulls out the structured fields: donation amount, processing fee, beneficiary organization.
- Deliver → a complete 8-column row (timestamp, caller, recording link, transcript, extracted fields, confidence) lands in Google Sheets.
End-to-end time from hang-up to spreadsheet row: ~16 seconds.
The part that makes it trustworthy: confidence scoring
LLM extraction is never blindly trusted. Every row carries a 0–100 confidence score computed from explicit rules — deductions for an unstated amount, an unclear charity name, hesitation in the caller's voice, or poor audio clarity:
| Score | What happens |
|---|---|
| ≥ 90 | Auto-committed, no review needed |
| 70–89 | Human spot-check |
| < 70 | Flagged for manual review |
The AI does the work; the score decides when a human needs to look. That's the difference between a demo and a system you can run a business on.
Proof
Shipped and running in production. Delivered with a handover document covering: how to start and monitor the daemon, the exact Twilio console settings (including the media-auth setting that silently blocks recording downloads), the full field reference, and a step-by-step guide for migrating every credential to the client's own accounts. The client owns the system outright — no dependency on me.
Where else this applies
The same pipeline works anywhere a phone call needs to become structured data: missed-call capture for contractors, after-hours intake for service businesses, order lines, appointment requests. If your business runs on phone calls that someone has to write down — this removes the writing down.
If a machine you build needs an interface, a device connection, or data that has to land somewhere else, tell me what it's costing you now. You'll get an honest read on whether it's solvable, and usually something running to look at. Start here →