BlogRoute Planning

How to Add a Stop to a Route Already Started

26 July 2026·8 min read

To add a stop to a route already started, you do not need to restart or use a fake address. With InstaMaps, a driver enters a new address into a Google Sheet from their phone, and dispatch re-sequences the remaining stops using =VISIT_ORDER. You then push the updated path using =ROUTE_LINK.

This workflow is for delivery drivers leaving routing apps like Upper or Zeo who need mid-run flexibility. The end state is a system where dispatchers and drivers share one live sheet, adapting to same-day rerouting without creating dummy locations.

TL;DR
  • You can add a stop to a route mid-run without entering fake addresses or restarting your route.
  • InstaMaps lets drivers append stops from the field via a live =LOGBOOK_LINK() generated from the spreadsheet.
  • Dispatchers use =VISIT_ORDER() to instantly re-sequence the entire route based on the newly added location.
  • Unlike dedicated routing apps that lock you into a fixed path, Google Sheets updates dynamically as new rows are added.
  • =INSTAMAP() generates a live hosted map URL that automatically reflects these mid-route changes for both dispatcher and driver.
  • Free tier handles up to 100 lookups/day, or 1,000/day with a free email unlock, which covers standard daily adjustments.
No install, no signup
Plan a 100-stop route right now
Google Maps caps you at 10 stops. Paste up to 100 here — best visiting order plus ONE link that loads the whole route. Free.
Try it now →

How do I add a stop to a route already started?

Instead of forcing a fake address into rigid routing software to trick it into rerouting, you simply append a new row to your Google Sheet from the field. InstaMaps recalculates the sequence automatically. The driver opens their =LOGBOOK_LINK() on their mobile device, types the new address into the next empty row, and the sheet updates the =VISIT_ORDER() and =ROUTE_LINK() in seconds.

Because the routing logic lives entirely inside the spreadsheet, you bypass the locked-in exported routes typical of standard routing apps. The dispatcher sees the update instantly on the =INSTAMAP() dashboard because the live hosted map URL reads the newly added row and plots the point. You do not need to cancel the run, restart the optimization, or build a fake waypoint. You just type the new location and let the formulas calculate the adjusted sequence.

How do I add a new stop to an active Google Sheets route?

To add a stop mid-run, the driver and dispatcher use a connected spreadsheet workflow. Here are the exact steps to update an active route without entering fake addresses:

The dispatcher sets up the base sheet with addresses in A2:A50 and assigned sequence numbers in C2:C50. To generate the required links without syntax errors, the dispatcher clicks Extensions > InstaMaps > Enable formulas to open the sidebar. Using the sidebar's Build-the-workflow button, they insert =LOGBOOK_LINK() in cell F2 and =ROUTE_LINK(A2:A50, C2:C50) in cell G2.

The driver is on the road and receives a last-minute request. They tap the =LOGBOOK_LINK() URL on their phone, which opens a mobile-friendly web view of the sheet.

In the logbook view, the driver types the new address (e.g., 123 New Stop Rd) into the next available empty cell, A51.

Back on the dispatcher’s screen, A51 is instantly populated. The =INSTAMAP() formula in cell H2 automatically plots the new point on the live map. The dispatcher reviews the map and adjusts the =VISIT_ORDER() to slot the new stop logically into the drive path, changing C51 from 12 to 4 if it is closer to the driver's current location.

The =ROUTE_LINK() in cell G2 expands its range to A2:A51, generating a fresh Google Maps URL. Because =ROUTE_LINK() uses Google Maps' official URL scheme, it allows a maximum of 11 stops. If the active route exceeds 11 stops, the dispatcher must split the ranges (e.g., =ROUTE_LINK(A2:A12, C2:C12) for the immediate stops and =ROUTE_LINK(A13:A23, C13:C23) for the next segment). The driver refreshes their link to view the updated route.

The free add-on handles 100 lookups per day (1,000/day with a free email unlock), which is plenty of capacity for daily route adjustments. You can find pre-built route adjustment templates at get-instamaps.com/templates.

Worked Example: How do you reroute a 47-stop delivery run?

Consider a delivery operation managing a 200-home farm with 5 active crews. Crew 3 is currently running a dense, 47-stop route. Their dispatch sheet tracks addresses in A2:A48 and previous sequence order in C2:C48.

While the crew is physically on stop 15, dispatch receives an urgent add-on for 489 Oak Street. The driver does not need to abandon their route, return to the depot, or log into a desktop routing app.

The driver opens their mobile =LOGBOOK_LINK() and types 489 Oak Street directly into cell A49. The dispatcher's dashboard immediately reflects the new entry. To find the most efficient sequence for the remaining 33 stops based on the new location, the dispatcher runs =VISIT_ORDER(A2:A49, C2:C49) in cell D2.

This custom function analyzes the coordinates and outputs the optimal numerical sequence for all 48 stops based on actual driving distance. 489 Oak Street is assigned sequence number 18 by the formula, placing it logically between stop 17 and the original stop 18. The dispatcher checks =TRAVEL_TIME(A48, A49) to verify the detour adds less than 6 minutes to the drive.

The dispatcher then updates the driving directions link to =ROUTE_LINK(A2:A49, D2:D49). Because =ROUTE_LINK() is capped at 11 stops by Google Maps' official URL scheme, the dispatcher splits the link generation into batches to ensure the driver gets accurate turn-by-turn directions.

The driver refreshes their mobile link, taps the updated URL, and the live hosted shareable map generated by =INSTAMAP(A2:A49) instantly plots the new point. The route is adjusted in seconds without any fake data entries or manual recalculations.

Can you add stops mid-route in Upper or Zeo?

Dedicated routing apps like Upper and Zeo are heavily optimized for static, pre-planned routes. This rigidity frequently frustrates drivers. Common reviewer complaints state: "I wish I could add stops once I've already started a route" and "I often have to add a fake address if I need to reroute."

In Upper or Zeo, once a route is exported or activated, the sequence is locked. If a driver gets a last-minute add-on, they cannot simply insert a stop into the optimized path. To force the software to accept the new stop, drivers resort to workarounds. They enter a fake address or a nearby landmark to trick the algorithm, or they manually manage the detour outside the app, breaking their tracked metrics.

InstaMaps solves this because the database and the routing engine are the same flexible grid. You never lock or export a route to a static mobile app interface. You are just manipulating rows in Google Sheets.

If a driver is on stop 15 of 47 and needs to add a stop, they add row 49. The =VISIT_ORDER() recalculates the math. The =ROUTE_LINK() generates the new Google Maps path. There is no need to force a fake address into the system just to make the map render the detour. You can build these dynamic workflows from scratch, or install pre-built templates from get-instamaps.com/templates.

Who is this for? This workflow is for delivery drivers, utility inspectors, and field service technicians who operate in dynamic environments where daily plans constantly change. If your routes are 100% fixed weeks in advance, a dedicated app is fine. If you need to insert stops mid-run without breaking your data tracking, a spreadsheet powered by InstaMaps is the superior tool. The free add-on handles 100 lookups/day (1,000/day with a free email unlock), providing enough capacity for most small fleet mid-run adjustments.

How does =VISIT_ORDER() re-sequence the map?

When a driver adds a stop to a route already started via their =LOGBOOK_LINK() crew link, the new address drops into the next empty row of your Google Sheet. The =VISIT_ORDER() formula then recalculates the optimal sequence for the remaining unvisited stops. If a driver is currently at row 12, =VISIT_ORDER() identifies the locations in rows 13 through 20, factors in the new row 21, and renumbers the sequence to produce the shortest driving path. You do not need to manually drag rows or sort columns; the formula handles the math dynamically.

The re-sequencing immediately updates the map interface. The =INSTAMAP() formula sits in a single cell (for example, =INSTAMAP(A2:E50, "Address, Visit_Order, Visit_Status")) and generates a live, hosted shareable map URL. Because =VISIT_ORDER() outputs the new sequence numbers directly into the map's data range, the live map URL instantly reflects the new pin and the updated routing line. If the driver is looking at the map on their phone, the line automatically redraws to the new next stop. This prevents the need to pull over and hand-sort a spreadsheet, allowing the driver to follow the auto-updated sequence directly from the generated map.

If two stops have the exact same sequence output due to identical coordinates, the formula returns a #VALUE! error. You can resolve this by appending a unit number or specific identifier using =CLEAN_ADDRESS() to ensure Google Sheets processes them as distinct points.

What are the limits of modifying active routes in Google Sheets?

When you add a stop to a route already started, you will run into technical boundaries based on which formula you use to push turn-by-turn directions to the driver. The =ROUTE_LINK() formula relies on Google Maps' official URL scheme, which has a hard limit of 11 stops. If a driver has 12 stops remaining in the sheet, =ROUTE_LINK(A13:A24) will fail to generate a valid navigation link because Google Maps truncates URLs exceeding that threshold.

If your routes exceed 11 stops, you should rely on =INSTAMAP() instead. The hosted map allows for unlimited stops and provides the driver with a live visual of the entire 50-stop sequence. They can use =LOGBOOK_LINK() to mark =VISIT_STATUS() as "Complete," and view the next destination on the live map without hitting Google Maps' native navigation cap.

You also face API lookup limits when geocoding new mid-run addresses. The free tier provides 100 lookups per day. If drivers are adding 15 new stops per day across a 5-crew fleet, you will exhaust your daily lookups by noon. You can increase this to 1,000 lookups per day with a free email unlock, but if you operate a 200-stop delivery farm that requires rapid mid-run geocoding, Google Sheets will eventually bottleneck your workflow. If you require live traffic-based rerouting for massive routes simultaneously, dedicated routing software is the honest alternative.

Who is this Google Sheets routing workflow for?

This workflow is for independent contractors, local service businesses, and small delivery fleets managing up to 50 stops per driver per day. If you currently plan routes in the morning but need the flexibility to accept emergency service calls or last-minute deliveries without returning to a desktop computer, this addresses that need directly.

It is specifically built for users who cannot justify the $50 to $150 monthly per-vehicle cost of enterprise dispatch software. If your dispatcher operates out of Google Sheets and your drivers need a simple link sent to their phones to see a live map and update their progress, this setup bridges the gap. However, if you manage a nationwide logistics network requiring proof-of-delivery photo capture, barcode scanning, or automated compliance logging, this add-on will not meet your operational requirements.

Try it free

Map your Salesforce accounts in under 5 minutes — no admin setup.

Install Free →

Common Questions

Can I add a stop to my route after I have already started driving?

Yes. The driver opens the Google Sheet on their phone, types the new address in the next empty row (for example, A48), and marks completed stops as Done. Dispatch runs =VISIT_ORDER(A2:A50) to re-sequence the remaining stops based on the driver's current location. You never have to cancel the run to insert a new destination.

How do I avoid using a fake address when I need to reroute?

You avoid fake addresses by separating your sequence logic from your turn-by-turn navigation. Instead of tricking a standard GPS app by entering a false location to force a detour, you log the actual new destination in the sheet. The =VISIT_ORDER() formula calculates the most efficient path for all remaining points, so you just follow the new order.

How many stops can I add to a Google Sheets route before it breaks?

The =INSTAMAP() formula plots hundreds of points without crashing, but =ROUTE_LINK() relies on Google Maps' official URL scheme, which has a hard limit of 11 stops. If your run exceeds 10 stops plus the final destination, you must break the route into separate links or use =WAZE_LINK() to navigate segment by segment.

Does =INSTAMAP() update automatically when a driver adds a stop?

Yes, the hosted map updates when the sheet changes. Because the formula sits in the sheet as =INSTAMAP(A2:A50), any new address typed into that range appears on the shared map URL automatically. The driver or dispatcher simply refreshes the webpage to see the new pin drop on the map.

How much does it cost to use Google Sheets for dynamic routing?

The InstaMaps add-on is free. The free tier includes 100 lookups per day, which increases to 1,000 lookups per day if you register with a free email. Running =VISIT_ORDER() or =INSTAMAP() consumes one lookup per row, so processing a 47-stop route takes roughly 47 daily credits.

Can a driver update the Google Sheet from their phone?

Yes, drivers can edit the sheet directly from a mobile browser. Alternatively, dispatchers can generate a =LOGBOOK_LINK() for the crew, allowing the driver to tap a link to mark a stop as complete or add a new address without viewing the rest of the spreadsheet data.

Build routes that adapt mid-run

Stop deleting fake addresses or restarting your route. Install InstaMaps to sequence live stops and generate shareable maps directly in Google Sheets.

Install InstaMaps free