Sales & Notifications · n8n

Daily KPI Digest: all your numbers, one message, zero dashboards

An n8n workflow that pulls your key metrics every evening — revenue from Stripe, orders from Shopify, traffic from your analytics sheet — has Claude write a three-line summary highlighting what changed and why it matters, and sends it to Telegram at 21:00.

difficulty Beginnersetup 30 minresult You stop opening five dashboards and start reading one honest paragraph
  1. 1

    Fetch each metric in parallel

    A Schedule Trigger (21:00) fans out to three branches: a Stripe node summing today's charges, a Shopify node counting today's orders, and a Google Sheets read of today's traffic row (or an HTTP call to your analytics API). Each branch also fetches the last 7 days for comparison.

  2. 2

    Merge and normalize

    A Merge node combines the branches and a Code node shapes them into a compact JSON: each metric with today's value, the 7-day average, and the percent delta. Keeping this step dumb and numeric makes the whole flow easy to extend.

  3. 3

    Claude writes the story

    One HTTP Request to Claude: 'Here are today's metrics vs 7-day averages. Write max 4 lines: what happened, the most likely driver, and one thing to watch. No pleasantries, no emojis except a single leading one.' Numbers in, judgment out.

  4. 4

    Send it

    A Telegram node delivers the digest to your private chat or a founders' group. Three weeks in, you'll notice you've stopped logging into dashboards — the digest became the interface.

Frequently asked questions

What makes this better than a metrics dashboard?

Dashboards show everything and tell you nothing — you still do the interpreting, so you stop looking. Claude's summary does the comparing for you: 'Revenue $1.4k, +22% vs 7-day avg, driven by 9 orders of the new bundle. Traffic flat. Watch: refund rate ticked up to 4%.' Signal, delivered, in the app you already check.

My metrics live in different tools than these three.

The pattern is source-agnostic: each metric is one node fetching one number. Swap Stripe for PayPal, Shopify for WooCommerce, the analytics sheet for a Plausible or Umami API call. As long as each branch outputs {metric, today, avg7d}, the Claude step and the digest work unchanged.

Why evening instead of morning?

A 21:00 digest covers the actual day and lets you sleep on decisions instead of reacting at breakfast. If you prefer mornings, change one field in the Schedule node — the digest then covers yesterday. Some founders run both; the workflow is cheap enough that it doesn't matter.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.