Can an AI Receptionist Quote Real Prices over the phone?
Last updated: November 2026
Yes, if it’s connected to the software you price jobs in. When our founder, Curt Kempton, called window cleaner Ryan Olsen’s business line, Ryan’s AI assistant, Sophie, asked about the home, gave three package prices from Ryan’s ResponsiBid pricing, and booked the visit before the call ended.
Sophie is Ryan’s own setup, connected to ResponsiBid’s API. She is not a ResponsiBid feature, so you won’t find her in your account. (An API is how two programs talk to each other. Here, it’s how Ryan’s phone assistant works in ResponsiBid.)
Ryan runs Olsen Brothers Window Cleaning in Mesa and the East Valley of Arizona. He and Curt walked through his setup on a Facebook Live on Oct 30.
What happened when Curt called?
Curt dialed the number on Ryan’s website, live, and played the customer:
- She said who she was. “Olsen Brothers Window Cleaning, this is Sophie, the AI assistant. This call is recorded.” Curt’s number was already in Ryan’s system, so she greeted him by name and pulled up his existing bid instead of making a duplicate customer. (8:46, 22:26)
- She asked about the home. Curt said it was for a friend, a new customer. Sophie asked how many stories, which city, roughly how many square feet, and whether there was a basement, sunscreens, or French panes (grids on the outside of the glass, she explained). (9:20)
- She took the contact details and read them back. Phone, email, street address, and a gate code or access notes. She misheard the email and fixed it when Curt corrected her. Then she asked how he’d heard about the business. (10:58, 13:05)
- She quoted three packages. “Let me pull up your pricing.” She went through them one at a time, checked in (“Does that make sense so far?”), recapped, and asked, “Which one sounds best for you?” (13:18)
- She booked it. “Want me to get you on the schedule?” She offered the first opening with a two-hour arrival window, booked it, and said a confirmation email was on its way. To change it, call the same number. (14:34)
She follows the owner’s rules, too. On an earlier test call, Curt said two stories, which Ryan isn’t taking right now, and Sophie started to offer the waitlist. (27:53)
What stood out to Curt: nothing was asked twice (16:08), and she said she was AI up front and still felt natural. He’d rather not be fooled about talking to AI. (16:19)
Where do the prices come from?
From ResponsiBid. Sophie collects the answers. ResponsiBid calculates the price from the account’s own pricing rules, including minimums, and Sophie reads it back.
For a one-story, 3,000-square-foot home with no basement, no sunscreens, and no French panes, she gave a price for each of Ryan’s three packages (13:18):
- Basic: all windows inside and out. Screens come off and go back on, but aren’t washed.
- Deluxe: adds deep-cleaning the screens and wiping the frames.
- Premium: adds vacuuming the tracks and dusting cobwebs.
We’ve left Ryan’s dollar amounts out; yours would come from your own pricing. In ResponsiBid, the quote showed that an area minimum and a house-size minimum had applied, which is why the price landed where it did. (41:16)
Why a handful of questions is enough. Ryan prices windows with ResponsiBid’s Window Cleaning (Rough) module, which sets the price from house size and number of stories, not pane or window counts. With a counting module, Curt said, the caller would be “running around the house counting windows.” (41:30)
Curt’s rule of thumb for rough pricing: if you’re never off by more than about 20% either way, and you come out high more often than low, rough pricing is probably the better fit. (42:05)
Why packages and not one price. “Which one sounds best for you?” is a sales habit built into the call. With packages, the question isn’t yes or no; in Curt’s words, it’s “which yes is best for you.” (21:10) If you haven’t set up packages yet, start with our guide to pricing packages and bundles.
What does the owner see after the call?
Ryan showed his side on screen:
- A text after every call. Sophie texts Ryan a summary: who called, what the home is, what was quoted, which package they picked, and when it’s booked. (27:25)
- The quote in ResponsiBid. Sophie’s quote was there, filled in as if someone had typed it. The visit was created, the follow-up had started, and Sophie’s call notes were on the quote. (39:29)
- The job in Jobber. Ryan’s CRM is Jobber, and ResponsiBid works with it, so the job landed there too.
- The customer’s confirmation email. It comes from ResponsiBid, with the date and arrival window. Ryan restyled the template with Claude and sent it up through the API. Curt noted that your own AI agent can customize your follow-up emails the same way. (29:01)
- A daily report. Every evening, a text and an email list each call’s outcome (quoted, booked, wants a call back, asked to reschedule, hung up early), a short summary, the caller’s last words, and a Listen link to the recording. Ryan mostly reads the summaries. If they booked and it reads well, “I’m golden.” (32:16)
- Reschedule requests. Sophie doesn’t reschedule. She takes the details and the days the customer prefers, and Ryan’s team calls back. (31:46)
Curt’s advice: brand the confirmations, but make sales follow-ups look typed by a person. (29:30) More in How do I follow up on quotes that go unanswered?
What does it run on?
Sophie is Ryan’s own build, connected to ResponsiBid’s API. She’s not a ResponsiBid feature.
Before ResponsiBid opened its API to beta testers, Ryan’s voice agents could answer after hours and set up an in-person bid, but couldn’t give a price. (5:15)
Here’s his setup. Every piece is his own choice (24:41):
- Phone number: Twilio.
- Voice: ElevenLabs, where he sets her voice and rules. He could use his own voice but doesn’t. (26:07)
- The brain: Claude, picked by weighing quality against price.
- The bridge: a custom program on his own virtual server that ties it all together. He tweaks it constantly, and he agreed when Curt guessed Claude helped build it. (26:54)
- Pricing and quotes: ResponsiBid. In Ryan’s words, “The genius is ResponsiBid.” (25:48)
- The schedule: CrewCal, ResponsiBid’s scheduling assistant, which finds the openings. Ryan has a CrewCal subscription with ResponsiBid. (25:48)
- His CRM: Jobber.
The bridge talks to ResponsiBid through the API. ResponsiBid has two ways for AI to connect. The AI-chat connection, which Curt demoed on our first Live, is flexible but slower; you use it in a ChatGPT or Claude chat. The API is fast and direct, for software coded to it, like a phone assistant. The longer version: How can I use AI (ChatGPT or Claude) to help run my home service business?
Curt, a self-described tech person, said lag is usually what ruins an AI phone call, and this one had very little: Sophie gathered the details, checked the required ones were there, sent them together, and got answers back fast. (17:05) For short waits, like getting the price, Ryan added a typing sound. (18:38)
Can callers still reach a person?
Yes. In Ryan’s setup, if a caller asks for a human, Sophie transfers them to his call center. On his website, hovering over the phone number tells people they can ask for a human anytime. (19:10)
The owner also decides when it answers. Ryan said it can take only after-hours calls, calls nobody picks up after three rings, or weekends. He runs it full time, a switch he made after learning his answering service was already using AI to pick up. (52:20)
What about the website chat?
Ryan’s homepage puts Sophie front and center (“I’m Sophie, I’m an AI assistant”), and the chat follows the same path as the call (36:42):
- Get a quote. Returning customers enter their email or phone, and their info comes up.
- Tap to answer. Buttons for the questions Ryan set up in ResponsiBid, the same ones Sophie asks on the phone. Typing works too, but Curt called the quick-answer buttons key. (37:12)
- Contact info, then the price. The price comes from ResponsiBid, laid out as Ryan’s packages.
- Accept. The customer types their name and checks “I accept,” which takes the place of a signature.
- Pick a time. Open time slots come from CrewCal. The customer picks one, and it’s booked. It needs a real address, because CrewCal works out drive times. (38:02)
Ryan said his late-night and early-morning bookings mostly come through the chat, not the phone. (34:22)
Not ready to build a chat? ResponsiBid’s own quote form can go on your website, where customers price the job themselves. (35:53) See How do I give instant online quotes on my website?
How do I build something like this?
You need access to ResponsiBid’s API, which is in beta; Curt said you can’t do what Ryan did without it. (54:28) The phone number, voice, AI model, and bridge are yours to choose.
Be realistic: this is a project, not a setting you switch on. Ryan was already building voice assistants before he connected one to ResponsiBid (5:15), and he still tunes his all the time. His setup points to three more steps:
- Price from a few questions. A caller can give you stories and square footage, not a pane count (see above).
- Set up CrewCal first. Sophie’s openings come from CrewCal, so if it’s already set up, there’s nothing else to set up for availability. CrewCal reads your calendar and finds the best spot based on your crews, days, and drive times, and ResponsiBid writes the job to your calendar (in Jobber, a work order). (38:59, 53:19)
- Plan to dial it in. After a test call where Sophie got French panes wrong, Ryan adjusted her; now she knows panes between the glass aren’t French panes. (20:07) Curt’s comparison: when your AI gets something wrong, you tell it, the way you’d train an employee, and it writes that to memory. (21:05) Sophie also used to wait for the caller to hang up. Ryan spotted it in a call summary and changed it so she ends the call. (28:26)
Already a ResponsiBid customer? Building something like Sophie starts with access to ResponsiBid’s API, which is in beta. Email API@symphosize.com to request it.
Not on ResponsiBid yet? Book a free demo, and we’ll show you how ResponsiBid quotes your services with your own pricing and follows up for you.
FAQ
Is Sophie a ResponsiBid feature?
No. Sophie is Ryan Olsen’s own setup: his phone number, voice tool, AI model, and a custom bridge, connected to ResponsiBid’s API for pricing, quotes, and scheduling. You won’t find her in your account. To build something like it, you’d start by requesting access to ResponsiBid’s API beta.
Does an AI receptionist make up the prices?
Not in Ryan’s setup. Sophie asks the questions, and ResponsiBid calculates the price from his own pricing rules, including minimums. She reads back his packages and asks which one the caller wants.
Can callers ask for a real person?
Yes. Sophie says she’s an AI assistant when she answers, and if a caller asks for a human, she transfers them to Ryan’s call center.
Does it have to answer every call?
No. Ryan said it can take only after-hours calls, calls nobody picks up after three rings, or weekends. He runs it full time for his own business, so it answers nights, weekends, and holidays.
Where are the call recordings stored?
In Ryan’s setup, recordings and transcripts are stored in ElevenLabs, the voice tool he uses. (51:20) His daily report email has a Listen link for each call, though he reads the summaries more than he listens.