Home
Install for SheetsInstall for Excel
Delivery and Logistics
Driver Scheduling in Google Sheets: Build and Text It
Sheet Gurus SMS Team
Sheet Gurus SMS Team
March 14, 2025
5 min
Driver Scheduling in Google Sheets: Build and Text It

Driver Scheduling in Google Sheets: Build and Text It

Driver scheduling in Google Sheets works best as three tabs: one master list of shifts, one tab that shows only tomorrow’s shifts, and a text message to each driver built from those rows. This guide builds that setup for a small delivery or service fleet and shows what it costs to message drivers every day.

The sheet holds the schedule. Sheet Gurus SMS, an add-on that sits in the Google Sheets sidebar, turns it into texts, and the same steps work in Excel. Sending is always started or scheduled by you from the sidebar. Nothing fires on its own when a row changes, which shapes the routine described below.

What should a driver schedule sheet contain?

A driver schedule sheet needs one row per shift, with the date, driver, phone number, route, start time and a confirmation status.

Put everything on a tab called

Shifts, with these headers in row 1:

ColumnHeaderExample
ADateThu, Oct 15
BFirstNameMarcus
CPhone5125550142
DRouteNorth loop
EStartTime6:30 AM
FVehicleVan 3
GStatusUnconfirmed

Keep the header names exactly as written, with no spaces. The add-on matches a variable like {FirstName} to the column headed FirstName in the first row of the tab you send from. Make column A a real date (Format, Number, Date) and column E a real time, so the formulas below can compare and format them.

A second tab, Drivers, can hold names, phones, license expiry dates and vehicle assignments. Use data validation on Shifts column B (a dropdown fed from Drivers) so a typo never creates a driver who does not exist. Conditional formatting helps too: highlight any date that appears twice for the same driver, or any row where Status is still Unconfirmed the day before.

a weekly driver rota in a spreadsheet beside a phone showing a shift reminder text

How do you show only tomorrow’s shifts?

You show tomorrow’s shifts by building a third tab, Tomorrow, with a FILTER formula that pulls matching rows from Shifts.

This matters because the add-on sends from the tab you have open, and it reads every row on it. A tab of tomorrow’s rows means each driver gets one text with exactly their own details.

Create the tab and type these headers in row 1 (the formula sits below them, because the add-on reads headers from the first row):

A1B1C1D1E1F1
FirstNamePhoneRouteStartTimeVehicleDate

Then paste this into A2. It is Google Sheets syntax:

=IFERROR(FILTER({Shifts!B2:B, Shifts!C2:C, Shifts!D2:D, Shifts!E2:E, Shifts!F2:F, Shifts!A2:A}, Shifts!A2:A=TODAY()+1), "")

The six columns in the braces line up with the six headers, and IFERROR keeps the tab empty on a day with no shifts instead of showing an error. Formatting does not carry over from Shifts, so format Tomorrow column D as time (h:mm AM/PM) and column F as a date with the pattern ddd, mmm d. A variable inserts what the cell shows, so a date formatted “Thu, Oct 15” arrives in the text as “Thu, Oct 15”.

If you only want to text some people, the same idea works with a second condition. A tab named Chase with Shifts!G2:G="Unconfirmed" added to the FILTER (multiply the conditions: (Shifts!A2:A=TODAY()+1)*(Shifts!G2:G="Unconfirmed")) lets you send a nudge to drivers who have not confirmed.

How do you text each driver their shift?

You text each driver by opening the Tomorrow tab, writing one message with variables in the sidebar, previewing it, and sending or scheduling it.

A message that fits one segment (160 characters) keeps costs predictable:

Hi {FirstName}, tomorrow {Date}: {Route}, start {StartTime}, {Vehicle}. Reply Y to confirm.

Before anything goes out, the sidebar previews each recipient’s message with their values filled in, so you can catch a blank vehicle or a wrong date. Variables have no fallback value: an empty cell leaves the variable blank, so a missing Vehicle reads “start 6:30 AM, . Reply”. Scan the Vehicle and Route columns for gaps first.

Replies land in the two-way inbox in the sidebar, linked to the driver’s row. You can search by phone number, tag conversations, filter to unread and assign a thread to a dispatcher. Delivery status for each message is reported after sending on every plan, which tells you whether a text to a driver actually landed.

To work in Excel instead, the Microsoft 365 add-in follows the same sidebar flow. Build the Tomorrow tab with Excel’s own FILTER function rather than pasting the Google Sheets formula.

Our guide to

sending text messages from Google Sheets covers the first-time setup, and the post on dynamic personalization with curly-brace variables goes deeper on variables.

Can you schedule the texts ahead of time?

Yes, on the Growth and Pro plans you can schedule a send for one future time, but each batch is scheduled separately and does not repeat.

Three limits shape the daily routine:

  • A scheduled send goes out at one time for the whole batch. Rows cannot have their own send times, so you cannot text the 6 AM driver earlier than the noon driver in one batch.
  • A schedule reads the tab when you create it. Rows added or changed afterwards are not in that batch, so schedule once the next day’s shifts are final.
  • There is no daily or weekly repeat. Every day’s reminder is a separate schedule, which takes a minute at the end of the working day.

A practical routine: at 4 PM, check the Tomorrow tab for gaps, open the sidebar and schedule the message for 6 PM. If a shift changes after that, cancel the scheduled send, update the row and schedule it again, so the batch reads the new details. Starter has no scheduling, so there you send manually at the time you want.

Triggers, meaning an automatic text when a row is added or a cell changes, are on the roadmap but not available. Plan around a daily manual step rather than expecting a sheet edit to send anything.

What does texting drivers cost?

Texting 8 drivers six days a week costs about $55 a month on Growth, and 30 drivers costs about $72, based on the published per-segment rates.

Plans are Starter at $9 a month with $0.04 per segment, Growth at $49 with $0.03, and Pro at $99 with $0.02. All figures below are monthly, assume one 160-character segment per message and 26 working days, and leave out replies. Replies are billed at the plan’s rate on Starter and Growth and are free on Pro.

VolumeMessages a monthStarter ($9 plan)Growth ($49 plan)Pro ($99 plan)
8 drivers, weekly rota only (4 sends)32$10.28$49.96$99.64
30 drivers, weekly rota only120$13.80$52.60$101.40
8 drivers, daily reminder208$17.32$55.24$103.16
30 drivers, daily reminder780$40.20$72.40$114.60

Each figure is the plan fee plus messages times the segment rate. Starter is cheapest at every volume here, but it cannot schedule. Growth is the lowest-priced plan that does. Pro pays off mainly for unlimited user seats, custom area codes and free inbound replies, rather than for raw message price at these volumes. Extra users cost $9 a month each on Starter and $5 on Growth.

Charges are usage-based and billed at the end of the billing period or when a usage threshold is reached, as explained in how often you get billed. The free trial runs 30 days with 50 credits, enough to test the whole Tomorrow routine with a few drivers.

Coverage is the US and Canada only, from toll-free numbers, with custom local area codes on Pro. Business texting in the US also involves carrier registration: toll-free numbers go through toll-free verification, and the local numbers on Pro use 10DLC registration.

How do you handle last-minute changes and emergencies?

For last-minute changes, edit the row in Shifts and send a one-off message from a filtered tab, because a change after scheduling is not picked up by the batch.

Add a Changed tab filtered on a Status value such as “Changed”, write a short message (“{FirstName}, your route moved to {Route}, start {StartTime}”) and send it immediately. For weather or road closures that affect everyone, our post on emergency text alerts from Google Sheets shows the same pattern at larger scale.

FAQ

Can Google Sheets text drivers by itself? No. Sheets has no built-in texting, so you need an add-on, a script or an automation tool. With Sheet Gurus SMS you send from the sidebar, not from a formula.

Does it text drivers automatically when I edit the schedule? No. Triggers are not available yet. Every send is started or scheduled from the sidebar.

Can each driver get a different send time? No. A scheduled batch goes out at one time for the whole tab.

Can I schedule a reminder that repeats every day? No. Schedules run once, so you schedule each day’s batch separately.

Does it work in Excel? Yes, through a Microsoft 365 add-in on Windows, macOS and Excel for the web.

Which plan do I need? Growth or Pro if you want scheduled sends. Starter works if you send by hand.


Share

Related Posts

Real-Time Delivery Updates: How Logistics Teams Can Use SMS & Google Sheets
May 07, 2025
4 min

Quick Links

HomeContact Us