To plan a route for multiple job sites in Google Sheets, assign jobs to technicians using =TERRITORY(), sequence them with =VISIT_ORDER(), and generate driving links via =ROUTE_LINK(). This removes the need to manually retype addresses into separate routing applications.
This method is built for field service dispatchers managing a high volume of daily visits. If you currently copy and paste addresses from your spreadsheet into a routing app, this guide will show you how to keep everything in one place. By the end, you will have a system that automatically balances territories, sequences daily visits, and provides clickable map links for your technicians.
- →Assign jobs to technicians based on location using =TERRITORY().
- →Sequence stops for each worker efficiently with =VISIT_ORDER().
- →Generate Google Maps driving links directly in the cell with =ROUTE_LINK().
- →Handle the 11-stop Google Maps limit by splitting large routes into batches.
- →Avoid manual retyping or expensive routing software for basic dispatching.
- →View all daily assignments on a live web map using =INSTAMAP().
What you need before routing
Before you begin routing, you need a Google Sheet with your daily job data and the free InstaMaps add-on installed. Your sheet should have dedicated columns for the Job ID, the full street address, and the assigned technician. You can install InstaMaps from the Google Workspace Marketplace.
The add-on is free and includes 100 lookups per day, which increases to 1,000 lookups per day with a free email unlock. This volume is sufficient for sequencing several daily routes. You do not need to memorise formula syntax; a sidebar (Extensions > InstaMaps > Formulas) allows you to insert formulas automatically based on the columns you highlight.
Step 1: Assign technicians with =TERRITORY()
When dispatching multiple crews, the first challenge is dividing the work geographically. Passing random jobs to random technicians leads to excessive driving and high fuel costs. The =TERRITORY() formula solves this by assigning jobs to the closest technician based on straight-line distance.
If your unassigned job addresses are listed in cells A2:A50, and your technicians' starting postcodes are listed in F2:F6, you apply the formula to allocate the workload. The formula evaluates the coordinates of every job and compares them to your technicians' start points. It outputs the name or postcode of the closest technician for each address.
This ensures your crews receive jobs clustered in their specific operational zones, minimising cross-town travel before you even begin sequencing the actual stops.
Cell example: =TERRITORY(A2:A50, F2:F6)
What appears in the sheet: The closest technician's name or postcode next to every address.
Step 2: Sequence stops with =VISIT_ORDER()
Once you know which technician is handling which neighbourhood, you need to put their specific stops into a logical driving order. The =VISIT_ORDER() formula calculates the most efficient sequence for a list of addresses.
Assume you have filtered your sheet to show only the nine jobs assigned to Technician A in cells A10:A20, and their starting depot is in cell F2. The formula processes these coordinates to find the shortest driving path.
Instead of leaving the stops in random order, the formula returns an optimised array. The output in your sheet will display the exact sequence the technician should follow, typically numbering them from 1 to 9. This prevents technicians from zigzagging across their territory and provides a predictable schedule.
Cell example: =VISIT_ORDER(A10:A20, F2)
What appears in the sheet: A numbered list (1, 2, 3...) dictating the optimal driving sequence.
Step 3: Generate driving links with =ROUTE_LINK()
After sequencing the stops mathematically, your drivers need a way to navigate the route on their phones. The =ROUTE_LINK() formula uses Google Maps' official URL scheme to create a direct, clickable navigation link.
If your optimised list of addresses for Technician A is now vertically arranged in cells B10:B20, you simply pass that range into the formula. The cell will display a clickable hyperlink.
When the technician taps it on their mobile device, Google Maps opens automatically with turn-by-turn directions for all their stops pre-loaded. This eliminates the dangerous practice of drivers typing addresses into their phones while moving, and it removes the dispatcher's task of building routes manually in a separate web interface.
Cell example: =ROUTE_LINK(B10:B20)
What appears in the sheet: A clickable URL that opens Google Maps turn-by-turn navigation.
Worked example: A 47-stop service farm
Consider a practical scenario involving an HVAC business managing a 200-home farm, 5 crews, and 47 specific service calls on a Tuesday morning. The dispatcher opens their Google Sheet, ensures the 47 addresses are geocoded, and runs =TERRITORY(A2:A48, F2:F6) to divide the jobs evenly among the five crews based on their home postcodes.
Next, the dispatcher filters the sheet to view Technician 3's assigned nine stops. They run =VISIT_ORDER(A15:A24, F4) to sequence the stops from the depot. Finally, they run =ROUTE_LINK(B15:B24) to generate the driving link.
Because Google Maps officially caps routes at 11 stops, the dispatcher handles larger workloads by splitting the formula. If Technician 5 has 14 stops, the dispatcher creates two links: =ROUTE_LINK(B30:B41) and =ROUTE_LINK(B42:B44). To monitor the entire operation visually, the dispatcher uses =INSTAMAP(A2:A48), which returns a live hosted shareable map URL that updates when the sheet changes. You can adapt this exact workflow by reviewing our guide for field service routes.
Limits and honest alternatives
InstaMaps is a spreadsheet tool, not a dedicated logistics engine, and its constraints reflect that. The most rigid limitation is the 11-stop maximum for =ROUTE_LINK(), enforced by Google Maps. If you try to pass 15 addresses into the formula, the link will fail. You must manually split large routes into batches of 11 or fewer stops.
If you run an enterprise operation with 10,000 stops per day, complex time-window constraints, and vehicle capacity limits, this free add-on will frustrate you. Paid routing platforms that cost hundreds of pounds per month are genuinely better suited for high-density, multi-variable logistics.
However, for independent dispatchers and field service businesses managing fewer than 50 stops per vehicle, copying addresses into paid apps wastes labour. By using =VISIT_ORDER() and =ROUTE_LINK(), you keep your operations entirely within Google Sheets. You can explore ready-made configurations at get-instamaps.com/templates to get started immediately.
Map your Salesforce accounts in under 5 minutes — no admin setup.
Common Questions
You can include a maximum of 11 stops (10 waypoints plus the destination) in a single route. This is a strict limit set by Google Maps. If your technician has more than 11 stops, you must split the addresses and generate two separate route links.
You can use the =TERRITORY() formula to divide workloads automatically. Provide the formula with your list of job addresses and your drivers' starting postcodes. It evaluates the distance and assigns each address to the closest driver.
Yes, you can map multiple addresses for free using Google Sheets and the InstaMaps add-on. You can use =INSTAMAP() on your column of addresses to generate a live hosted shareable map URL. This map updates automatically whenever you change the data in your sheet.
It depends on your volume. If you have strict time windows, vehicle capacity limits, or thousands of stops per day, paid routing software is better. If you are dispatching a few crews to under 50 stops a day, Google Sheets is faster and cheaper.
InstaMaps uses Google's official mapping infrastructure to calculate distances and generate links. Functions like =VISIT_ORDER() analyse coordinates to sequence stops efficiently. The add-on provides 100 free lookups per day, expanding to 1,000 with a free email unlock.
Install InstaMaps for Google Sheets and sequence your field service routes automatically using simple formulas.
Install InstaMaps free