Automate Weekly KPI Reports with n8n and Google Sheets
If you're still compiling weekly KPI reports by hand — copying numbers from Google Sheets, running formulas, pasting into email — you're spending hours on a task that should take zero minutes of your
If you're still compiling weekly KPI reports by hand — copying numbers from Google Sheets, running formulas, pasting into email — you're spending hours on a task that should take zero minutes of your time. n8n can automate the entire pipeline: pull data from any source, calculate metrics, format a report, and send it to whoever needs it, every week, on schedule. Here's exactly how to build it.
What This Automation Does
The workflow runs on a cron trigger every Monday morning. It connects to one or more Google Sheets that contain your raw business data — sales figures, leads, conversions, whatever your team tracks. n8n reads the data, computes the KPIs you define, and delivers a formatted summary via email, Slack, or both. No manual steps. No spreadsheet tabs to open. The report just arrives.
The components involved:
- A Schedule Trigger node set to fire weekly at your preferred time
- Google Sheets nodes to read raw data from one or more tabs
- Code or Function nodes to calculate derived metrics (growth rate, averages, totals)
- A Gmail or SMTP node to send the formatted report
- Optionally, a Slack node to post a summary to a channel
Setting Up the Google Sheets Connection
In n8n, create a new workflow and start with a Schedule Trigger. Set it to run weekly — Monday at 08:00 is a reliable default because your team gets the report before the first standup.
Connect a Google Sheets node and authenticate with OAuth2. Point it at the spreadsheet that holds your raw data. You'll typically want to read a specific range — something like Sheet1!A:Z — rather than the entire document. If your data lives across multiple sheets (one per metric category), chain multiple Google Sheets nodes together before the calculation step.
Things to configure in the Sheets node:
- Operation: Read Rows
- Spreadsheet ID: paste from the URL of your sheet
- Sheet name and range: be specific to avoid reading headers as data
- Value render option: Unformatted Value so numbers come as numbers, not formatted strings
Calculating KPIs in n8n
Once the data is in n8n, you need to transform rows of raw numbers into meaningful metrics. Use a Function node (or the newer Code node) to write JavaScript that processes the data. This is where the real value lives — you're not just forwarding a spreadsheet, you're computing the insights.
A typical KPI calculation block might look like this: sum all revenue rows for the current week, compare against last week's total to get week-over-week growth, calculate the conversion rate from leads to closed deals, and flag any metric that fell below threshold. You return a clean object with labeled values that the next node can use directly in the email template.
Common KPIs business operators track weekly:
- Revenue (total and by product/channel)
- New leads vs. qualified leads
- Conversion rate and average deal size
- Customer acquisition cost if ad spend data is available
- Churn or cancellations (for subscription businesses)
If any metric is below a defined threshold, you can branch the workflow using an IF node to send an alert separately — a different Slack message, a higher-priority email, or a notification to a specific person. This turns a passive report into an active alerting system.
Sending the Report
Connect the output of your calculation node to a Gmail node (or any SMTP node). Build the email body using n8n's expression syntax to inject the computed values directly into an HTML template. Keep the format simple: a subject line with the date range, a table or list of metrics with current and previous period values, and any flags or alerts at the top.
If your team uses Slack, add a parallel branch that formats the same data as a Slack Block Kit message. The visual structure makes it easier to scan in a channel without opening an email. Both outputs can run simultaneously — n8n handles parallel execution cleanly.
Tips for the delivery step:
- Use a dedicated sender address (like reports@yourcompany.com) so automated emails are easy to filter
- Include the date range in the subject line: "KPI Report — June 10–16, 2025"
- Keep the email under 200 words — if someone needs more context, link to the actual spreadsheet
- Test the workflow manually before activating the schedule to confirm formatting looks right
Building This From Scratch vs. Using a Template
The workflow described here is straightforward to build if you're comfortable with n8n's node structure. You're looking at 6–10 nodes, about 30–45 minutes to wire up correctly, and another hour to test edge cases — empty rows, missing data, authentication errors. If you'd rather skip that and deploy a working version immediately, ready-made n8n templates are available with the nodes pre-configured and documented, so you spend time on your business logic, not the boilerplate.
Weekly KPI automation is one of the highest-leverage automations a small team can deploy. The report runs whether or not anyone remembers to pull the data, it arrives at the same time every week so the team builds a rhythm around it, and once it's live you never think about it again — except when the numbers need to change.

Ja construimos isso pra voce
Nao comece do zero. O Sales Efficiency Score - Weekly e um workflow n8n pronto para instalar que faz exatamente isso — em minutos, nao horas.
Instalar por $59 →