Use caseVoiceAI agent
An after-hours phone agent for trades that books jobs and puts emergencies through
An AI phone agent for heating, plumbing and electrical firms that triages emergencies, transfers to the on-call technician and books routine jobs after hours.
A blueprint, not a client story. The business described is illustrative; the architecture, integrations and trade-offs are real, and this is how I would build it. By Ergini, .
The short version
An AI phone agent for heating, plumbing and electrical companies that answers when the office cannot. It says at the start that it is an automated assistant, and anyone who asks for a person is transferred straight away. Gas smells, leaks and heating failures get fixed safety instructions and a warm transfer to the on-call technician. Routine calls get a booking from the real schedule, a confirmed address and an SMS summary. It never quotes repair prices, and every call is attached to its job.
- Best for
- Trade businesses with on-call technicians whose phones ring after hours with a mix of emergencies and routine requests.
- Connects to
- Twilio, Real-time voice model, Field service software (HERO, Plancraft, Craftnote; Jobber, ServiceTitan or Housecall Pro in the US), Google Calendar, WhatsApp
- The AI does
- Holds the conversation in the caller's language, recognizes the situation, collects address and access details, and briefs the technician.
- People do
- On-call technicians take every emergency by warm transfer, the office confirms the night's bookings, and the owner sets the protocol.
- Built as
- AI Agent Development, usually $12K - $30K
23:10 on a January night: a burst pipe in a Vienna flat
A heating and plumbing company's office closed at five. This is the call its after-hours agent took, in German, with the tool calls behind it.
Phone, Tuesday 23:10
Agent · Phone
Good evening, this is the after-hours line of [company]. I am the company's automated assistant, and this call is recorded so we can create your job. You can ask for a person at any time. How can I help?
Caller · Phone
Water is coming out under the kitchen sink, it's all over the floor, I can't stop it.
- classify_situation(transcript)active water leak / protocol: burst pipe / emergency: yes
Agent · Phone
Please close the main water valve now. It is usually next to the water meter. Keep away from any sockets near the water. While you do that, what is the address?
Caller · Phone
Hauptstraße 12, staircase 3, door 14. The valve is closed now, I think.
- geocode(address: "Hauptstraße 12", postcode_hint: "Vienna")2 matches in Vienna / asking for the district
Agent · Phone
Thank you. Is that Hauptstraße 12 in the 10th district, staircase 3, door 14?
- get_on_call(time: "23:11")on call: Stefan / backup: Ali / transfers allowed until 06:00
- warm_transfer(to: "Stefan", whisper: summary)Stefan hears: 'Active leak under a kitchen sink, main valve closed by the caller, 10th district, staircase 3, door 14.' / connected at 23:12
- After the call: SMS summary to the caller, job card created as an emergency call-out with the recording and transcript attached, visible to the office at eight.
Twelve technicians, one office, and a phone that never stops
The company behind that call has twelve technicians, a standby rota and one office manager. During the day, calls go to the office; when she is on another line, they ring through to whichever technician is next on the list, usually on a ladder or under a boiler. After five, the number forwards to the on-call technician's mobile, every night, all night.
The calls are a mix nobody can plan. Most are routine: a boiler service, a dripping tap, a quote for a new bathroom. A few are real emergencies, a burst pipe or a smell of gas. And at two in the morning, some are people who want an appointment next month and assume the number reaches an office. The on-call technician answers all of them, because he cannot tell which is which until he picks up. The daytime calls that ring out cost jobs too, since people just call the next company.
What the owner wants is not a generic AI receptionist. It is a rule: only real emergencies get through to a person at night, everything else gets booked properly, and anyone who wants a human can reach one. Many of the company's customers are in their seventies and will not talk to a machine for long, so the path to a person has to be short and obvious. A generic answering bot does not know the difference between a dripping tap and a gas smell, and that difference is the whole job.
The triage protocol, call type by call type
Written with the owner and the on-call technicians before launch, and enforced in code. The model recognizes the situation; what happens next is fixed.
| Situation | What the agent says | Who is involved | Booking |
|---|---|---|---|
| The caller asks for a person, at any point | 'Of course, I am connecting you now.' | The office line in hours; after hours, the on-call technician for emergencies, otherwise a callback at a set time | Whatever the person decides |
| Smell of gas | Leave the building, do not use switches or open flames, and call the gas emergency number (128 in Austria) from outside | The on-call technician is alerted at once by call and SMS | None until the gas network operator has made it safe |
| Water leak or burst pipe | Close the main water valve and keep away from electrics near the water | Warm transfer to the on-call technician | Emergency call-out, created by the technician |
| No heating or hot water | Checks power, water pressure and any error code on the boiler display | On-call technician in winter if infants, elderly or sick people are in the home | Otherwise the first slot next morning |
| Sparks, a burning smell, scorched sockets | Switch off at the fuse box if it is safe, and call 112 if there is smoke or fire | The on-call electrician is alerted | Emergency or next-morning slot, as the technician decides |
| Routine job: service, repair or quote | Asks for job type, address, access details and times that suit | Nobody tonight | A held slot from the real schedule, confirmed by SMS |
The path a call takes, from first ring to job card
A real-time voice model handles the conversation. Urgency rules, transfers, bookings and anything involving a price are code, and a person is always one sentence away.
01 Trigger · Twilio Programmable Voice
A call arrives after hours
Outside office hours, or when the office line is busy, the company number forwards to a Twilio number. The first sentence says it is an automated assistant, that the call is recorded, and that the caller can ask for a person at any time.
02 AI model · Realtime voice model
Listen and understand
A real-time voice model holds the conversation with barge-in, so callers can interrupt as they would with a person. It works out the problem, the address and access details, and whether anyone vulnerable is in the home.
03 Decision
A person, an emergency, or a booking?
The model labels the situation; the protocol table decides what happens next.
- The caller asks for a person then immediate transfer, with no further questions
- Gas, water, electrical, or no heating with vulnerable occupants then the protocol's safety instruction, then the on-call technician
- A routine job then on to booking
04 Plain code · Geocoding API
Confirm the address
The address is read back and geocoded, staircase and door kept as access details, and checked against the service area. An address with no match, or outside the area, is never booked blind.
05 System · Field service API, Google Calendar
Find a real slot
Availability comes from the field service software or the technicians' calendars, filtered by job type and skills. The slot is held for ten minutes while the caller confirms, so two callers cannot take the same one.
06 Person · Twilio conference
The on-call technician takes emergencies
A warm transfer: the technician hears a two-sentence summary before the caller is connected. If he does not answer within 30 seconds, the backup is called and the caller is told what is happening.
07 Result · Twilio SMS, WhatsApp Cloud API
Confirmation and job card
The caller gets an SMS summary, or a WhatsApp message if they agreed to one on the call. The job card, with recording and transcript, lands in the field service software, and the office sees the night's calls at eight.
Going live without gambling the company's name
A phone number is public, so the agent earns each responsibility on real calls, with people listening in at first.
- Daytime overflow only, for the first two weeks. The agent answers calls the office cannot pick up, books nothing, and takes messages with a summary. The office manager listens to the recordings each day and marks every mistake.
- Then evenings, with bookings as requests. Routine after-hours calls create booking requests the office confirms in the morning, while emergencies transfer as designed. The on-call technicians review every transfer they received.
- Then direct booking for routine jobs, once requests are being confirmed unchanged week after week. Emergency handling never becomes more autonomous than the protocol table allows.
From the first call, the opening sentence discloses the assistant. The Commission's guidelines on Article 50 of the EU AI Act, which covers voice agents like this, say the disclosure must come at the first interaction and that a generic label is not enough; the Article 50 guide goes through the rest.
Calls that go sideways, and what the agent does
The caller wants a human, not a machine
Some callers hang up on any automated voice; others say 'person' in the first five seconds. The agent transfers immediately without another question. After hours, non-emergency callers are offered a callback at a set time instead, and it appears on the office's list at eight. Every request is counted, because it tells you how your customers feel about the assistant.
Dialects, noise and bad lines
Viennese German, a caller standing in a flooded cellar, a mobile signal fading in and out. The agent reads every critical detail back, address, callback number and problem, and after two failed attempts to understand, it transfers or takes a callback rather than guessing.
Addresses that exist twice
Street names repeat across districts and staircase numbers get lost. Addresses are geocoded, read back with the district, and checked against the service area, and the technician sees the caller's own words from the transcript next to the geocoded result.
Two callers, one slot
Holds in the schedule are atomic with a short expiry, each booking carries an idempotency key tied to the call, and if the field service API fails mid-call, the caller gets a booking request and a callback time instead of a promise the system cannot keep.
Prank calls and repeat callers
Calls are rate-limited per number, and repeat calls within minutes are recognized as one incident. A reported gas smell still reaches the technician, because ignoring a real one costs far more than a wasted call-out, but he sees the number's history before driving anywhere.
Prices on the phone
The agent never estimates what a repair will cost. If the company publishes a fixed after-hours call-out charge, it can read that exact figure from the price list; every other price question gets 'the technician confirms the price before starting work'.
An off-the-shelf AI receptionist, ServiceTitan's voice agent, or a build?
For simple booking, buy. Smith.ai, Rosie and Goodcall answer calls, take messages and book appointments for small businesses at a monthly price, and if all you need is fewer missed calls in the daytime, one of them is enough. In the US, ServiceTitan sells an AI voice agent as a Pro product for its customers, and Avoca is built specifically for home services on the US field service platforms.
A build wins when the rules are the product: an emergency protocol your technicians wrote, on-call rotas with backups, transfers that brief the technician before connecting, and bookings written into HERO, Plancraft, Craftnote or whichever European trades software you run, which the US products do not connect to. It also wins when callers speak German, Dutch, Turkish or Serbian. The voice layer itself is no longer the expensive part: OpenAI lists its full-duplex GPT-Live-1 at $0.05 per minute, so the work sits in the rules and integrations, which is what AI agent development covers.
If you are already on ServiceTitan in the US, try its agent first. If you run a European trade business, the realistic route is a focused custom agent on Twilio and a real-time voice model, with your field service software as the source of truth. My guide to building an AI voice agent goes through the technical side, and the AI receptionist build or buy post covers when a product is the better call.
How you would know it is working
A blueprint has no results to report, so here is what I would measure from the first week instead, on your own data.
- Calls answered
- Every call to the number, answered or not, by hour of the day, from the phone system's own logs, against the weeks before launch.
- Time to a technician
- Seconds from the start of an emergency call to the on-call technician on the line, and how often the backup was needed.
- Requests for a person
- How many callers asked for a human, and when. Early requests mean the greeting needs work; late ones mean the agent got stuck.
- Bookings kept
- Share of the agent's bookings the office did not have to move or correct the next morning.
- Wrong escalations
- Routine calls that woke a technician, and emergencies booked as routine. The second number must stay at zero.
What a build like this costs
This is built as AI Agent Development, which runs $12K - $60K overall. A build like this one usually lands in the single-purpose agent tier: $12K - $30K, 2-5 weeks. The first working version runs on your real data well before the end of that window.
What it costs to run
Every call is billed per minute twice: telephony through Twilio, and the voice model on top. A typical three to five minute call costs somewhere between a few cents and a euro or two, depending on the voice stack. SMS and WhatsApp confirmations add a small per-message fee, and recordings add storage, kept only as long as your retention rule allows.
What moves the price
- The field service software, and whether it has a usable API for availability and bookings or only a calendar
- How detailed the protocol is: on-call rotas, backups, vulnerable-occupant rules, several trades
- The languages the agent must handle, and whether callers switch between them
- WhatsApp confirmations, which need opt-in handling and approved templates, against SMS alone
Who this is for
- Heating, plumbing and electrical companies with five to thirty technicians and one or two people in the office
- Trade businesses in Austria, Germany or the Netherlands running HERO, Plancraft, Craftnote or a shared calendar
- Owners whose on-call technician answers every call at night because nobody can tell an emergency from a service request
- Firms with older customers, who need a person to be one sentence away
Questions people ask about this
Can AI answer after-hours calls for a plumbing or heating company?
Yes, if it is built around your emergency rules rather than a generic script. The agent recognizes gas smells, leaks and heating failures, reads out fixed safety instructions, and transfers to the on-call technician with a summary. Routine calls are booked into real slots, and anyone who asks for a person is transferred immediately.
What if callers want to talk to a human?
They get one, straight away. The first sentence tells callers they can ask for a person at any time, and the agent transfers without further questions. After hours, non-emergency callers are offered a callback at a set time instead of waking the on-call technician, and that promise goes onto the office's morning list.
Does the agent have to say it is an AI?
In the EU, yes. Article 50 of the EU AI Act has applied since 2 August 2026, and the Commission's guidelines say disclosure must happen at the first interaction, not in terms and conditions. The agent's opening sentence says it is the company's automated assistant and that the call is recorded.
Does it work with HERO, Plancraft or Jobber?
Where the software offers an API for availability and bookings, the agent books directly and attaches the transcript to the job. Jobber has a public API; for European trades software, what is available varies, and I check it before quoting. Without a usable API, the agent books into a shared calendar and creates a task the office confirms in the morning.
How fast does a voice agent need to respond?
Fast enough that callers do not talk over it: in practice under a second between the caller finishing and the agent starting. Current full-duplex voice models reach that and let callers interrupt naturally. Tool calls add delay too, so slot lookups are cached, and the agent says what it is doing while it checks the schedule.
Would the same agent work for a property manager?
The pattern carries over with a different protocol: tenants report leaks, heating failures and lockouts, and responsibility rules decide who pays for what. For property managers, maintenance request triage covers intake across phone, email and WhatsApp, with vendor dispatch and follow-up until the job is closed.
Sources