Project / Customer-facing systems
A phone agent that books, qualifies, and knows when to hand off.
- Caller Hi — I need someone to come and clear my gutters.
- Agent Happy to help. What's the postcode?
- Caller SW11 3QT.
- Agent That's covered. I have Tuesday at three, or Thursday morning.
- Caller Tuesday at three works.
- Agent Booked for Tuesday at three. I've texted the confirmation to this number.
- intent booking · gutter clearing · 0.94
- slot service = gutter clearing
- policy postcode required before any slot is offered
- tool coverage.check(SW11) → in area · crew 2
- slot postcode = SW11 3QT
- tool calendar.freeBusy(7d) → 6 open · 2 offered
- policy offer two, nearest first — never read the whole diary
- slot slot = Tue 15:00 · 90 min
- action calendar.book(Tue 15:00) → id 8841
- action sms.send(confirmation + reschedule link)
- intent pricing enquiry · 0.88
- policy no figure quoted before property size is known
- ask missing slots: property_type, size
- slot property = terraced · 3 bed
- tool pricing.band(terraced, 3) → $280–$340
- policy quote as a band · always offer the survey
- score budget ✓ · intent ✓ · timeline unknown → 2/3
- route qualified · owner's morning list
- action calendar.book(Thu 10:00 · survey)
- intent emergency call-out · 0.91
- tool coverage.check(Manchester) → out of area
- policy out of area + emergency → no booking, take a message
- policy no third-party recommendation without an owner rule
- action notify.owner(sms + slack) · priority high
- action crm.create(lead · out-of-area · callback)
What the agent decided between hearing and speaking. Tool calls are real function names; the results are sample data.
- Claude API
- OpenAI API
- LangChain
- LlamaIndex
- Pinecone
- n8n
- Make.com
- Zapier
- Supabase
- Airtable
- PostgreSQL
- Google Sheets
- Python
- FastAPI
- Node.js
- Cloudflare
- Google Cloud
- Hetzner
- Shopify
- Slack
- HubSpot
- GoHighLevel
- Klaviyo
- Chatwoot
- WhatsApp Business API
- Meta API
- Mailgun
- OpenAI Vision
- ClickFunnels
- Twilio
- ElevenLabs
- Whisper / TTS
- Docker
- Redis
- Stripe
What it is
A phone line that picks up every time, holds a real conversation, and either books the job or decides it shouldn’t.
The agent runs on a realtime speech model with the business’s calendar and service area wired in as tools. It answers, works out what the caller actually wants, checks availability against the live calendar, and proposes a slot. Out-of-area, out-of-scope, or anything that smells like a complaint gets handed to a person with the transcript attached.
The part worth looking at is not the voice. It’s the decision trace — the demo shows the agent’s intent classification, the tool call, and the reason it either booked or escalated, step by step. A voice that sounds human is a commodity now. A voice that can be audited isn’t.
- 24/7line coverage
- < 2 ringsaverage pickup
- 3languages, one agent
From a real engagement. Names are changed; the numbers are not.
How it works
A voice you can audit, not just a voice that sounds human.
-
The line picks up
A
Twilionumber bridges the caller into a realtime speech model over a media stream. It answers on the first or second ring, every time — nights, weekends, and while three other calls are already live. -
Intent before action
The agent transcribes as the caller speaks and classifies what the call is for — booking, reschedule, question, complaint — before it does anything else. That classification is logged and shown step by step in the demo's decision-trace panel.
-
Tools, not guesses
For a booking it calls the live calendar and a service-area check as tools, proposes a real open slot, and confirms it back by voice and
SMS. It never invents availability it hasn't checked. -
It knows its edges
Out of area, out of scope, or a caller who is upset: the agent takes a message, hands the transcript to a person, and stops. The morning list is only the calls worth a callback.
“It cleared the queue we could never keep up with. We only look at the handful it flags now.”
Operations lead · multi-store retail operator
“Condition grading and pricing that used to be a weekend is now a photo upload.”
Founder · collectibles brand
“The drafts are good enough that answering is now approving.”
Operations lead · B2B services
“I stopped waiting for yesterday's numbers. Today's are just there, all stores in one view.”
Owner · multi-store retail operator
“It books and qualifies before we're even awake. The morning list is just the ones worth a callback.”
Founder · home-services company
“It shipped in pieces we could check as they landed, and the pieces we argued with got changed.”
Operations manager · logistics
“None of it is rented. I did not expect that to matter as much as it turned out to.”
Founder · consumer goods
Proof
"It books and qualifies before we're even awake. The morning list is just the ones worth a callback."
Founder · home-services company