Quick overview
Video Explanation: https://youtu.be/5TNw4aaHtHI?si=wLY3Gc_i9n3vKYNQ
This workflow runs daily at 6:30 AM to fetch AQI from Open-Meteo and AirNow, calculates a weighted average AQI, uses Google Gemini to generate a health-specific risk tier and advisory, deduplicates same-day alerts, and notifies via WhatsApp, Twilio and Slack based on severity.
How it works
- Runs every day at 6:30 AM and sets the target city name, coordinates, and AirNow RSS feed URL.
- Requests current air-quality readings from the Open-Meteo Air Quality API and normalizes AQI and pollutant values.
- Fetches the AirNow RSS feed and parses it to extract AQI and the reported pollutant.
- Reconciles Open-Meteo and AirNow by computing a weighted-average final AQI, deriving an AQI bucket, and selecting a dominant pollutant.
- Combines the AQI results with the user’s health profile and sends them to Google Gemini to return a structured risk tier and actionable advisory text.
- Skips sending notifications if the same city has already been alerted for the same risk tier on the same day.
- Routes non-duplicate alerts by risk tier and sends WhatsApp for moderate alerts, and WhatsApp + Twilio SMS + Slack for severe and hazardous alerts.
Setup
- Add Google Gemini (Google PaLM) API credentials for the LangChain agent and select the desired Gemini chat model.
- Add WhatsApp Business API credentials and set a valid Phone Number ID and recipient number(s) for the WhatsApp alert nodes.
- Add Twilio credentials and replace the placeholder "YOUR_TWILIO_NUMBER" with a verified Twilio sending number.
- Add Slack credentials and ensure the target channels (or channel names used in the workflow data) exist and are accessible.
- Update the city configuration (latitude/longitude and AirNow RSS URL) and the user health profile fields (age, conditions, phone numbers, and Slack channel names) to match your environment.