Moving companies · Call routing
Residential and commercial moves, routed while the caller is on the line
We've built and tested a GoHighLevel (GHL) voice agent that sorts every moving call two ways: home or office, and local, within the state or long distance. The second answer comes from a driving-distance lookup the agent runs in the middle of the call.
The job
Two things the agent settles before it gives a range
What kind of move it is, and how far it goes.
A mover treats a house moved across town differently from the same house moved out of state, and an office move runs on another track entirely. So before our voice agent gives a range or books an estimate, it settles two questions: what type of move this is, and how far it goes.
Home or office. For a company that sells AI phone answering to movers, we built the agent to work out the move type from what the caller has already said. It asks only when it can't tell, with one plain question: a home move, or a commercial or office move? The move type is settled ahead of every other question, and the client confirmed that in testing.
Kept inside the agent. The contact record carried a dropdown field for the type of inquiry. HighLevel mishandled that dropdown when the agent wrote to it, so the routing now lives inside the agent and the field is never written. Residential calls, commercial calls and callback requests each follow their own path without leaning on it.
Distance by road. The class of a move comes from the normal driving distance between the two addresses. Not a straight line on a map, not the drive time, and not the city names. Inside one state, a mileage line the business sets splits local from within-state, and a move that crosses a state line is long distance. The caller never hears the class; they hear the range it leads to.
The lookup. The agent gets that distance from Google's Routes API, through a HighLevel custom action: a request the agent sends to an outside service while the call is live. Google's older Distance Matrix API wasn't available on the new Cloud project, and Google now lists it as legacy and says it can no longer be enabled for new Google Cloud projects. The Routes API is its replacement.
Commercial moves and callbacks. An office or commercial move gets its own set of intake questions, and the answers are saved to commercial fields on the contact. A caller who would rather talk to a person can ask for a callback, and the agent records the request instead of pressing on.
What we set up
What the routing build includes
Set up in your HighLevel account and your own Google Cloud project.
- Move type read from the caller's own words, with one question only when it is unclear
- The move type settled before any other question
- Routing held inside the agent, with no write to a dropdown field
- A driving-distance lookup through Google's Routes API, sent mid-call by a HighLevel custom action
- Local, within-state and long-distance classes, split at the mileage line you choose
- A commercial path with its own intake questions and contact fields
- A callback-request path for callers who want a person
- A class the caller never hears, passed to your range table
How a setup runs
Getting the routing right before launch
A 1:1 with Rob
Rob asks where your local moves end, how you treat a move that crosses a state line, and who on your team takes office and commercial work.
The plan
The plan writes down the routing rules, the one clarifying question, the commercial intake questions and the callback wording. You approve all of it before we build.
Your Google project
You give us access to a Google Cloud project you own. We turn on the Routes API, create the key inside the project and connect it to the agent's custom action.
Test calls at the edges
We call with a plainly residential move, one that could go either way, an office move, a pair of addresses near your mileage line and a move across a state line. The results go into the QA report with screenshots.
After launch
Moving the mileage line or adding a commercial question gets a verdict first, inside the agreed scope or new scope, then a fresh set of test calls.
What you bring
What routing needs from you
Your distance rule
Where a local move stops and a within-state move starts, measured in road miles.
A Google Cloud project
One in your name with billing set up. The distance lookups run and bill there, and we create the key inside it, so it is never emailed.
Your commercial questions
What your team needs to know about an office or commercial move before anyone calls the customer back.
Who returns callbacks
The person or team who picks up callback requests, and the hours they work them.
Where it stops
The agent never tells a caller how it classed the move, never writes the move type into a dropdown field, and never judges distance by city names or a straight line. It sorts and records each call; your team handles what comes next.
Services used
The service that sets up the agent
Questions
What movers ask about call routing
How does the agent know if it's a home or an office move?
How does it decide between local and long distance?
Why not go by city names or a straight line?
Why the Routes API and not Distance Matrix?
Will callers hear that their move is long distance?
What happens to a commercial move?

Who you talk to
Rob Eason
Rob runs HLAI Experts and takes the 1:1 calls himself.
He is a HighLevel Certified Admin with the second-most reviews in HighLevel's Certified Admin Directory worldwide, all of them 5 out of 5.
He won HighLevel's Top New Subaccounts via AI Employee award in its 2025 Summer of AI Awards and taught HighLevel's official masterclass on its AI Employee.
Before HighLevel, he co-owned a 60-employee financial services firm and sold his share.
On the call he looks at your account, not a script.
5/5 across 83 reviews in HighLevel's Certified Admin DirectoryTalk through your routing rules with Rob
Bring where your local moves end and how you handle office jobs. In 30 minutes Rob shows how the agent would sort your calls and what your team would see from each one.