
What they faced
CacheStack's public phone number is printed on business cards already out in the world, so it can never go to voicemail or ring out unanswered. But a small team doesn't have anyone whose job is to sit by a phone all day, and a missed call from a prospective client is an enquiry that never gets followed up.
What we built
We built and run our own AI receptionist for that line. It discloses it's AI in the first sentence, lets the caller explain why they're calling in their own words rather than working through a phone menu, and then answers approved questions, takes a message, captures a lead, or books a meeting using a small, fixed set of tools rather than free generation. Every call ends with a structured summary emailed automatically, and the transcript itself only exists in memory for the length of the call, so nothing needs checking by hand and nothing is recorded by default. A pre-answer admission gate, in-call limits and a daily budget kill switch keep a publicly printed phone number from ever running away on cost, and the carrier falls back to a human number on its own if the AI stack is ever down.
Every call, with the full record behind it.
Screens from the delivered product. Client and company detail is obscured — tap any screen to open it full size.
A transcript and a summary for every call
Each call sits in the console with its full transcript, the intent it was classified as, and the structured summary that already landed in the team's inbox, along with the exact tools the assistant called to get there. Caller numbers are shown in part, never in full, on the list view.
Measurable impact.
Every call answered without anyone on a rota
Structured lead and message summaries emailed automatically, nothing to check by hand
Three layers of abuse and cost control keep an open line under a daily budget
Carrier-level fallback to a human number if the AI stack is ever down