Wanted to share this one because the main skill I practiced here wasn't the workflow — it was reading unfamiliar API documentation from scratch and building the HTTP Request manually without any guidance.
The architecture:
Schedule Trigger → HTTP Request (Open-Meteo API) → JavaScript Code Node → Edit Fields → AI Agent → Switch → Google Sheets + Slack
What the JavaScript does:
Open-Meteo returns 168 hours of data by default. The Code node finds the current hour's index using findIndex on the time array, extracts temperature, weathercode, and precipitation probability for that hour only, maps the WMO weathercode to a human-readable label using a lookup object, then determines Clear/Caution/Severe using specific code arrays.
Why code arrays instead of just precipitation thresholds:
Weathercode 65 is Heavy Rain regardless of precipitation probability. Treating them separately gives more precise routing than a single number threshold ever could.
What the AI Agent adds:
The Structured Output Parser forces a status + reason field. The reason is what makes it genuinely useful — the Slack message tells the team why it's Caution, not just that it is. Without the reason field, you could have just used the Switch node alone.
The API insight:
Open-Meteo is completely free with no API key required. If you've never practiced reading API documentation independently, this is the best one to start with — clean docs, predictable JSON response, no auth headaches.
Happy to share the full JavaScript WMO code mapping if anyone wants it. 👇