Hourly airport delay dashboard with Slack alerts

Log hourly delay snapshots for your hub airport to Google Sheets and ping Slack the moment delays or cancellations spike.

Deterministic Code
AeroDataBoxGoogle SheetsSlackOperationsNotifications & AlertsResearch & MonitoringData Sync
PromptCreate

Build me a deterministic, code-shaped workflow that runs every hour on a cron schedule and logs an airport delay dashboard for a configured hub airport, with Slack alerts when conditions get severe. No reasoning steps. Every node is fixed.

Configurable inputs (with defaults so it works out of the box):

- Airport IATA code (default JFK)

- Google Sheets spreadsheet ID and sheet/tab name to append rows to

- Slack channel ID for alerts

- Delay index alert threshold (default 7, on AeroDataBox's 0-10 scale)

- Cancellation alert threshold (default more than 5 cancellations in the upcoming three-hour window)

Trigger: cron, every hour at minute 0.

Step 1. Call AeroDataBox "Get Airport Delay Snapshot" (operation id 95b1fdc5-eca2-4a59-8bdb-e4da90f0bfe1) for the configured airport at the current UTC moment. From the response capture: delay index, percent on-time, and average delay in minutes.

Step 2. Call AeroDataBox "Get Airport Flights (Relative)" (operation id 9396cb66-6922-40af-af00-4330b3d58753) for the same airport with offsetMinutes=0 and durationMinutes=180 to pull the next three hours of departures and arrivals. From the response compute: total departures in the window, total arrivals in the window, and a count of flights whose status indicates delayed or cancelled.

Step 3. Format one row with these columns in this order: timestamp (ISO 8601 UTC), airport code, delay index, percent on-time, average delay minutes, total departures in window, total arrivals in window, count of flights currently flagged delayed or cancelled.

Step 4. Call Google Sheets "Append Values" (operation id b8bb536a-33b9-455a-a00b-a652450a6431) on the configured spreadsheet and sheet name to append that single row. Use valueInputOption USER_ENTERED so timestamps and numbers render natively.

Step 5. Threshold check (pure boolean, no LLM). Trigger an alert if delay index is greater than or equal to the configured threshold OR the cancellation count exceeds the configured cancellation threshold. Otherwise stop.

Step 6. If the alert fires, call Slack "Send a Message" (operation id 4c21e1ee-4d54-4413-a4f2-80a80dff4c99) to post a structured message to the configured channel. Include: airport code, current delay index out of 10, percent on-time, average delay minutes, total flights in the next three hours, cancellation count, the row's timestamp, and a permalink to the Google Sheet. Use Slack mrkdwn formatting (single asterisks for bold, angle-bracket links).

Implementation notes: keep every step explicit and deterministic, no agent reasoning. The threshold check is a plain comparison. If either AeroDataBox call returns an error (most often HTTP 429 from rate limits, or 451 for blocked regions), log it and skip the append/alert steps for that run rather than retrying inline. The sheet headers should be created on first install if the sheet is empty.

What does this prompt do?

  • Pulls a fresh delay snapshot for your chosen airport every hour, plus the next three hours of departures and arrivals.
  • Appends one tidy row to a Google Sheet with the time, delay index, on-time percentage, average delay minutes, flight counts in the window, and how many flights are currently delayed or cancelled.
  • Posts a structured alert to a Slack operations channel only when the delay index or cancellation count crosses your threshold, with a link back to the sheet.
  • Runs hands-off on a cron schedule so your team has a live record of hub conditions without anyone refreshing a FIDS board.

What do I need to use this?

  • An AeroDataBox account on RapidAPI so we can read delay snapshots and upcoming flights.
  • A Google account with edit access to the spreadsheet you want to log into.
  • A Slack workspace and a channel you want alerts posted to.
  • The airport code you want to monitor (default JFK) and the delay index threshold that should trigger an alert (default 7 out of 10).

How can I customize it?

  • Swap the airport code to any IATA hub you care about, or run separate copies for each hub your team covers.
  • Tune the severity threshold and cancellation count that triggers a Slack alert so you only get pinged when it actually matters.
  • Change the cadence from hourly to every 30 minutes during peak operations, or stretch it to every two hours on quiet days.
  • Point the alert at a different Slack channel, or fan out to multiple channels for different on-call groups.

FAQs

Which airport does this monitor?
Whichever one you configure. The default is JFK, but you can set it to any major airport using its three-letter IATA code (LAX, LHR, ORD, etc.). If you cover multiple hubs, run one copy per airport.
How often does it run?
Once an hour by default. You can dial that up to every 30 minutes during heavy operations or stretch it out on quieter days. Each run appends one row to the sheet.
When does it actually send a Slack message?
Only when conditions are bad enough to care about. By default that means the delay index crosses 7 out of 10 or more than 5 flights are cancelled in the upcoming three-hour window. Both numbers are yours to tune.
Will I get spammed during a long delay event?
You will get one alert per hourly run while conditions stay above threshold. If that is too noisy, raise the threshold or change the cadence. Every row still lands in the sheet either way, so you keep the full history.
Can I send the alert somewhere other than Slack?
Yes. The most common swap is sending to a different Slack channel or adding email as a second alert path. You can also route different severity levels to different channels.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task

Stop refreshing the FIDS board for your hub.

Connect AeroDataBox, Google Sheets, and Slack once. Geni logs delay conditions every hour and pings your ops channel when things get rough.