Flight day Slack alerts from your Google Calendar
On travel days, get a Slack message whenever your gate, time, or status changes, so you can stop refreshing the airline app.
Build me an agent that watches my upcoming flights from my Google Calendar and keeps me posted in Slack on the day of travel. I want to stop refreshing the airline app and only hear from the agent when something actually matters.
Trigger: cron, every 30 minutes between 5am and midnight in my local timezone. Each run is a single agent turn that decides whether there's anything worth telling me.
On every run, do the following:
1. Call Google Calendar List Events on my primary calendar for the next 24 hours. Scan each event's title and description for airline flight numbers (patterns like 'BA286', 'UA1342', 'LH 401', case-insensitive). Skip events that don't contain one. If none of my upcoming events look like a flight, exit quietly.
2. For each flight number found, call AeroDataBox Get Flight Status to pull the live record: scheduled vs estimated departure and arrival times, current status (scheduled, boarding, departed, landed, delayed, cancelled, diverted), gate, terminal, aircraft, and any delay in minutes.
3. Also call AeroDataBox Get Airport Delay Snapshot for the departure airport so you can gauge ground-side disruption (current delay index, average delay, cancellation rate). Use this to color the recommendation, not to fire its own alert.
4. Decide whether to message me. Compare the current snapshot to the previous run's snapshot for the same flight (persist a small state record per flight number, keyed by date plus flight number, so consecutive runs can diff). Message me only when something has materially changed since the last check. 'Material' means any of: a new delay over 15 minutes versus the last snapshot, a gate change, a terminal change, a status change (for example scheduled to boarding, or scheduled to cancelled), or 'boarding now'. The agent should be the one judging materiality because the noise floor depends on how close to departure I am: a 10-minute slip 8 hours out is nothing, the same slip 90 minutes out matters.
5. If there's a material change, send me a Slack DM via Slack Bot Send a Message (open a DM to my user first if needed). The message should be a short, scannable summary: flight number and route, what changed, the current scheduled vs estimated time, gate and terminal, and a one-line recommendation like 'leave for the airport now', 'you have an extra hour, no rush', or 'gate changed to B12, walk over before boarding'. Use Slack mrkdwn for formatting and bold the change.
6. If nothing material changed, do not send anything. Skip silent updates so I don't get spammed. The whole point is that the inbox stays quiet unless I need to act.
Edge cases to handle: a flight gets cancelled (always notify, regardless of other deltas); a flight is diverted (always notify); the flight number can't be resolved by AeroDataBox (notify me once so I can fix the calendar entry, then stop trying for that event); the calendar event is for a flight more than 24 hours out (ignore for now, it'll come into range later); the same flight is in my calendar on multiple events (dedupe by flight number + date).
Keep the per-run logic tight: the trigger fires often, so the common case is 'no flights today' or 'flight is on time, nothing to report' and the agent should exit fast without sending anything.
Additional information
What does this prompt do?
- Spots flight numbers in your Google Calendar events and tracks them automatically on the day of departure.
- Checks live status throughout the day and only messages you when something actually changes, like a delay, gate change, or boarding call.
- Pulls departure airport conditions so you know whether system-wide delays might bleed into your trip.
- Sends each update as a personal Slack DM with a quick recommendation, like 'leave for the airport now' or 'you have an extra hour'.
What do I need to use this?
- A Google account with the calendar your flights live on.
- A Slack workspace where the agent can send you direct messages.
- An AeroDataBox account on RapidAPI for live flight and airport data (the free tier works to start).
- Flight numbers in your calendar event titles or descriptions, like 'BA286' or 'UA1342'.
How can I customize it?
- Change the lookahead window (defaults to flights in the next 24 hours).
- Tighten or loosen what counts as a material change, like only ping for delays over 30 minutes instead of 15.
- Send updates to a shared Slack channel instead of a DM if you want a travel buddy or assistant looped in.
- Adjust the active hours so the agent stays quiet overnight or runs only on the day of departure.
Frequently asked questions
What if my flight isn't in my calendar?
Will it spam me every 30 minutes?
Does it work for international flights?
What if I have two flights in one day?
How does it find the flight number?
Spend less time refreshing the airline app.
Connect Google Calendar, Slack, and AeroDataBox once, and Geni quietly watches your travel days for you.