Skip to main content

Monitor multi-city courier weather risk with Open-Meteo, GPT-4o, Gemini and Slack

Workflow preview

Workflow preview
100%
Monitor multi-city courier weather risk with Open-Meteo, GPT-4o, Gemini and Slack preview
Open on n8n.io

1. Workflow Overview

Quick overview This workflow checks 48 hour forecasts from Open Meteo for multiple cities on a 6 hour schedule or via an on demand n8n form, scores conditions against courier impact thresholds, use...

Best for

  • DevOps automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.lmchatopenai, @n8n/n8n-nodes-langchain.chainllm, @n8n/n8n-nodes-langchain.lmchatgooglegemini, n8n-nodes-base.slack, n8n-nodes-base.code, n8n-nodes-base.form, n8n-nodes-base.switch, n8n-nodes-base.httprequest

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Mychel Garzon.

Original n8n.io source

1.1 Workflow description

Title
Monitor multi-city courier weather risk with Open-Meteo, GPT-4o, Gemini and Slack
Workflow name
Monitor multi-city courier weather risk with Open-Meteo, GPT-4o, Gemini and Slack

Quick overview

This workflow checks 48-hour forecasts from Open-Meteo for multiple cities on a 6-hour schedule or via an on-demand n8n form, scores conditions against courier-impact thresholds, uses OpenAI (with Google Gemini fallback) to draft Slack-ready alerts, and posts operational updates to a Slack channel.

How it works

  1. Runs every 6 hours on a schedule or starts from an Operations Manager on-demand n8n form submission.
  2. Builds a city configuration (all cities for scheduled runs, or a single selected city for on-demand runs) and constructs the Open-Meteo forecast API request.
  3. Fetches a 48-hour hourly forecast from Open-Meteo and continues even if the request fails.
  4. Scores each city’s forecast against rain, wind, snow, and heat thresholds across multiple time windows, applies 18-hour deduplication for scheduled runs, and flags any city feed failures.
  5. Sends the alert candidates to OpenAI to generate a three-sentence, operations-focused message per city (using Google Gemini as the model fallback if configured).
  6. Formats each alert as a Slack Block Kit message and posts it to the #ops-weather-alerts channel, and separately posts a Slack error notice if one or more city forecasts could not be fetched.

Setup

  1. Add an OpenAI API credential (used to write the Slack alert messages).
  2. Add a Google Gemini (PaLM) API credential if you want the configured fallback model to be available.
  3. Add a Slack OAuth2 credential and set or create the target channel (ops-weather-alerts / #ops-weather-alerts) in your Slack workspace.
  4. For on-demand checks, share the n8n form URL with your team and update the city dropdown options and the city configuration code if you add or rename cities.
  5. Review and adjust the per-city weather thresholds in the city configuration to match your courier operations risk tolerance.

Requirements

  • OpenAI API key (GPT-4o / gpt-4o-mini)
  • Slack OAuth2 credential with chat:write scope
  • Google Gemini API key (optional, for AI fallback)

Customization

  • Add or remove cities by editing the CITIES array in the City config node, no other nodes need to change.
  • Adjust URGENT/HEADS_UP score thresholds in the Score + dedup node to raise or lower sensitivity per city.
  • Change the delivery peak windows (default 11:00-14:00 and 17:00-22:00) in the same node to match your market hours.
  • Swap the Slack channel name in both Slack nodes to route alerts to a different channel.

Additional info

This workflow was built and tested on a self-hosted n8n instance (Oracle Cloud A1 Flex, Ubuntu 24.04) and is fully compatible with n8n Cloud.

Weather data is sourced exclusively from Open-Meteo (open-meteo.com), an open-source weather API requiring no authentication. Forecast accuracy follows Open-Meteo's standard model ensemble — verify critical alerts against local meteorological services before operational decisions.

Deduplication uses n8n workflow static data (global scope). Clearing static data manually or migrating the workflow to a new instance will reset the deduplication state, causing the next scheduled run to re-evaluate all cities as if no prior alerts have been sent.

The GPT-4o prompt includes city-relative climate context so the model understands that an alert in Nairobi means sustained flooding rain, while an alert in Helsinki means genuinely exceptional conditions beyond the Nordic baseline. This prevents generic alert copy across climatically different markets.

The form trigger is designed for Operations Managers with no technical background — no n8n access required. Share the webhook URL directly and they can force an immediate check from any browser.

Peak delivery windows (11:00-14:00 and 17:00-22:00 local time) are used to escalate severity scoring during high-order-volume periods. Adjust these in the Score + dedup node to match your market's actual peak hours.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - OpenAI Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.3

Block 2 - OpenAi — write alerts

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.4

Block 3 - Google Gemini Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1.1

Block 4 - Slack — Post Error

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 5 - Format Error Msg

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 6 - Form

Type / Role
n8n-nodes-base.form - form
Config choices
Version 2.5

Block 7 - Slack — Post Alerts

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 8 - Format Alerts & Fallback

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 9 - Route (Alerts / Errors)

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3

Block 10 - Score + dedup

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 11 - Fetch Open-Meteo

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 12 - Build form city config

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 13 - OM on-demand form

Type / Role
n8n-nodes-base.formTrigger - formTrigger
Config choices
Version 2.2

Block 14 - City config

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 15 - Every 6 hours

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 16 - Note — Claude1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Note — Claude

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Note — Merge1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Note — Merge

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Note — Schedule1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Note — Schedule

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Note — Claude2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Monitor multi-city courier weather risk with Open-Meteo, GPT-4o, Gemini and Slack
Complexity advanced
Nodes 23
Categories DevOps, AI Summarization
Author Mychel Garzon
Published 21 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16535/16535.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Monitor multi-city courier weather risk with Open-Meteo, GPT-4o, Gemini and Slack do?

Quick overview This workflow checks 48 hour forecasts from Open Meteo for multiple cities on a 6 hour schedule or via an on demand n8n form, scores conditions against courier impact thresholds, use...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your DevOps, AI Summarization use case.