Overview
Most small business owners waste Monday mornings copying numbers from spreadsheets into emails to share with their team or managers. This n8n workflow runs every Monday at 8 AM, reads specific cells or ranges from your Google Sheets (revenue, jobs completed, leads, expenses, or any KPIs you track), formats the data into a clean HTML email table, and sends it to your team distribution list. The workflow is fully customizable — change the metrics, the formatting, or the recipients without writing any code. It works with any Google Sheet you already use to track your business.
Before you start
- n8n Cloud or self-hosted n8n
- Google Sheets with your business metrics already tracked
- Gmail account connected to n8n via OAuth
- A defined list of KPIs you want to include in the weekly report
Step-by-step guide (5 steps)
Set up the weekly Schedule trigger
Add a Schedule Trigger node configured to run every Monday at 8:00 AM in your business's timezone. This ensures the report lands in inboxes at the start of the work week when people actually read it.
Read metrics from Google Sheets
Add a Google Sheets node set to 'Read Rows' pointing to your weekly metrics tab. If your sheet has a summary row (e.g., row 2 = last week's totals), read that specific row. Alternatively, use multiple Google Sheets nodes to pull from different tabs — revenue from one, job count from another.
Use named ranges in Google Sheets (e.g., 'LastWeekRevenue') instead of cell references like 'B14'. Named ranges don't break when you insert rows.
Format the data with a Code or Set node
Add a Set node to create clean display variables: format revenue as '$12,450', calculate week-over-week change as '+8%', etc. If you need more control, use a Code node (JavaScript) to build an HTML table string for the email body.
Send the report via Gmail
Add a Gmail node set to 'Send Email'. Set recipients to your team list, subject to 'Weekly Report — Week of [date]', and the body to your formatted HTML. Enable 'HTML' mode in Gmail node settings so the table renders properly.
CC yourself and send the first few runs as a test to verify formatting before adding the full team as recipients.
Activate and refine after the first run
Activate the workflow and let it run automatically on Monday. After the first live run, check that all numbers match your spreadsheet and that the email renders correctly on mobile. Adjust the column selection or formatting as needed.
What you'll get
Monday morning report is ready without anyone touching a spreadsheet
Entire team sees the same numbers at the same time each week
Consistent reporting builds accountability and visibility
Easy to customize — add or remove metrics without rebuilding the workflow
Common mistakes to avoid
Reading an entire sheet instead of just the summary row, pulling thousands of rows unnecessarily
Using cell references that break when rows are inserted — use named ranges instead
Not setting the Gmail node to HTML mode, causing tables to render as plain text
Forgetting to handle weeks with missing data, which sends a blank or error report
Frequently asked questions
Do I need coding experience to set up this n8n automation?
No coding is required. This guide walks you through everything using n8n's built-in features and Zapier's visual interface. If you can follow a recipe, you can follow this guide.
How long does this automation take to set up?
Most users complete this setup in 30–60 minutes on their first try. Once set up, it runs completely automatically with zero ongoing effort.
What happens if the automation fails?
Zapier and Make both have error notifications and task history, so you'll know immediately if something goes wrong. We cover troubleshooting steps in the guide above.
Can I customize this automation for my specific business?
Absolutely. The guide includes notes on common customizations. Most automations have multiple variation points — timing, conditions, notification recipients, and more.