AI voice agents for reschedule and cancellation handling in home services find and verify the customer's booking, offer new arrival windows read live from the field-service software, write the change and read it back. Cancellations follow the business's own policy, with the reason recorded as the customer stated it. Refunds, deposits, disputes and complaints go to a person.
Key Takeaways
- Verify the customer before reading out any booking details.
- Offer only new windows the field-service software returned.
- Refunds and deposits never move on the call; a person handles them.
This post is part of our guide to AI voice agents for solar and home services. The guide's "Booking the job and handling changes" section sums up this call in one line: it moves or cancels a booked visit, and it starts from the booking already in the system. Here is that call in full, built on Dograh, an open-source, self-hostable voice agent platform.
When a change needs a call
Many changes do not need a call at all. A text from your field-service software with a link to pick a new time suits plenty of customers, and it costs nobody any time.
The call earns its place in two cases. The first is a customer who phones in, because they want the change made now, by talking. In Jobber's 2026 Home Service Trends Report, a December 2025 survey of 1,050 US home service business owners, owners say over 70% of customers expect a same-day response and more than half expect one within the hour. A customer who calls to move a visit expects it moved on that call.
The second is a change that needs a conversation, such as a part on order or a window that has to move today. A link cannot ask the follow-up question; a call can.
How an inbound change call runs
The change call starts from the booking that already exists. Pre-Call Data Fetch, set to Inbound calls only, looks up the caller's number in the field-service management (FSM) software as the call connects. A phone number finds a booking but does not prove who is calling, so write the prompt so the agent uses none of it (nothing from it is spoken) until the caller is verified: it asks the caller to state the service address and compares it with the record before it says anything about the visit.
Then it reads the current booking, the date and the arrival window, and asks what the customer needs. For a reschedule, an HTTP API tool reads open windows from the FSM, and the agent offers two or three. It never promises a time the FSM did not return.
Once the customer picks one, another tool writes the change. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}}, so the FSM can ignore the request if it arrives twice. HTTP API tools also do not retry on their own: after a 5-second default timeout the agent gets an error, so tell it in the prompt to say the office will confirm and write a callback request instead of guessing. When the write succeeds, the agent reads back the new date, window, address and job type.
The old slot opens up in the FSM, and filling it from a waiting list is your scheduling system's job. The confirmation text comes from your own system too, since Dograh sends no texts itself.

Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Cancellations: read the policy, offer once
A cancellation follows your rules, which the agent reads and never decides. If your business charges for late changes, an HTTP API tool returns your late-change policy and any fee from the record, and the agent states it before the cancellation is written. Homeowners expect that openness: in a Housecall Pro survey of more than 1,000 US homeowners, reported by Contractor Magazine in December 2025, 97% said they expect transparent pricing before they commit.
The agent asks once whether another day would work, with no pressure. If not, it records the reason as the customer stated it, writes the cancellation and reads out the confirmation. Deposits and refunds never move on the call. A refund request, a dispute, a damage complaint or a request for a manager goes to a person through Transfer Call, which works on Twilio only and passes no summary, so the agent writes the details to the FSM first. If nobody answers within the 30-second default, the customer stays with the agent; tell it in the prompt to offer a callback and write the request through an HTTP API tool.
Roll this out slowly. Start with reschedules on routine job types and keep cancellations with staff until the transcripts look right. Hotels face a fee-heavy version of this call, covered in AI Voice Agents for Hotel Cancellations.
When the business has to move the visit
Sometimes the change starts on your side: a technician is out sick, or a part is delayed. The FSM fires the API Trigger when the job is flagged, or a list of affected jobs runs as a campaign. After verification, the agent gives the reason the system recorded, offers new windows and writes the change. The call carries no offer, so it stays informational.
The customer did not ask for this change, so the call needs a clear way out. If none of the new windows work, the agent writes a callback request for the office, with the times the customer said they could do. If the customer is upset about the delay, the call goes to a person rather than the agent trying to smooth it over.
On voicemail, Dograh either disconnects (the default) or leaves a message that names the business and a callback number, and nothing about the visit. The day-before reminder that often prompts a change belongs to AI voice agents for service reminders in home services. Telecom installers face a similar window problem, covered in AI voice agents for installation scheduling in telecom.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Where to start
Turn on reschedules for two or three routine job types first, and keep cancellations and refunds with staff. Run the QA node on a sample of change calls and read the transcripts for windows the FSM never returned or fees the agent did not read from the record. The first booking itself is covered in AI voice agents for home-services appointment booking.
Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost); Dograh Cloud has a 1¢-a-minute platform fee.
Glossary
- Arrival window
- The span of time in which the technician will arrive, such as 1 to 4 p.m. A reschedule replaces one window with another that the field-service software returned during the call.
- Late-change policy
- A business's rule on fees or limits for moving or cancelling a visit close to the date. The agent reads it from the record and states it before writing the change; it never sets or waives a fee.
- Preset Parameter
- A value Dograh adds to every request an HTTP API tool sends. Setting workflow_run_id as one lets the FSM recognise a change request that arrives twice from the same call and ignore the duplicate.
- Field-service management (FSM) software
- The system a home-services company runs on, such as ServiceTitan, Jobber or Housecall Pro, holding customers, jobs and technician schedules. The change agent reads the booking and open arrival windows from it during the call and writes each change back.

