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…
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.
Weekly schedule
It starts by itself every Monday at 7:00, with nothing for you to fill in:
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
What you need before you start.
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
Language model
Writes the summary and the table, then the plain text version.
NeedsAn OpenAI API key
Email delivery
Sends the HTML report to your address.
NeedsSMTP details of a mailbox that can send
Chat
Receives the plain text copy of the report.
NeedsA bot token and a chat ID (optional)
Checked by Mindket on 13 Nov 2026
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.
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.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| E-commerce | Shop owners | Check traffic and revenue against last year every Monday | An owner reads that revenue per purchase fell while sessions rose, before the weekly meeting. |
| Travel | Marketing managers | Share one traffic summary with the whole team | A manager forwards the Monday email to the booking team. |
| Agencies | Account managers | Send clients a standing weekly report | A manager points the email at a client’s address and reads the Telegram copy on a phone. |
| Publishing | Editors | Watch views and users against the same week last year | An 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.
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.
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.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Google Analytics | A GA4 property and a Google account that can read it, for a Google Analytics OAuth2 credential |
| OpenAI | An API key, for an OpenAI credential |
| The SMTP details of a mailbox that can send, for an SMTP credential | |
| Telegram | A bot token and your chat ID, for a Telegram credential (optional) |
workflow.json.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.Processing for email and Processing for Telegram and add an OpenAI credential with your key.Send Email, add an SMTP credential, and replace <YOUR_FROM_EMAIL> and <YOUR_TO_EMAIL> with real addresses.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.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.
| To change | Where |
|---|---|
| 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 prompt in Processing for email |
| The number format and the currency | The format lines in the prompt of Processing for email |
| The model | Model in Processing for email and Processing for Telegram |
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.
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.
| Node | What it does | What to know |
|---|---|---|
Schedule Trigger | Schedule Trigger 1.2, weekly, on day 1 at hour 7 | The minute is 0, and the time follows the workflow’s time zone |
Google Analytics: Last 7 days | Google Analytics 2, Report, Get, with eight metrics by date | Today is a partial day, and it returns at most 50 rows because Return All is off |
Assign data and Summarize Data | Set 3.4 renames the columns, then Summarize sums or averages them | Output names look like sum_Views and average_Sessions_per_user |
Calculation same period previous year | Code 2 returns startDate and endDate one year back | The second Google Analytics node reads them as a custom range |
Processing for email | OpenAI 1.8, Message a model, with a Calculator tool | It reads both summaries by node name and writes the HTML |
Processing for Telegram | OpenAI 1.8, Message a model | It turns that HTML into plain lines |
The two periods are not an exact like for like, and the report is only as good as your GA4 tracking.
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-lunaAn 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.
workflow.json: the workflow as n8n exports it, thirteen working nodes and one sticky note. It holds no credential.README.md: these notes.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, bothSummarize Data nodes and the email prompt. The first Google Analytics node was renamed to Google Analytics: Last 7 days.totalUsers and date outright..item. Mindket's copy uses .first(), since each summary is one item built from manyProcessing for email went from gpt-4o to gpt-5.6-terra, and Processing for Telegram fromgpt-4o-mini to gpt-6-luna. See Good to know.<YOUR_FROM_EMAIL>, <YOUR_TO_EMAIL> and <YOUR_TELEGRAM_CHAT_ID>.workflow.json.Google Analytics: Last 7 days, add a Google Analytics OAuth2 credential and choose your GA4 property. Do the same inGoogle Analytics: Past 7 days of the previous year.Processing for email and Processing for Telegram and add an OpenAI credential with your key.Send Email, add an SMTP credential, and replace <YOUR_FROM_EMAIL> and <YOUR_TO_EMAIL> with real addresses.Telegram, add a Telegram credential and replace <YOUR_TELEGRAM_CHAT_ID> with your chat ID. Delete this node andProcessing for Telegram if you only want email.Schedule Trigger fires on Monday at hour 7.Google Analytics: Last 7 days reads eight metrics by date: page views, total users, sessions, sessions per user, averageAssign data gives the columns their report names, and Summarize Data sums the totals and averages the rest.Calculation same period previous year works out the start and end dates one year back.Google Analytics: Past 7 days of the previous year, Assign data1 and Summarize Data1 repeat steps 2 and 3 for those dates.Processing for email (OpenAI, with a Calculator tool) gets both summaries in its prompt and writes the summary and the tableSend Email sends that HTML. Processing for Telegram turns it into plain lines, and Telegram sends them.Schedule Trigger.Assign data and bothSummarize Data nodes.Processing for email.Processing for email and Processing for Telegram.gpt-4o and gpt-4o-mini as shutting down on 14 January 2027,gpt-6-luna as the replacement. That model's page says Chat Completions supports function calling for it only withgpt-5.6-terra.NOTICE.md 675 B README.md 5 KB workflow.json 19 KB
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…
LibertAIDAI · Kit
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…
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…
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…
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…
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…