Text my driver when a passenger's flight ETA changes

By General Input

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.

Integrations

  • AeroDataBox
  • Google Sheets
  • Twilio

Type

Agentic Task

Categories

  • Operations
  • Personal Productivity

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).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads