AI voice agents for HVAC appointment booking screen for gas or carbon monoxide danger first, then sort the call into a repair, tune-up or replacement estimate. They check the service area, offer only arrival windows the company's system returns, read the details back and call it booked once a job number comes back.
Key Takeaways
- Gas and carbon monoxide calls never reach the booking step.
- Offer only arrival windows the field-service software returned on this call.
- A failed booking request becomes a callback request, never a guessed time.
A caller who says the furnace quit may also smell gas, so booking can't come first. We set up the call in Dograh from the safety check and visit type to live windows and the read-back, plus what happens when a booking request fails. It belongs to our guide to HVAC voice agents.
Safety before the booking starts
The booking call starts with a safety check, because a caller who says "no heat" may also smell gas. The Greeting Text that every caller hears carries the company's fixed line to leave the building now and call 911 or the gas company from outside. Switch off Allow Greeting Interruption on the Start Call node so the line always plays in full. A caller who mentions gas or a sounding carbon monoxide alarm hears it again as Transition Speech, and the booking never continues.
The reasons are plain. Federal pipeline safety guidance says not to use a phone near a suspected leak and to call 911 from well away from it. Carbon monoxide is just as serious. The CDC counts more than 400 American deaths a year from unintentional poisoning not linked to fires.
No heat on a freezing night, or no cooling with an infant or an older person at home, skips the booking too. That call goes to the on-call technician, as the guide's after-hours section sets out. Every other call moves on to the job type.
Repair, tune-up or replacement estimate
The first booking question is what kind of visit the caller needs, because the answer sets the slot length and who goes. A repair call needs a service technician, often the same day. A tune-up fits a shorter routine slot. A replacement estimate needs a longer visit, and many companies send a comfort advisor instead of a technician.
The agent asks what is happening and records the symptoms as the caller describes them, such as a system blowing warm air or a furnace that starts and stops. It never names the fault or the fix. The technician reads those notes on the way to the house.
Before any window, the agent checks the address. An HTTP API tool sends the ZIP code to your system, which answers whether you serve it and which team covers it. A caller outside the area hears that before they spend time choosing a slot.
Seasons shape the calendar. The Bureau of Labor Statistics notes that HVAC technicians often work overtime or irregular schedules during peak heating and cooling seasons. Tune-up requests bunch up just before each season, so the agent reads the real schedule on every call.
Offer only the windows your system returns
The agent offers arrival windows that your field-service software returns during the call, and nothing else. A second HTTP API tool asks for open windows for that job type and team. The agent offers two or three of them, such as "Tuesday 8 to 11 a.m." It never offers a time from memory or from the prompt.
The lookup can take a few seconds. In the tool's Messages settings, add a line that plays when the tool starts, such as "Let me check the schedule", while the request runs. You can also add a later update, such as "I'm still checking", if the lookup runs long.
Maintenance-plan members get their own windows. Pre-Call Data Fetch can load the member record that matches the caller's number as the call connects. Anyone can pick up the phone a record belongs to, so the prompt tells the agent to say nothing about the plan until the caller passes a check your company approves, such as stating the service address on the account. Once verified, the member gets the priority windows your scheduling rules allow.
Some dispatchers want to assign every technician themselves. In that case, the write can land in a holding status your dispatcher confirms. The agent then tells the caller the window is reserved and the office will confirm the technician.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Read it back, then write the job
Before writing, the agent reads back the job type, window, address and callback number, and collects access details such as a gate code or a dog in the yard. A third tool writes the job. The booking counts once your software returns a job number, and the agent reads that number to the caller.

Protect the write from duplicates. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}}, so your system can ignore the same request if it arrives twice. The confirmation text comes from your field-service software or messaging provider, set off by the write. AI voice agents for home-services appointment booking covers the same loop across other trades.
When the booking request fails
A booking request can fail in the middle of a call, and the agent needs a plan for it. HTTP API tools make one request and wait 5 seconds by default. A timeout or an error status such as a 429 comes back to the agent as an error result, with no automatic retry. Tell the agent in the prompt to say that the office will confirm the visit and the caller does not need to call again.
Then the agent records a callback request with the job type, address, preferred window and the caller's number. A Webhook node at the end of the call sends those details to your system. Unlike a tool, it retries temporary failures automatically, so the request still reaches your dispatcher if the scheduling server was briefly down.
The next call from that customer may be a change of plan. AI voice agents for home-services reschedules and cancellations covers it.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Glossary
- Arrival window
- The span in which the technician will arrive, such as 8 to 11 a.m., instead of a fixed time. The agent offers only windows the field-service software returned during the call.
- Replacement estimate
- A sales visit to quote a new system, often run by a comfort advisor and longer than a repair slot. The agent books it as its own job type and never comments on whether to replace.
- Holding status
- A booking state where the window is reserved but a dispatcher still confirms which technician goes. Some HVAC companies write every agent booking this way.
- Preset Parameter
- A value Dograh adds to every request an HTTP API tool sends. Setting workflow_run_id as one lets the field-service software ignore a duplicate booking from the same call.

