Mindket

Weekly Google Analytics report by AI to email and Telegram

Newversion 1 · updated

Overview

An n8n workflow that compares the last 7 days of a Google Analytics property with the same days a year earlier. An OpenAI model writes the summary and a table, sent by email every Monday and as plain text to Telegram.

Weekly Google Analytics report by AI to email and Telegram is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • Email only: delete the two Telegram nodes
  • Another site: pick its property in both Google Analytics nodes

Platform

Connects 4 apps

How it works

Trigger

Weekly schedule

It starts by itself every Monday at 7:00, with nothing for you to fill in:

  • No input from you: the workflow reads the last 7 days and the same days a year earlier

Actions

  1. Google Analytics returns eight metrics by date for the last 7 days: views, users, sessions, sessions per user, session duration, purchases and revenue
  2. Assign data names the columns and Summarize Data sums or averages them
  3. A Code node works out the same dates one year back, and a second Google Analytics call reads them
  4. OpenAI (gpt-5.6-terra, with a Calculator tool) writes a short summary and a table of percentage changes as HTML
  5. Send Email delivers the HTML, and OpenAI (gpt-6-luna) turns it into plain lines for Telegram

Result

An HTML email with a summary and a table comparing this week with the same week a year earlier, and a plain text copy in Telegram

Integrations

What you need before you start.

Google Analytics

Web analytics

Returns the last 7 days of a GA4 property and the same days a year earlier.

NeedsA Google Analytics OAuth2 credential and a GA4 property

OpenAI

Language model

Writes the summary and the table, then the plain text version.

NeedsAn OpenAI API key

Email (SMTP)

Email delivery

Sends the HTML report to your address.

NeedsSMTP details of a mailbox that can send

Telegram

Chat

Receives the plain text copy of the report.

NeedsA bot token and a chat ID (optional)

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
12 steps, starting on a schedule
AI
2 steps call an AI model: Processing for email and Processing for Telegram
Sign-ins
Signs in to: Google Analytics, Email and Telegram
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 8 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow sends a weekly Google Analytics report. Every Monday at 7:00 it reads the last 7 days of a GA4 property and the same days a year earlier, then totals each set. An OpenAI model writes a short summary and a table of the changes. The report goes out as an HTML email, and a plain text copy goes to Telegram. Thirteen nodes do the work, beside one sticky note.

Who it suits

Shop owners, marketers and small teams who want a weekly read on traffic and sales without opening Google Analytics. Skip it if you need several properties in one report or charts. It reports one property, as text and a table.

Who uses it, and how
IndustryWho uses itHow they use itExample
E-commerceShop ownersCheck traffic and revenue against last year every MondayAn owner reads that revenue per purchase fell while sessions rose, before the weekly meeting.
TravelMarketing managersShare one traffic summary with the whole teamA manager forwards the Monday email to the booking team.
AgenciesAccount managersSend clients a standing weekly reportA manager points the email at a client’s address and reads the Telegram copy on a phone.
PublishingEditorsWatch views and users against the same week last yearAn editor sees page views ahead of last year and plans more of the same topics.

You need a little n8n: import a file, add up to four credentials and choose your Google Analytics property.

Where to use it

Any n8n that can reach Google, OpenAI, a mail server and Telegram will run it. The report arrives by email and, if you keep that branch, in a Telegram chat.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • Email only: delete the two Telegram nodes
  • Another site: pick its property in both Google Analytics nodes

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Four accounts are involved, and the Telegram one is optional.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
Google AnalyticsA GA4 property and a Google account that can read it, for a Google Analytics OAuth2 credential
OpenAIAn API key, for an OpenAI credential
EmailThe SMTP details of a mailbox that can send, for an SMTP credential
TelegramA bot token and your chat ID, for a Telegram credential (optional)
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Open Google Analytics: Last 7 days, add a Google Analytics OAuth2 credential and choose your GA4 property. Do the same in Google Analytics: Past 7 days of the previous year.
  3. Open Processing for email and Processing for Telegram and add an OpenAI credential with your key.
  4. Open Send Email, add an SMTP credential, and replace <YOUR_FROM_EMAIL> and <YOUR_TO_EMAIL> with real addresses.
  5. Open Telegram, add a Telegram credential and replace <YOUR_TELEGRAM_CHAT_ID> with your chat ID. Delete this node and Processing for Telegram if you only want email.
  6. Press Execute workflow once and check the email. Then press Publish so the Monday schedule runs.

How to use it

Nothing to press after that. Each Monday at 7:00 the workflow reads both periods, and the report arrives by email with a short text copy in Telegram. Execute workflow sends one at any other time.

What to change for a different result
To changeWhere
The day and the hourTrigger at Day and Trigger at Hour in Schedule Trigger
The numbers reportedThe metrics in both Google Analytics nodes, then the names in both Assign data and both Summarize Data nodes
The wording and layout of the emailThe prompt in Processing for email
The number format and the currencyThe format lines in the prompt of Processing for email
The modelModel in Processing for email and Processing for Telegram

Example

A shop owner opens the email at 7:00 on Monday. At the top is a short summary of three sentences. Below it a table sets the last 7 days against the same days a year earlier, with a percentage change for each metric.

Telegram brings the same numbers as separate lines, such as total views, last year’s total views and the difference.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one runs the same steps twice, once for this week and once for last year, then hands both results to the model. Run it by hand first and open each box to see the numbers move along.

For experts. The year-earlier dates come from a Code node that moves today back one year, then back a further 7 days for the start. Both Google Analytics calls cover 8 calendar dates, since Last 7 Days runs from 7 days back up to today.

Where to look closer
NodeWhat it doesWhat to know
Schedule TriggerSchedule Trigger 1.2, weekly, on day 1 at hour 7The minute is 0, and the time follows the workflow’s time zone
Google Analytics: Last 7 daysGoogle Analytics 2, Report, Get, with eight metrics by dateToday is a partial day, and it returns at most 50 rows because Return All is off
Assign data and Summarize DataSet 3.4 renames the columns, then Summarize sums or averages themOutput names look like sum_Views and average_Sessions_per_user
Calculation same period previous yearCode 2 returns startDate and endDate one year backThe second Google Analytics node reads them as a custom range
Processing for emailOpenAI 1.8, Message a model, with a Calculator toolIt reads both summaries by node name and writes the HTML
Processing for TelegramOpenAI 1.8, Message a modelIt turns that HTML into plain lines

Good to know

The two periods are not an exact like for like, and the report is only as good as your GA4 tracking.

  • Models: OpenAI’s deprecations page, read on 12 November 2026, lists gpt-4o and gpt-4o-mini as shutting down on 14 January 2027, with gpt-6-luna as the replacement. The model’s page says Chat Completions supports function calling for it only with reasoning effort off, and the node has no setting for that. So Processing for email, which has a Calculator tool, uses gpt-5.6-terra, and Processing for Telegram uses gpt-6-luna
  • Averages: sessions per user, session duration and revenue per purchase are averages of the daily values, not figures Google calculates for the whole week
  • Partial day: this week’s range includes today so far, while last year’s range is complete
  • No ecommerce events: purchases and revenue read zero when the property does not record them
  • German settings: the original was set up for a German site, with German column names, euro amounts and German number formatting. Mindket’s copy has English column names. The euro sign and the number format stay in the prompt, so change them for your market
  • Empty pickers: the author’s own property is gone, so choose yours in both Google Analytics nodes
  • No review: the email goes out without anyone reading it first
  • Billing: each run makes two model calls, and the email call may add more when it uses the Calculator
  • Your data: your traffic and sales figures go to OpenAI, then to your mail server and to Telegram
  • Credentials: the JSON holds none, so add the four credentials yourself

README and files

README

Weekly Google Analytics report by AI to email and Telegram

An n8n workflow that sends a weekly Google Analytics report. Every Monday at 7:00 it reads the last 7 days of a GA4 property and
the same days a year earlier. It totals each set, and an OpenAI model writes a short summary and a table of the changes. The report
goes out as an HTML email, and a plain text copy goes to Telegram.

What is inside

  • workflow.json: the workflow as n8n exports it, thirteen working nodes and one sticky note. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The column names were German (Aufrufe, Nutzer, Sitzungen and so on). They are English now (Views, Users, Sessions,
    Sessions per user, Session duration, Purchases, Revenue per purchase, Revenue), in both Assign data nodes, both
    Summarize Data nodes and the email prompt. The first Google Analytics node was renamed to Google Analytics: Last 7 days.
  • The second metric and the dimension of both Google Analytics nodes were left blank and filled in by n8n's defaults. They now say
    totalUsers and date outright.
  • The email prompt read each summary with .item. Mindket's copy uses .first(), since each summary is one item built from many
    rows. The prompt's table divider had three columns for four headings, and its number examples contradicted its rules, so both
    were fixed.
  • The models changed. Processing for email went from gpt-4o to gpt-5.6-terra, and Processing for Telegram from
    gpt-4o-mini to gpt-6-luna. See Good to know.
  • The Google Analytics property, the two email addresses and the Telegram chat ID were the author's own. They are now an empty
    property picker and <YOUR_FROM_EMAIL>, <YOUR_TO_EMAIL> and <YOUR_TELEGRAM_CHAT_ID>.
  • The sticky note was rewritten without the author's contact line.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • A Google Analytics 4 property and a Google account that can read it.
  • An OpenAI API key.
  • The SMTP details of a mailbox that can send, and the address the report goes to.
  • Optional: a Telegram bot token and the chat ID the text copy goes to.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Open Google Analytics: Last 7 days, add a Google Analytics OAuth2 credential and choose your GA4 property. Do the same in
    Google Analytics: Past 7 days of the previous year.
  3. Open Processing for email and Processing for Telegram and add an OpenAI credential with your key.
  4. Open Send Email, add an SMTP credential, and replace <YOUR_FROM_EMAIL> and <YOUR_TO_EMAIL> with real addresses.
  5. Open Telegram, add a Telegram credential and replace <YOUR_TELEGRAM_CHAT_ID> with your chat ID. Delete this node and
    Processing for Telegram if you only want email.
  6. Press Execute workflow once and check the email. Then press Publish so the Monday schedule runs.

How a run goes

  1. Schedule Trigger fires on Monday at hour 7.
  2. Google Analytics: Last 7 days reads eight metrics by date: page views, total users, sessions, sessions per user, average
    session duration, ecommerce purchases, average purchase revenue and purchase revenue.
  3. Assign data gives the columns their report names, and Summarize Data sums the totals and averages the rest.
  4. Calculation same period previous year works out the start and end dates one year back.
  5. Google Analytics: Past 7 days of the previous year, Assign data1 and Summarize Data1 repeat steps 2 and 3 for those dates.
  6. Processing for email (OpenAI, with a Calculator tool) gets both summaries in its prompt and writes the summary and the table
    as HTML.
  7. Send Email sends that HTML. Processing for Telegram turns it into plain lines, and Telegram sends them.

Change the look

  • The day and the hour: Trigger at Day and Trigger at Hour in Schedule Trigger.
  • The numbers reported: the metrics in both Google Analytics nodes, then the names in both Assign data and both
    Summarize Data nodes.
  • The wording and layout of the email, the number format and the currency: the prompt in Processing for email.
  • The model: Model in Processing for email and Processing for Telegram.

Good to know

  • OpenAI's deprecations page, read on 12 November 2026, lists gpt-4o and gpt-4o-mini as shutting down on 14 January 2027,
    with gpt-6-luna as the replacement. That model's page says Chat Completions supports function calling for it only with
    reasoning effort off, and the OpenAI node has no setting for that. So the email node, which has a Calculator tool, uses
    gpt-5.6-terra.
  • Sessions per user, session duration and revenue per purchase are averages of the daily values. Google would calculate a
    weekly value differently.
  • This week's range includes today so far, while last year's range is complete.
  • Purchases and revenue read zero when the property records no ecommerce events.
  • The euro sign and the German number format in the prompt come from the original. Change them for your market.
  • The report goes out without anyone reading it first, and your traffic figures go to OpenAI.
Files
NOTICE.md  675 B
README.md  5 KB
workflow.json  19 KB

3 files, 24 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar in Marketing & SEO

See all in Marketing & SEO

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Pixel Art XL

nerijs · Kit

A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…

New

Licon MSR for LTX-2.5

LiconStudio · Kit

Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…

New