Skip to content

Repository files navigation

FTSE 100 Weather Report

An n8n automation that builds a daily market report for the FTSE 100 — and pairs each company with the weather at its registered head office.

Built as four separate workflows: one that does the work, one helper it calls, and two that watch it.

What it does

Every weekday after the market closes:

  1. Reads the current FTSE 100 constituent list (membership changes, so it is never hard-coded)
  2. Looks up today's price, movement and market cap for all 100 companies
  3. Ranks the top 5 by market cap and the top 5 by percentage change
  4. For each of those companies, finds its registered office address and today's weather there
  5. Builds an Excel report, saves it to Google Drive, and emails a notice

The four workflows

# Workflow Nodes Job
1 Main 44 The report, start to finish
2 Enrich One Company 17 Address + weather lookup, called once per company
3 Error Handler 2 Emails immediately if workflow 1 fails
4 Delivery Watchdog 4 Checks a report actually landed, independently

Workflows 3 and 4 exist for different failure modes. Workflow 3 catches a loud failure — something broke and said so. Workflow 4 catches a silent one — nothing errored, the report simply never appeared. Between them, both kinds get noticed.

Data sources

Source Used for
Wikipedia Current FTSE 100 constituent list
London Stock Exchange Price, movement, market cap
Companies House Registered office address
Postcodes.io Postcode to coordinates (preferred)
Nominatim Address to coordinates (fallback)
Met Office Daily forecast at those coordinates

Design notes

A few decisions that aren't obvious from the node names:

  • Three lookup attempts, not one. Some Exchange lookups fail transiently; a handful of listings are only found with a trailing dot appended to the ticker. Without the third attempt those companies would be missing from every report, permanently and silently.
  • Two geocoding routes. A postcode gives a genuinely local forecast. Companies without a usable postcode fall back to address-level geocoding — less precise, but far better than an empty column.
  • The run stops rather than publishing something empty. If the constituent list doesn't parse, or no prices come back, the workflow halts. An empty report gets believed; a missing one prompts a question.
  • A shortfall warning is pinned to the top row. If fewer than 100 companies were found, every ranking below is drawn from an incomplete pool, and the reader needs to know that before they read the numbers.
  • Enrichment failures don't kill the report. One company that can't be found returns "not found" and the run continues.

Structure

docs/PRD.md                      the brief
docs/architecture/               design docs, versioned v1-v4
.claude/agents/                  the build pipeline agents
CLAUDE.md                        working instructions

Setup

Workflows are built and run in n8n. Credentials for Google Drive, Gmail, Companies House and the Met Office are connected inside the n8n interface — none are stored in this repository.

.mcp.json is intentionally excluded from version control; it references an n8n API key held in the local environment.

About

n8n automation: daily FTSE 100 market report paired with the weather at each company's registered office

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages