AI voice agents for start, stop and transfer service in utilities take move-in and move-out calls. They verify the account holder before a stop, read the address and date back, and write the order to the customer information system only after a clear yes. Credit checks and deposits stay with the utility's own system, and signatures go out from it.
Key Takeaways
- Read the address and date back before writing any stop order.
- Credit checks and deposits come from the utility's system, never the agent.
- Make each write retry-safe so a repeated request cannot create two orders.
This post is part of our guide to AI voice agents for utilities and energy. In the guide's section "Inbound calls: bills, accounts and moves", the moves part starts from one risk: a move is two orders that are hard to undo, because a stop on the wrong address cuts off someone else's power. Here is how the start, stop and transfer calls run in Dograh, an open-source, self-hostable voice agent platform, with every order written to the customer information system (CIS) during the call.
Why a move call needs a read-back
A billing call that goes wrong produces a wrong answer, while a move call that goes wrong produces a wrong order. Every move starts one account and stops another, and both orders change what happens at a real address on a real date. A stop placed on the neighbour's address, or on the wrong day, cuts off a household that never called.
So the agent on a move call collects a few details, confirms them out loud and writes them only after the caller agrees. Long forms are hard to fill in by voice, and signatures and ID documents do not belong on a phone call at all. Those go out from the utility's own system. The call's job is to get the order right, then hand the rest to the system that owns it.

Stopping service
A stop changes an existing account, so the caller proves they hold it first. Pre-Call Data Fetch can find the account by the caller's number as the call connects, but a phone number does not prove who is calling. Before naming the address on file, the agent asks for an approved check, such as the last digits of the account number.
Then it collects the stop date and a forwarding address for the final bill. The agent records each answer as the caller stated it, and the transcript and recording remain the exact record. Before anything is written, it reads the order back: the account name, the service address, the stop date and where the final bill goes. Only after a clear yes does an HTTP API tool write the stop order to the CIS.
A write can fail or be sent twice. HTTP API tools do not retry on their own, and they time out after 5 seconds by default, so a slow CIS returns an error to the agent. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}} to the order tool. Dograh adds no Idempotency-Key header itself, so that ID serves as the idempotency key the CIS uses to ignore a duplicate. If the write fails, the agent must not promise the stop, so tell it in the prompt to say a person will confirm it and to write a callback request through an HTTP API tool.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Starting service
A new customer has no account to verify yet, so the start call is about getting the details right. The agent collects the name, the service address, the start date and a contact number. It spells the name and street back letter by letter where they are unusual, then reads the whole order back before anything is written.
The utility's own system runs its address validation and its credit and deposit rules. An HTTP API tool sends the order, and the agent reads out what comes back, such as a deposit amount or a request for ID. It never decides a deposit or a credit result. If the home still has service in someone else's name, the agent never stops that account for the new caller. It writes the start request, and the utility's own process deals with the existing account holder. When a deposit or a signature is needed, an HTTP API tool asks the utility's system to send its own secure link by text or email, because Dograh takes no payments on a call.
The start call is also where later service calls get set up. In its ruling FCC 16-88, the FCC writes: "we strongly encourage utility companies, and all robocallers, to inform customers during the service initiation process" that giving a wireless number means consenting to autodialed and prerecorded calls closely related to the service. One fixed sentence in the start pathway's Transition Speech can say that word for word. This is general information, not legal advice, so confirm the wording with counsel.
The same number can drive outage alerts. Seattle City Light said in February 2026 that "New customers will automatically be enrolled" in its outage notifications "upon starting service." AI voice agents for outage notifications covers what those calls say.
Transferring service in one call
A transfer is a stop at the old address and a start at the new one, taken in a single call. The agent verifies the account holder for the stop, then collects the new address and both dates. Before writing, it reads back both orders: the old address with its stop date, then the new address with its start date. Many customers want a day of overlap, so the agent asks rather than assuming.
Each order is written on its own, so one failure is never hidden behind the other. If the stop succeeds and the start fails, tell the agent in its prompt to say so plainly and write a callback request for the start. After the call, a Webhook node sends both outcomes and the transcript link to the utility's system, retrying a temporary failure automatically. Our post on webhook-driven voice agents shows that pattern.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
What goes to a person, and where to start
Anything outside a standard service order goes to staff. Same-day reconnections, landlord agreements, deposit waivers and medical certificates all need a person, along with any request the CIS rejects. Transfer Call works on Twilio only and passes no summary, so the agent writes the request to the CIS first. If nobody answers within the 30-second default, the caller stays with the agent; tell it in the prompt to offer a callback and write the request through an HTTP API tool.
Start with stop orders. They have the clearest read-back and a verified account holder, and they show quickly whether your CIS accepts writes from outside. Dograh has no built-in CIS integration, so each order tool points at your CIS's own API; Integrating Voice Agents With Your Stack covers the routes.
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
- Service order
- The record in the CIS that starts, stops or moves service at an address on a given date. The voice agent writes it through an HTTP API tool only after the caller confirms the read-back.
- Read-back
- The step where the agent repeats the address, the date and any other order details before writing them, so a wrong house number or date is caught on the call.
- Idempotency key
- A unique value sent with a write so the receiving system can ignore a repeat. Dograh adds none itself, so the order tool sends the call's workflow_run_id as a Preset Parameter for the CIS to use.
- Final bill
- The last bill on an account after service stops. The agent collects a forwarding address for it as part of the stop order.

