AI voice agents
Madison picks up when everyone else is on the phone
Our carpet cleaning client's phones get slammed in waves. When every CSR is on a call, or it's 9pm, the next caller used to get voicemail and usually called someone else.
Now Madison answers. She checks the real schedule, offers real times, and books the cleaning into ServiceTitan before she hangs up. We built a second agent, Emily, for an insurance agency where the job is different: gather the quote details, never quote a price.
- Built for
- Carpet cleaning franchise (Madison), insurance agency (Emily)
- Status
- Madison is live. Emily is in training.
Whew, our phones are busy right now! The whole team's on other calls. I'm Madison, your virtual assistant. I can get your cleaning booked right away, or leave the team a message.
Yeah, I need three rooms done. I've got a dog, is that a problem?
Not at all, we clean around pets all the time. What zip are you in?
38138.
Let me look at my routes here... I've got Thursday 8 to 10 or Friday 1 to 3. Either of those work?
160
calls Madison handled in her first 13 days
278
recorded calls from the top CSR she learned from
3.76 → 4.27
reply-quality score (out of 5) after prompt tuning
~450 ms
to her first word on quick replies
She sounds like their best booker because she studied her
We didn't write Madison's personality from scratch. We transcribed 278 calls from the company's top phone booker, about four hours of audio, and pulled 1,266 good question-and-answer pairs out of it. Then we counted things. How often she says "perfect." (Almost never: 4 times in 3,000 turns.) What order she asks for information in. What she says when someone opens with "how much?"
The voice side is ElevenLabs. Every word she says comes from our own server, which runs Claude and is the only part allowed to touch ServiceTitan.
What happens during one turn of a call
1
Caller talks
2
Speech to text
3 · Our server
Claude decides what to say and what to do
Small talk goes to a fast model (about 450 ms to first word). Booking turns get the bigger one.
4
Text to speech
Reads and writes
ServiceTitan
The schedule part isn't AI, and that's deliberate
Language models are great at conversation and bad at arithmetic on a calendar. So when a caller gives a zip code, Madison hands it to plain code that walks the same path a dispatcher would. The model only gets back a short list of real openings to offer.
How she finds an open slot
Caller gives
Zip code
Mapped to
Service zone
Which means
Business unit
Pull
Tech shifts, minus booked jobs
Offer
2 or 3 real arrival windows
Same order, every call
Most booking calls go sideways in the same place: the CSR asks "what day works for you?" and the caller says they'll check and call back. Madison always offers two or three specific times instead. She also reads back the caller-ID number, because a confirmation text that goes to a dead number is the same as no booking.
The call order she follows
- 1
Answer their question first
If they opened with "how much," that gets answered before anything else.
- 2
What are we cleaning?
Rooms, rugs, upholstery, tile.
- 3
When do you need it?
- 4
Zip code
Drives the availability lookup.
- 5
Offer two or three real times
Never "what works for you?" Open-ended questions stall bookings.
- 6
Name and address
- 7
Read back the caller-ID number
Confirms the text will reach them.
- 8
Pets and room count
- 9
Book it
Written straight into ServiceTitan.
- 10
Close
Confirmation text is coming, the tech gives an exact written quote on site, satisfaction guarantee.
Emily: built to sell the callback
Emily answers overflow calls for an auto and home insurance agency. Insurance is a different animal. A licensed agent has to quote, so Emily never does, and she never transfers. Her whole job is to make the callback easy to win.
She asks for the details in the same order as the carrier's quote form, so the agent can type straight down the page. She stops right before the Social Security number. That conversation belongs to a human. She also listens for the stuff that turns one policy into three: a renewal date coming up, a house, a boat.
Her talk tracks come from the carrier's own sales training, and she inherited a few hard-won habits from Madison, like the two-step goodbye that stops callers from getting cut off mid-sentence.
Emily's intake, in the same order as the carrier's quote form
Collected on the call
- Date of birth
- Name
- Zip
- VIN
- Year, make, model
- Owned or financed
- Safety features
- Primary use
- Commute
- How long owned
- Marital status
- SSN: stops here
Also listening for
- Current carrier
- Renewal date
- Other drivers
- Tickets
- Home bundle
- Renters
- Boat
- Life
Example email to the agency
[URGENT] Callback: auto quote, renewal Friday
Need: Auto quote, 2 vehicles. Current policy renews Friday.
Vehicle 1: 2021 Honda CR-V, financed, commute 14 mi.
Buying signal: Asked about bundling the house.
Best number: confirmed by read-back.
We test them like new hires
Both agents have a private training app. The client's team can call the agent from a browser, pick from 15 scenarios (price shopper, "are you a real person?", out-of-area zip, angry reschedule) and pin notes to any line she says. The training version sees the real schedule but can't write anything, so nobody books a fake job by accident.
We can also run two or more versions side by side, say a new rule set against the old one, and let the people who actually answer the phones pick the winner. Between that and prompt tuning, the quality score went from 3.76 to 4.27.

What it runs on
- ElevenLabs Conversational AI
- Claude (Anthropic)
- Twilio phone numbers
- ServiceTitan
- Node.js voice server
- Vercel
Questions we get about this one
Does the caller know they're talking to AI?+
She introduces herself as a virtual assistant in the first sentence. After that she doesn't keep bringing it up. If someone sincerely asks whether she's a real person, she tells them the truth and offers a callback from a human in the same breath.
Can it transfer calls to my team?+
Neither agent transfers. When a call is about to go to voicemail anyway, a transfer usually just rings into the same busy line. Instead, anything she can't handle becomes a callback task in your system with the reason attached, so the person who calls back already knows the story.
Does it replace my CSRs?+
No, and we'd talk you out of trying. Good CSRs still book better than any voice agent we've tested. Madison's job is the calls that would otherwise ring out: when every line is busy, and after hours.
We don't use ServiceTitan. Can you still build this?+
Probably. Emily doesn't touch a field-service system at all, she hands everything off by email. If your software has a way in, the agent can book into it. If it doesn't, a callback package is still a big step up from voicemail.
More things we've built
See allWant one of these for your shop?
Most of what's on this page started as a 30-minute call about something that was bugging the owner. Tell us what's bugging you.