Dograh

AI Voice Agents for Field Service Management: A Practical Guide

AI Voice Agents for Field Service Management: A Practical Guide
GuideNovember 5, 2026·13 min read

AI Voice Agents for Field Service Management: A Practical Guide

Pritesh Kumar
Pritesh Kumar·Co-founder, Dograh AI

Building Dograh, the open-source alternative to Vapi. OSS and Voice AI. Exit founder and YC alum.

AI voice agents for field service management answer the calls an office misses, then book jobs, confirm visits, route urgent calls to the on-call technician and remind plan members. They work as the phone layer of your field service software, reading windows and records from it during the call and writing each outcome back.

Key Takeaways

  • The agent reads every window and record from your field service software.
  • Gas, sparks and other danger calls get fixed words before anything else.
  • Dispatchers keep the board, and the agent handles the routine calls around it.

This guide covers the phone side of field service, from danger calls and peak-season answering to dispatch, route-day reminders and plan renewals, and shows how each part works in Dograh, the open-source AI voice agent platform we build. You can self-host it or run it on Dograh Cloud.

The job is in the software, the caller is on the phone

Field service software already knows the jobs, the arrival windows and which technician is free. The phone is where that knowledge gets lost. A homeowner calls about a dead furnace while the only person who could answer is in a crawl space, and the call rolls to voicemail.

The people who would pick up are mostly out on jobs. The Bureau of Labor Statistics outlook for HVAC technicians counts about 440,900 jobs in 2025 and notes that technicians may be on call and work overtime in peak heating and cooling seasons. Its outlook for plumbers counts about 510,600 plumber, pipefitter and steamfitter jobs, often on call for emergencies.

Electricians are the largest of the three trades. The BLS outlook for electricians counts about 821,000 jobs in 2025 and projects 9% growth to 2035, with about 72,700 openings a year. It says their schedules may include evenings and weekends, and that overtime is common. More work with the same small office means more calls ringing while everyone is busy. Electrical shops get their own walkthrough in the open-source phone agent for electrical contractors, from danger calls to prices from the contractor's list and field service bookings.

An answering service writes a message for someone to act on in the morning. A voice agent can finish the job during the call, because it reads the same software your dispatchers use.

The agent works the phone, your software runs the jobs

The agent keeps no list of its own. During the call it asks your field service management (FSM) software for the customer, the open windows or tomorrow's route, says only what comes back, and writes the outcome to the same place. Each connection points at the software's own API, such as ServiceTitan, Housecall Pro or Jobber, or at a small service your team runs in front of it.

The dispatch board stays with your dispatchers, because that is where the judgement lives: which technician carries the right parts, and which customer can be squeezed in before lunch. The agent books into the windows the board offers and confirms visits already on it. Urgent calls go to a person. Dispatchers stop answering "when is the technician coming?" all day and keep the decisions only they can make.

Every call runs greet, verify, then disclose. Matching the phone number brings up a customer record, but it does not show who is actually on the line. Before the agent names a job, a price or a visit date, it asks the caller to state a detail your business approves, such as the service address on the account, and checks it against the record.

This guide follows the job: answering, dispatch, the route day and plan members. Lead and review calls follow the customer across months, and AI voice agents for solar and home services covers that side.

How the agent connects to your field service software

Dograh connects to field service software through open routes, with no product-specific connector to install. Each route belongs to a moment in the call.

During the call, an HTTP API tool asks your software a question or writes an answer, using GET, POST, PUT, PATCH or DELETE against its API. A message, typed or recorded, plays when the tool starts, such as "Let me check the schedule", while the request runs. You can add a later update if the lookup takes a few seconds.

As the call connects, Pre-Call Data Fetch on the Start Call node sends the caller's and the called number to your endpoint and loads the matching record. The greeting waits for it, so the agent knows the open job before it says hello.

After the call, a Webhook node sends the outcome and the transcript and recording links to your system, and retries a temporary failure on its own, up to five attempts. To start an outbound call, your software sends one request to the API Trigger, and the call is placed straight away.

Two habits keep the writes safe. HTTP API tools do not retry by themselves, so tell the agent in its prompt to say a person will confirm if a write fails. If a booking could be sent twice, add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}}, so your system can spot the duplicate. Our guide to integrating voice agents with your stack covers each route in depth.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Safety calls come first in every trade

Write the dangerous calls before any booking prompt, because they need fixed words. Inside a step the language model writes its own sentences, so a prompt cannot promise exact wording. Fixed text can, and it lives in the Greeting Text on the Start Call node, a pathway's Transition Speech or a recorded clip.

Gas comes first for heating and plumbing. Guidance from the Pipeline and Hazardous Materials Safety Administration tells people not to use a phone near a suspected leak and to call 911 from somewhere well away from it. So the agent asks nothing and plays one line: "If you smell gas or your carbon monoxide alarm is going off, leave the building now and call 911 or your gas company from outside." The agent then ends the call, and a Webhook node sends the caller's number to your system, which alerts the on-call person.

Every extra question keeps someone on a phone inside the house, which is why the agent never troubleshoots a gas call. AI voice agents for HVAC companies sets up that call in full, along with dangerous heat and cold.

Plumbers also hear about water spreading toward outlets or a panel, and electricians hear about sparks, burning smells and shocks. Each of those gets "If you're in danger, get to safety and call 911." If someone is hurt, the line is "If this is a medical emergency, please call 911 now." AI voice agents for plumbing companies covers the water calls, and AI voice agents for electrical contractors the electrical ones.

Put a short version in the Greeting Text so it reaches a caller who never names the danger. Allow Greeting Interruption starts switched on, so two words from the caller can cut the greeting short. Turn it off on the Start Call node and the whole line plays. Repeat the line as Transition Speech on a danger pathway, where it plays with the caller muted. The model picks that pathway by reading the condition you wrote, so test it with the words your callers really use, such as "the basement smells like rotten eggs".

Answering and booking in peak season

The first heatwave or cold snap brings a season's worth of calls in a few days, and most of them are bookings. The agent answers each one at once, sorts the job type, checks the ZIP code against your service area and offers only the windows your software returns. It reads the job back and counts the booking once your system returns a job number.

Volume is the real test that week. Self-hosted, the agent runs 10 concurrent calls by default, and you raise it with DEFAULT_ORG_CONCURRENCY_LIMIT while your servers and phone provider set the practical ceiling. On Dograh Cloud, pay as you go includes 10 concurrent calls, and for more you contact Dograh.

Our post on home-services appointment booking follows the booking loop across trades. The heatwave week itself, with its overflow and maintenance questions, is in AI answering service for HVAC companies.

Dispatch and the on-call technician

Most night calls can wait for morning, and the owner's written list decides which cannot. No heat on a freezing night with an infant at home goes to the on-call technician now. A noisy outdoor unit gets the first morning window. The agent follows the list and never decides urgency on its own.

Transfer Call hands the caller to a person on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI. Dograh rings that person first, and the caller joins only once they pick up. On Twilio, a short spoken introduction can play to both people before the line joins. No summary travels by default, so the agent writes the address and the problem to your software through an HTTP API tool before the transfer.

The destination comes from one of three sources. Static / Template suits a single on-call phone. Context Mapping picks a number from a value gathered on the call, such as the trade or the service zone, and the first matching rule wins. Dynamic HTTP Resolver asks your rota system during the call and gets back whoever is on call tonight.

If nobody answers within the 30-second default, the caller stays with the agent. Tell it in the prompt to take a callback request and page the technician through an HTTP API tool. AI HVAC dispatch for emergency calls walks through the 2am call from the first ring to the technician's phone.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

The route day: reminders and on-the-way calls

A wasted trip usually starts with a small problem, such as nobody home, a locked gate, a dog in the yard or no parking for the van. The day-before call catches these while there is still time to fix them. Load tomorrow's jobs from your software into a campaign, and the agent calls each customer, verifies them, confirms the window and asks about access.

Tomorrow's jobs in the field service software go into a day-before call, where the agent verifies the customer, confirms the window and asks about access, such as a locked gate or a dog in the yard. On the route day the gate is open and the van gets in.
Ask about access on every day-before call, not only the time window. A locked gate or a dog in the yard is easy to sort the evening before, and it costs a whole trip when the technician finds it at the door.

Pre-Call Data Fetch, set to Outbound calls only, reloads the job as each call connects, so the agent reads the latest window and technician even if the board changed an hour ago. A customer who needs a new time picks one from the open windows, and the change goes straight back to the board. Campaign calling hours run in one time zone, so split a list that crosses zones, and you set the retries (0 to 10).

The on-the-way call starts from your software. When the dispatcher sends the van, the FSM fires the API Trigger with the job details, and the agent calls to confirm someone is home. A notice that needs no answer goes as a text from your own system, with no voice agent involved. AI field service scheduling calls covers both calls.

Maintenance plans: the tune-up and the renewal

Maintenance plans pay the bills between emergencies, and they need two different calls. The pre-season tune-up reminder books a visit the member already paid for. The renewal call asks the member to buy another year.

That difference decides the consent you need. The FCC has ruled that AI-generated voices count as artificial voices under the Telephone Consumer Protection Act (TCPA), and the FCC's calling rules require prior express consent for such a call to a mobile phone. A call that sells something, such as a renewal or an upgrade, is telemarketing and needs prior express written consent. So the tune-up reminder is generally a service call, and the renewal runs only for members with written consent on file. Confirm your own setup with counsel before the first renewal campaign.

Run them as two agents and two campaigns. The reminder agent carries no offer, and QA can flag any reminder call where a renewal came up. The renewal agent reads the terms from the agreement, makes one offer and asks your own system to send the sign-up link. HVAC maintenance plan reminder calls lays out the season.

Where the call data sits

Field service calls carry home addresses, gate codes and sometimes alarm codes, so choose where they live before the first call. Dograh is open-source and self-hostable. Run it on your own servers and your customers' calls never pass through us, or use Dograh Cloud if you would rather not run servers.

Dograh orchestrates the call, which means it runs the flow, the tools and the telephony, while the speech and language models form a second layer your team picks. Bring your own keys for any LLM, speech-to-text and text-to-speech provider and the contract sits in your name, though the audio still reaches that provider. For audio that stays in-house, run open-weight models on your own servers as well.

A few features matter most for a trade business. Record your best dispatcher saying the common lines, and the agent plays a clip when one fits and falls back to text-to-speech for names and times. Every call has a full trace, so you can see whether the gas pathway fired, and built-in QA scores each step on a sample of calls. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. Our page on self-hosted voice agents for HVAC and plumbing companies shows that setup.

Where to start

Start with the calls that reach voicemail today, usually nights and the first hot or cold week. Build and test the danger paths first, then let the agent answer and book. Add day-before reminders once bookings write cleanly, and the renewal campaign last, after your consent records are in order.

Test on a real phone line before any customer hears the agent. Most phone calls reach it as 8 kHz audio, while a browser test runs at 16 kHz, and transfers only work on a real phone call. Add trade words such as SEER2, GFCI and your equipment brands to the Dictionary in the agent's Settings.

Each call above has its own deep dive:

Glossary

Field service management (FSM) software
The system a trade business uses to hold jobs, arrival windows, technicians and service agreements, such as ServiceTitan, Housecall Pro or Jobber. The voice agent reads from it and writes to it during each call.
Transition Speech
Fixed text or a recorded clip that plays word for word when a call moves to a pathway, with the caller muted. Danger lines live here, because a prompt cannot guarantee exact words.
Context Mapping
A Transfer Call destination source that picks a number from a value gathered on the call, such as the trade or service zone. Rules run top to bottom and the first match wins, with an optional fallback.
Prior express written consent
A signed agreement, electronic signatures included, that lets a business make telemarketing calls with an artificial voice to a named number. A plan renewal call needs it, and signing can never be a condition of purchase.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.