Quick overview
This workflow runs weekly (or manually) to generate multilingual weather-news articles from Open-Meteo forecasts, uses Anthropic Claude for analysis, verification, writing, and QA, creates a matching header image via OpenAI, and uploads CMS-ready JSON and images to S3-compatible storage with Slack alerts and run monitoring.
How it works
- Runs on a weekly schedule (Monday 06:00) or manually to start an article-generation batch.
- Builds a per-country workload (with cities, language, and locale) and loops through each selected country.
- Fetches 3-day city forecasts from the Open-Meteo API and aggregates them into a compact, macro-area-based dataset.
- Uses Anthropic Claude to write a structured meteorological summary and optionally cross-checks it against a secondary source URL, posting a Slack warning if that source is unavailable.
- Computes deterministic “ground truth” per macro-area (including windiest/wettest/hottest records), then uses Claude to write a short HTML article and extract the final HTML and title.
- Uses Claude to QA the article against the ground truth and verification report, rewrites and re-checks once on failures, then applies deterministic guardrails to flag warning-related wording or banned terms.
- Generates a calibrated image scene with Claude, creates a header image via the OpenAI Images API (or falls back to a predefined image), then uploads the image and a CMS-agnostic article JSON payload to S3.
- Logs a run summary to an n8n Data Table and uses a separate scheduled watchdog plus Slack notifications to alert on workflow failures or missing scheduled runs.
Setup
- Add Anthropic credentials for the Claude steps and OpenAI API credentials for image generation.
- Add an S3-compatible credential (AWS S3, Cloudflare R2, MinIO, etc.) and set the target bucket name and prefix in the Config values.
- Add a Slack credential and select the channel for the “Source Unavailable”, “Error Alert”, and “Run Missing Alert” Slack messages.
- Create an n8n Data Table named
article_runs with columns runDate, countriesProcessed, countries, completedAt, and mode (all text) for run logging and watchdog checks.
- Update the Config values (brand name, countries to run, fallback image URL, optional house rules and banned terms) and, if needed, edit the country/city list and optional
secondarySourceUrl entries.