Case study  ·  Voice Agents

A phone agent for a home services company that answers from real prices and logs every call

It answers in a natural voice, looks up prices, service areas and hours in a knowledge base during the call, and after the call files the lead in a sheet and CRM and alerts the team.

The problem

Home services companies depend on the phone. A missed call is a missed job, and the answered calls bring a second problem: whoever answers must know every price, area and policy, and write the details down by hand. After hours it does not happen at all.

Many AI receptionists make this worse. A scripted bot cannot answer a pricing question, and a chatbot on a phone line will invent a number to sound helpful. A wrong price is worse than no answer.

How it works

There are two halves: the live call and what happens after it.

On the call, the agent answers in a natural voice. When the caller asks something factual, such as the price of an AC repair, whether the company covers a town, or whether it opens on Sunday, the agent searches the knowledge base and answers from it. If the answer is not there, it says a team member will follow up. It quotes starting prices only, does not promise exact arrival times, and passes refund disputes to a person.

Retell agent settings for a home services phone assistant, showing the prompt with rules about prices, service areas and booking, and the knowledge base attached
The agent's instructions in Retell, with the company knowledge base attached.
Retell knowledge base page for the company, with the knowledge base ID blurred
The knowledge base the agent searches during the call.

After the call, the details go to n8n. It pulls out the caller's name, phone, address, the service needed and the urgency. It saves a row to a sheet, creates a HubSpot contact with a full summary, and posts to Slack. Emergencies get a dispatch alert. Routine calls get a booking notice.

n8n workflow: Retell call webhook, extract call data, save lead to sheet, add to CRM, is emergency check, then emergency alert or routine alert in Slack
The post-call backend in n8n.

A real run

A caller phoned to book an AC repair because the unit was blowing warm air. It was not an emergency. The agent took the name, address, phone number and problem, and confirmed it was a routine job. When the call ended, the details were saved to the sheet, a CRM contact was created with a note about the repair, and a booking notice went to Slack. No one typed anything.

Slack channel with a New booking message showing service AC repair, blowing warm air, preferred this week and not urgent, with the caller's name, phone and address blurred
The booking notice in Slack. Caller details are blurred.
Google Sheet of call leads with caller name, phone, address, service, urgency, preferred time and summary columns, with personal details blurred
The call log in Google Sheets.

What a person still handles

  • Dispatching the technician and confirming the visit.
  • Questions the knowledge base does not cover. The agent promises a follow up instead of guessing.
  • Refund disputes, which the agent passes straight on.
  • Final prices. The agent gives starting prices only.

Built with

  • Retell
  • RAG
  • n8n
  • HubSpot
  • Google Sheets
  • Slack

Retell for the voice agent and its knowledge base, n8n for the backend, HubSpot for the CRM, Google Sheets for the call log and Slack for dispatch alerts. Change the company information and it works for plumbing, electrical or roofing. The CRM, calendar and alert channel can be swapped for whatever the business already uses.

Your build starts with the arithmetic.

Bring a week of real examples to the free audit. We come back with the three worth doing first, what each is worth, and a fixed price. If a cheaper tool already covers it, we say so.

Book the free audit →