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.
Example call: Madison
01:12

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?

check_availabilityzip 38138 → 2 open windows

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

Overflow or after-hours call rings through to the agent's number.

2

Speech to text

ElevenLabs turns the audio into words as the caller speaks.

3 · Our server

Claude decides what to say and what to do

check_availabilitybook_appointmentlookup_appointmentcancel_appointmentadd_appointment_noterequest_callback

Small talk goes to a fast model (about 450 ms to first word). Booking turns get the bigger one.

4

Text to speech

The reply streams back in her voice. Filler lines cover any lookup so there's no dead air.

Reads and writes

ServiceTitan

Real availability, real customer records, bookings, appointment notes, and callback tasks for the office.
The speech layer only listens and talks. Every decision, and every write to ServiceTitan, happens in the middle box.

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

This part has no AI in it on purpose. A model guessing at a schedule is how you end up with two crews at one house.

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. 1

    Answer their question first

    If they opened with "how much," that gets answered before anything else.

  2. 2

    What are we cleaning?

    Rooms, rugs, upholstery, tile.

  3. 3

    When do you need it?

  4. 4

    Zip code

    Drives the availability lookup.

  5. 5

    Offer two or three real times

    Never "what works for you?" Open-ended questions stall bookings.

  6. 6

    Name and address

  7. 7

    Read back the caller-ID number

    Confirms the text will reach them.

  8. 8

    Pets and room count

  9. 9

    Book it

    Written straight into ServiceTitan.

  10. 10

    Close

    Confirmation text is coming, the tech gives an exact written quote on site, satisfaction guarantee.

Copied from the order the client's top phone booker used across 278 recorded calls.

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.

When the agent calls back, the form is already half filled in. That's the whole pitch.

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.

training app
Voice agent training app with a practice-mode call panel, scenario picker, version picker for side-by-side testing, and a notes panel
The training app. Testers pick a scenario and a version, call from the browser, and pin notes to whatever she just said.

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.

Want 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.