Text my driver when a passenger's flight ETA changes
Watch today's pickup roster in Google Sheets, track each flight's live status, and SMS the assigned driver the moment the ETA actually shifts.
Build an agent workflow that keeps my drivers ahead of flight ETA changes for today's airport pickups, so I (the operator or EA) am not the human relay between the airline app and the driver.
Trigger: cron, every 30 minutes between 5:00am and 11:00pm local time.
Each run, the agent should:
1) Read today's pickup roster from a Google Sheet using Google Sheets Get Values. I'll provide the spreadsheet ID and the sheet/tab range at setup. The header row has these columns: passenger name, flight number (e.g. BA286), scheduled landing time (local), assigned driver phone (E.164), last notified ETA, last notified at. A separate cell at the top of the sheet (for example B1) holds a dispatcher phone in E.164 for escalations.
2) For each row whose scheduled landing is sometime today, call AeroDataBox Get Flight Status by flight number to get the current status and the latest estimated/actual arrival time. Use the destination-airport local time for the new ETA.
3) Decide whether this is a meaningful change. Send a driver text only when at least one of these is true: the new ETA differs from the row's last notified ETA by 15 minutes or more; the status has flipped to Delayed, Diverted, Canceled, or Landed since the last notification. Skip small 5-minute jitter. Also skip pre-takeoff schedule shifts where the flight is still hours from landing and the driver hasn't left yet (rough rule: more than 2 hours until scheduled landing and the flight hasn't taken off).
4) If the change qualifies for the driver, send a Twilio SMS (Send a Message) to the row's driver phone. Keep it tight, ideally under 160 characters. Include passenger first name, the new ETA in local time, the arrival terminal, and the baggage carousel if AeroDataBox returns one. Example: "Pickup update: Sara now lands 7:42pm, Terminal 5, bag carousel 9."
5) If the status is Diverted or Canceled, do not text the driver. Instead send a Twilio SMS to the dispatcher phone at the top of the sheet with the passenger name, flight number, what happened, and the new arrival airport if diverted. The dispatcher will handle the rebook.
6) After any successful send, write the new ETA and the current timestamp back to that row using Google Sheets Update Values, so the same change is never texted twice and the next run compares against the most recently notified value.
Other rules: ignore rows with a missing or malformed flight number or driver phone and log a one-line warning. If AeroDataBox returns 404 (unknown flight) or 429 (rate limit), skip that row this run and try again next cycle. Never send more than one driver text per row per run. Phone numbers in the sheet are already in E.164 format.
Integrations: AeroDataBox (Get Flight Status), Google Sheets (Get Values, Update Values), Twilio (Send a Message).
Additional information
What does this prompt do?
- Reads today's pickup roster from a Google Sheet with passenger, flight number, scheduled landing, and the assigned driver's phone.
- Checks each flight's live status every 30 minutes from early morning through late evening, so the driver hears about changes before the passenger does.
- Sends a short text only when something real happens: a 15-minute or larger ETA shift, a delay, a diversion, a cancellation, or a landing.
- Writes the new ETA and timestamp back to the sheet so the same change is never texted twice.
- Escalates cancellations and diversions to the dispatcher at the top of the sheet instead of pinging the driver.
What do I need to use this?
- A Google Sheet for today's pickups with columns for passenger name, flight number, scheduled landing time, driver phone, last notified ETA, and a dispatcher phone in a known cell at the top.
- A Google account that can read and write that sheet.
- A Twilio account with a sending phone number and your Account SID and Auth Token.
- An AeroDataBox account (RapidAPI) for live flight status lookups.
How can I customize it?
- Change the schedule window, for example 4am to 1am for red-eye coverage, or tighten the check interval during peak arrival hours.
- Adjust what counts as a meaningful change, like raising the threshold from 15 to 20 minutes or always texting on any delay status.
- Tune the SMS copy, for example adding the pickup curb, the car number, or a polite sign-off from the dispatcher.
- Swap who gets escalated for cancellations and diversions, or add a second dispatcher cc for high-priority passengers.
Frequently asked questions
Will my driver get spammed every 30 minutes?
What happens if a flight is canceled or diverted?
Do I need to clear the sheet every day?
Can I use this if my drivers are on WhatsApp instead of SMS?
Does this cost anything to run?
Related templates
Stop being the human relay between the airline app and your driver.
Connect Google Sheets, AeroDataBox, and Twilio once, and Geni quietly watches today's pickups and texts the right person when the ETA actually moves.