Quick Overview
This workflow runs daily to search flight prices via the Apify Google Flights actor, logs each check to Google Sheets, and sends a Telegram alert when the lowest price drops below your threshold and is meaningfully lower than the last notified price.
How it works
- Runs every day at 7am and loads the flight search inputs (route, dates, passengers, cabin class, currency, and alert thresholds).
- Calls the Apify Google Flights API to fetch matching flight offers for the configured search.
- Parses the returned offers to find the lowest price, extract key flight details, and build a Google Flights booking link.
- If at least one offer is found and the lowest price is at or below the configured price threshold, it reads the previous notification data from Google Sheets.
- Compares the current lowest price to the last notified price and only proceeds if the price is lower by at least the configured re-alert buffer.
- Generates an encoded Google Flights URL, sends a detailed Telegram message with the best deal and link, and upserts the latest notified price and timestamps into Google Sheets.
Setup
- Create an Apify account, subscribe to the Google Flights actor used by this template, and add an HTTP Header Auth credential in n8n with your Apify API token.
- Add a Google Sheets Service Account credential, share the target spreadsheet with the service account email, and update the spreadsheet ID and sheet name if you don’t use the included “Price Log / Sheet1” setup.
- Create a Telegram bot, add a Telegram API credential in n8n, and set the target chat ID in the Telegram message step.
- Update the search parameters (origin/destination IATA codes, dates, passengers, cabin class, currency) plus
priceThreshold and reAlertBufferAmount to match your trip and alert preferences.
- Ensure your Google Sheet has columns matching the workflow’s upsert fields (for example RouteKey, LastNotifiedPrice, LastNotifiedAt, LastCheckedAt, and status) so the alert-suppression logic works correctly.