Get a Plain-English Daily Business KPI Digest with n8n
Every morning this n8n workflow collects yesterday's Stripe payments, refunds and failed charges, plus Shopify orders and Google Analytics 4 traffic if you turn them on. It compares each figure with the same weekday last week, asks an AI model to write a short plain-English summary of what changed, and sends it by email and Slack along with the raw numbers.
- Difficulty
- Intermediate
- Setup time
- About 45 minutes
- Nodes
- 10
- Checked against
- n8n 2.41
- Stripe
- Shopify
- Google Analytics 4
- OpenAI or Anthropic
- Gmail
- Slack
Last reviewed October 2026
What this workflow does
Owners and managers often start the day by logging into three or four dashboards to see how yesterday went. Stripe for payments, Shopify for orders, Google Analytics for traffic. It takes time, the numbers are spread across tabs, and on busy mornings it simply does not happen, so a drop in sales or a spike in failed payments goes unnoticed for days.
This template is for small online businesses, subscription services and retailers that want one short message each morning. The figures are calculated in code, not by the AI, and the raw table is included under the summary so anyone can check the numbers. The AI only explains the figures it is given.
Who it's for
- →Ecommerce owners selling through Shopify and taking payments with Stripe
- →Subscription and SaaS businesses that bill through Stripe
- →Managers who want a morning snapshot without opening dashboards
- →Small teams that share daily numbers in a Slack channel
How it works, step by step
- 1
Start every morning
A Schedule Trigger runs at 7am. The workflow timezone is Australia/Sydney, so yesterday means yesterday in Australian Eastern time, including daylight saving.
- 2
Set the report dates
A Code node works out yesterday and the same weekday last week, with start and end times for both. Comparing like-for-like weekdays avoids Monday versus Sunday noise.
- 3
Get Stripe charges
An HTTP Request node calls the Stripe charges API using your Stripe credential, covering the eight days in one request and following pagination until every charge in the range is fetched.
- 4
Get Shopify orders (optional)
The Shopify node fetches orders created in the same date range. It ships disabled; enable it and connect your store if you sell through Shopify.
- 5
Get GA4 traffic (optional)
The Google Analytics node runs a GA4 report for users, sessions and page views by date. It also ships disabled, ready to enable with your property ID.
- 6
Calculate the KPIs
A Code node totals gross sales, refunds, successful and failed payments, orders, order value and traffic for each of the two days, and builds a plain table of yesterday versus the same day last week.
- 7
Write a plain-English summary
A Basic LLM Chain sends only the table to your chat model with strict rules: one overall sentence, up to four bullet points, no guessed reasons and no invented figures.
- 8
Send by email and Slack
Gmail emails the summary with the raw figures underneath, and Slack posts it to your chosen channel, so the numbers reach people wherever they start their day.
What you need
Stripe account
A restricted API key with read access to charges is enough. Add it as a Stripe credential in n8n.
OpenAI or Anthropic API key
Any current chat model. The prompt is short, so a smaller model works well.
Gmail and Slack
A Gmail account to send from and a Slack channel for the daily post. Either can be removed.
Shopify store (optional)
An admin API access token from a custom app with read access to orders.
Google Analytics 4 (optional)
Access to the GA4 property and its numeric property ID.
Set it up in n8n
- 1
Import the workflow JSON into n8n and read the Setup Notes sticky note.
- 2
Create a restricted Stripe key with read access to charges, add it as a Stripe credential, and select it in Get Stripe Charges.
- 3
If you use Shopify, enable Get Shopify Orders, add your store's access token credential and test the node.
- 4
If you use GA4, enable Get GA4 Traffic, connect Google Analytics and replace YOUR_GA4_PROPERTY_ID with your property ID.
- 5
Add your OpenAI credential to the Chat Model node, or replace it with an Anthropic Chat Model connected to Write Plain-English Summary.
- 6
Set the recipient address in Email the Digest and the channel in Post to Slack.
- 7
Run the workflow manually and compare the totals with your Stripe and Shopify dashboards for the same day before activating it.
Ways to customise it
- +Add Xero figures such as cash received or invoices issued yesterday using the Xero node.
- +Switch the comparison to a seven-day rolling average by widening the date range and changing the KPI calculation.
- +Send a weekly version on Monday mornings that compares last week with the week before.
- +Add an alert branch that posts to Slack straight away when failed payments or refunds pass a threshold you set.
- +Write each day's figures to a Google Sheet so you build a simple history for charts.
For Australian businesses
The schedule and the definition of yesterday both use Australia/Sydney time. If you trade on Perth or Brisbane time, change the workflow timezone and the zone in the two Code nodes so days line up with your Stripe and Shopify reports. Stripe amounts are converted from cents, and Stripe and Shopify totals usually include GST for Australian sales, so the digest shows sales including GST unless you adjust the calculation. Only aggregated totals are sent to the AI model, never customer names, emails or card details, which keeps personal information under the Privacy Act 1988 out of offshore AI APIs. For a fully onshore setup, self-host n8n in an Australian cloud region.
Tools in this workflow
n8n
Free plan + paidAutomation
A workflow automation platform that combines a visual node editor with code when you need it. It connects hundreds of apps and APIs and includes AI agent nodes that can call language models, tools and memory. Teams can self-host the free Community Edition on their own servers or use n8n's hosted cloud.
Best for: Australian organisations that need automation data to stay onshore
n8n review →Datarails
EnterpriseFinance
A financial planning and analysis platform for finance teams that work in Excel. It consolidates data from accounting, CRM and HR systems, then supports budgeting, forecasting, month-end close, cash management and reporting, with AI tools and a connector that lets AI assistants query governed finance data.
Best for: Mid-sized companies whose planning and analysis still runs on spreadsheets
Datarails review →Julius AI
Free plan + paidVisualization
An AI data analyst that lets you upload spreadsheets or connect data sources, then ask questions in plain English. It writes and runs code behind the scenes to clean data, run analyses and build charts, and can save repeatable analyses as notebooks or reports.
Best for: Small business owners analysing their own sales data
Julius AI review →ChatGPT (OpenAI)
Free plan + paidGeneral Assistant
OpenAI's general-purpose AI assistant. It handles writing, coding, file and image analysis, data analysis and web research through a chat interface, with an API for building it into your own systems.
Best for: Small and mid-sized teams wanting one general assistant for everyday writing and analysis
ChatGPT review →Claude (Anthropic)
Free plan + paidGeneral Assistant
Anthropic's AI assistant, known for careful reasoning, long-document analysis, writing and coding. It can work through large documents and codebases in a single conversation, paid plans include the Claude Code agentic coding tool, and it is available through an API and major cloud platforms.
Best for: Legal, policy and consulting teams reviewing long documents
Claude review →
Frequently asked questions
Does the AI calculate the numbers?
No. All totals and comparisons are calculated in a Code node from the raw Stripe, Shopify and GA4 data. The model only receives the finished table and writes a short summary. The raw table is included in the email so anyone can check the figures.
Why use an HTTP Request node for Stripe instead of the Stripe node?
The built-in Stripe node can list charges but cannot filter them by date, so it would download your whole history every morning. The HTTP Request node uses the same Stripe credential and asks only for the eight days needed, following pagination automatically.
Can I use it without Shopify or Google Analytics?
Yes. Both nodes ship disabled. While disabled, they pass data straight through and the KPI step ignores them, so the digest covers Stripe only. Enable either node when you are ready and its figures appear the next morning.
Will the numbers match my Stripe dashboard exactly?
They should match charges created in the same Sydney-time day. Small differences can come from timezone settings in your Stripe dashboard, refunds made later against earlier charges, or disputes. Check a few days side by side before relying on the digest.
More operations & hr templates
Other n8n templates
- Speed to Lead: AI Lead Qualification from Website Form to HubSpot
- AI Company Research Agent: Lead Research Briefs Saved to HubSpot
- AI Email Triage for Gmail: Labels, Draft Replies and a Daily Digest
- RAG Website Support Chatbot from Your Google Drive Docs with Human Handoff
- Supplier Invoice Email to Xero Draft Bill with AI Extraction
- Tiered Overdue Invoice Reminders from Xero
Want this running in your business?
AI Lab Australia sets up n8n workflows end to end: hosting in Australia, connecting your systems, testing with real data and handing over documentation.
