Blog · September 15, 2026 · 9 min read

Voice AI for Multi-Location Businesses and Franchises: Routing, Per-Location Reporting and Pricing (2026)

By Nabeel Hassan — builder of VoiceDash

Voice AI for Multi-Location Businesses and Franchises: Routing, Per-Location Reporting and Pricing (2026)

TL;DR: A multi-location build is not five single-location builds. It is one agent with location as a variable, plus a routing decision you make on purpose instead of by accident. Route by dedicated number per location where you can, fall back to asking the caller one clean question, and never let a ZIP code guess decide where a job gets booked. Keep hours, calendars, services and escalation contacts in a per-location table the agent reads, not baked into a prompt you then have to fork. And give every location its own scoped view of its own calls, with a rollup for whoever owns the group, because that reporting is the reason the contract renews at the group level. I build production voice agents for US clients on Retell, n8n, GoHighLevel and Twilio, and I run VoiceDash, the white-label client portal agencies hand their clients. Here is how I build, price and roll out multi-location voice AI.

Groups are the best accounts an agency can land: one relationship, one build, and revenue that multiplies by location instead of by sales call, which is the argument behind how to scale a voice AI agency. The first multi-location deployment is also where agencies discover that their single-location build does not stretch, because everything they hardcoded once now needs to be different eleven times.

Routing is the whole problem

Every multi-location project comes down to one question the agent must answer in the first fifteen seconds: which location is this call for? Get it wrong and you book a customer at a site forty minutes away, dispatch a technician outside their territory, or hand a franchisee a lead that belongs to the franchisee two towns over. That is not a bad customer experience, that is a fight between owners.

There are four ways to answer it, and most builds use two of them together.

1. A dedicated number per location

The cleanest option by far. Each location keeps or gets its own number, and the agent knows the location from the number the caller dialled. No question, no guessing, no ZIP logic. The caller hears their own branch answer, and the whole conversation is already scoped: the right hours, the right calendar, the right escalation contact.

This is what I use whenever the group already has per-location numbers, which is most of the time. How to forward those lines without touching them permanently is in voice AI phone number setup.

2. One central number, one clean question

For groups running a single marketing number, the agent asks. The trick is asking once, in a form the caller can answer without thinking. "Which location are you calling about, or what city are you in?" works. A menu of eleven branch names does not, and reading eleven options aloud is exactly the experience the client hired you to eliminate.

3. Caller lookup before the greeting

If the group has a CRM with phone numbers on record, look the caller up on the inbound number and pre-fill the location from their last visit or service address. Then confirm rather than ask: "Hi, calling about the Northside location?" The lookup runs as a mid-call function into your middleware, wired the way I describe in how to connect Retell AI to n8n.

4. Service area mapping, used carefully

For dispatch businesses, the ZIP code decides which branch owns the job. Map ZIP to location in a table the client signs off on, and make overlaps explicit. If two locations both claim a ZIP, the table says which one wins, and the owner decides that, not your prompt. See voice AI for home services.

One agent, or one agent per location?

My default is one agent with location as a variable. Eleven agents means eleven prompts to update the day the client changes the cancellation policy, and I promise you will miss one.

I split into separate agents only when the locations genuinely differ: different services, different languages, different brands inside a holding group, or a voice the local owner insists on. If the difference is hours, calendar, address, staff names or pricing, that is data, not a different agent.

The practical version of that rule is a location record the agent reads at the start of every call, holding:

  • Location name as customers say it, plus the name staff use internally
  • Address and the landmark people actually navigate by
  • Timezone, business hours and holiday exceptions
  • Services offered and, more importantly, services not offered here
  • Calendar or booking target for this site
  • Escalation contact and after-hours behavior
  • ZIP codes or suburbs this site covers
  • Anything locally specific: parking, a second entrance, a payment method they do not take

That record lives in a knowledge source the agent queries, structured the way I describe in the voice AI agent knowledge base guide. Keeping it out of the prompt is the entire difference between adding location twelve in an afternoon and rebuilding.

The gotchas that only show up at scale

Timezones. One agent covering Phoenix and Atlanta will confidently tell a caller the branch is open when it closed an hour ago. Store hours against a timezone per location and compute "open now" at call time, never as a static line in the prompt.

Shared calendars. Two locations booking into one calendar produces double bookings within a week. Every site gets its own booking target, verified against a real slot before go-live. The mechanics are in voice AI appointment booking.

Transfers between locations. The customer reached the wrong site, and now the agent needs to move them. Decide up front whether that is a warm transfer, a callback from the correct branch, or a message taken and routed. Whatever you choose, the correct site has to get the record, not just the call. See voice AI call transfer to a human.

After hours is per location. A group with a 24/7 flagship and nine branches closing at 5pm needs different after-hours behavior per site, including who gets the emergency escalation at 11pm.

Local staff need to feel it is theirs. Nothing kills a group rollout faster than a branch manager who thinks head office replaced their front desk, so bring each one into onboarding and take their corrections.

Reporting decides whether the group renews

This is the part agencies underbuild, and it is the part that keeps the contract.

A multi-location client has two audiences. The branch manager wants only their calls: how many, what happened, which ones need a callback, and the recording of the one that went badly on Tuesday. The owner or franchisor wants the rollup: which locations answer, which leak, which book, and how usage compares across sites. Send the branch manager a group-wide report and it is noise. Send the owner eleven separate PDFs and they will stop opening them.

Per-location scoping also matters for a reason that is not about convenience. In a franchise system, one franchisee seeing another franchisee's call volume and booking rate is a problem you do not want to create.

That is exactly the shape VoiceDash was built for. Each location gets its own branded portal on your domain, scoped so it sees only its own calls, recordings, transcripts and usage, with per-client team access so the branch manager and the owner can both be in there at the right level. It connects to your Retell account and pulls everything through automatically, live in under ten minutes with no code, on Starter, Growth or Ultimate plans from $19/mo with a free trial. VAPI and Bland support are coming soon. Which numbers clients actually look at is covered in voice AI client reporting, and why that visibility drives renewals is in voice AI client retention.

Who signs, and how to price it

Multi-location deals have an ownership question underneath them. A corporate-owned group is one buyer and one decision. A franchise system is a franchisor who may recommend or mandate vendors, and franchisees who pay their own bills and guard their own autonomy. Ask which one you are in before you write a proposal, because the wrong answer wastes a month.

The route that works for me: land one location, run it for thirty days, collect real numbers from that site, then take those numbers to the owner or the franchisor. A single branch with a month of recovered calls is a better argument than any deck, and it makes the group conversation a rollout discussion rather than a pitch. Build the ask the way I lay out in the voice AI agency proposal guide.

On price, charge a one-time build fee for the group plus a smaller per-location configuration fee, then a monthly retainer per location that tapers as locations add up. A group paying full single-site retainer times eleven will negotiate hard and should. A sensible per-location rate with a volume break signs for all eleven and stops shopping. Still a flat retainer, never per minute, for all the reasons in voice AI agency pricing. Put the group structure, the per-location adds and the notice terms in the contract.

The rollout sequence I use

  1. Pick the pilot site. Not the flagship. Pick a location with a cooperative manager and normal call volume.
  2. Build the location table for all sites, populate one. You want the structure right before you scale data entry.
  3. Run the pilot for two to four weeks. Listen to calls daily in week one, using the review habits in how to test a voice AI agent.
  4. Lock the build. Prompt, routing, booking, escalation and reporting all settled before location two.
  5. Batch the rest in groups of three to five. Each batch is data entry plus a number, not a new project.
  6. Give every location its portal on day one of their go-live. It is how the branch manager finds out the agent is good.

Roll out all eleven at once and you will debug eleven variations of the same mistake simultaneously, while eleven managers form the same bad first impression.

The bottom line

Multi-location work is where a voice AI agency stops being freelance and starts being a business. The build is only harder in one dimension, routing, and that is solved with dedicated numbers, one clean question and a location table you keep outside the prompt. Everything else is replication. Price per location with a volume break, roll out in batches behind a real pilot, and make sure every site sees its own calls while the owner sees the group. Which verticals produce these groups in the first place is in the best niches for a voice AI agency.

Ready to give every location a portal on your own domain instead of a spreadsheet of call logs? Start free on VoiceDash or book a demo and I will show you how the per-client scoping works.

FAQ

How does a voice AI agent know which location a caller wants?

Four ways, and most real builds combine two of them. The cleanest is a dedicated number per location, so the agent knows the branch from the number dialled and never has to ask. If the group runs one central marketing number, the agent asks a single open question like which location or what city, never a menu of eleven branch names read aloud. If the client has a CRM with phone numbers on record, look the caller up on their inbound number and confirm the location from their last visit instead of asking. And for dispatch businesses, map ZIP codes to branches in a table the owner signs off on, with overlaps resolved explicitly rather than left to the agent to guess. Routing errors are not just a bad customer experience in a franchise system, they are a fight between owners over whose lead it was.

Should each location get its own AI agent or should one agent cover all of them?

One agent with location as a variable, in almost every case. Eleven separate agents means eleven prompts to update the day the client changes a policy, and you will miss one. Split into separate agents only when locations genuinely differ: different services, different languages, different brands inside a holding group, or a voice the local owner insists on. If the difference is hours, calendar, address, staff names, pricing or service area, that is data, not a different agent. Keep it in a per-location record the agent reads at call time, holding the timezone, hours and holiday exceptions, the services offered and not offered, the booking target, the escalation contact and after-hours behavior, and the ZIP codes that site covers. That is the difference between adding location twelve in an afternoon and rebuilding.

How do you price voice AI for a multi-location client or franchise group?

A one-time build fee for the group, a smaller per-location configuration fee, then a monthly retainer per location that tapers as locations add up. A group asked to pay the full single-site retainer times eleven will negotiate hard and should. A sensible per-location rate with a volume break signs for every site and stops shopping. Keep it a flat retainer rather than per minute so nobody is rewarded for wanting fewer conversations. On the sales side, find out first whether you are dealing with a corporate-owned group, which is one buyer, or a franchise system, where the franchisor may recommend vendors but franchisees pay their own bills. The route that works is landing one location, running it thirty days, and taking that site's real numbers to the owner or franchisor as a rollout conversation.

Give your clients a dashboard with your name on it

VoiceDash turns your Retell agents into branded client portals. Live in under 10 minutes, no code.

Keep reading