I used to spend 3โ4 hours every Monday morning compiling data. CRM numbers from HubSpot, ad performance from Meta and Google, revenue from Stripe, website traffic from Analytics, email metrics from ActiveCampaign โ all pulled manually into a spreadsheet, formatted, compared to last week, and then summarised for the team.
It was the most expensive 4 hours of my week in every possible sense: time cost, cognitive load, and the opportunity cost of a founder doing work that a system could do. After one weekend of building, that entire process was automated. The report now lands in my inbox every Monday at 7am, with AI-generated analysis I couldn't have written faster myself.
Here's exactly how to build it.
The Architecture
Four-Layer Reporting System
n8n pulls data from all your key platforms via their APIs โ CRM, revenue, ads, email, web analytics. Scheduled to run automatically every Sunday at 11pm.
Raw API responses are cleaned, normalised, and aggregated into a structured data object. Week-over-week and month-over-month comparisons are calculated automatically.
The structured data is fed into a GPT-4 prompt that generates: top 3 positive trends, top 3 concerns, recommended actions, and a one-paragraph executive summary. Consistent structure, every week.
Formatted HTML email delivered to your inbox and relevant team members. Slack summary block posted to your team channel. Raw data logged to a Google Sheet for historical tracking.
Why n8n Instead of Make.com for This Build
Both tools work. The reason I prefer n8n for reporting automation specifically:
- Self-hosted option: Business data (revenue, CRM, ad spend) is sensitive. n8n can be self-hosted on a $5/month VPS, keeping your data entirely within your control. Make.com is cloud-only.
- Better JavaScript support: Reporting automation often requires custom data transformations. n8n's Code node lets you write actual JavaScript, giving you far more flexibility than Make's formula-based approach.
- No operation limits: Make's free and lower tiers have monthly operation limits. A weekly report running 50+ API calls will hit those limits quickly. n8n's self-hosted version has no limits.
If you'd prefer to use Make.com for simplicity, the logic translates directly โ you'll just use Make's HTTP module instead of n8n's HTTP Request node.
Step 1 โ Define Your Reporting KPIs
Before touching the tools, decide exactly what you want to track. The most common mistake is trying to report on everything. Pick 8โ12 metrics that actually drive decisions. My recommended starting set for a service or SaaS business:
- Revenue: MRR/weekly revenue, new revenue, churned revenue, net revenue change
- Pipeline: New leads this week, qualified leads, pipeline value, conversion rate
- Marketing: Website sessions, email open rate, top-performing content, ad spend and ROAS
- Operations: Active clients, tickets open, NPS score (if tracked), team utilisation
For each metric, define: the source (which API), the frequency (daily, weekly, monthly), and the comparison baseline (week-over-week, month-over-month, or goal vs. actual).
Step 2 โ Set Up n8n and Connect Your Data Sources
Install n8n (cloud version at n8n.io for simplicity, or self-hosted on Railway or Render for privacy). Create a new workflow triggered by a schedule โ set to every Sunday at 11pm.
For each data source, add an HTTP Request node with the relevant API credentials. Most major platforms have well-documented REST APIs:
- HubSpot: Contact and deal APIs โ pull new contacts, deal stage changes, closed won value
- Stripe: Charges and subscription APIs โ pull weekly revenue, new subscriptions, churned MRR
- Google Analytics 4: Data API โ pull sessions, conversions, top pages
- Meta Ads / Google Ads: Marketing APIs โ pull impressions, clicks, spend, ROAS
- ActiveCampaign / Mailchimp: Campaign APIs โ pull open rates, click rates, list growth
Add a short JavaScript Code node after each API call to extract and format only the fields you need. This keeps the data clean before aggregation.
Step 3 โ The AI Analysis Prompt
This is where the system becomes genuinely useful beyond raw data delivery. After aggregating all your metrics, feed the structured data into an OpenAI GPT-4 node with this prompt structure:
The JSON output structure makes formatting the email straightforward โ each section maps directly to a formatted block in the email template.
Step 4 โ Format and Deliver the Report
Add a Code node that takes the AI analysis JSON and builds an HTML email. The email should be clean and scannable โ a busy founder reading it at 7am on Monday needs to extract the key points in under 2 minutes.
Recommended email structure:
- Header: Week number, date range, quick traffic-light status (green/amber/red based on overall performance)
- Executive Summary: The AI's 2-3 sentence overview
- Key Metrics: A simple table showing each metric with its value and WoW change (green arrow up, red arrow down)
- Insights: Positive trends and concerns in scannable bullets
- Actions: The recommended actions, formatted as a checklist
- Footer: Link to the full Google Sheet with historical data
Deliver via the Email node in n8n (using Gmail or SendGrid). Add a Slack Message node for the team channel with a condensed version of the executive summary and key metrics only.
Step 5 โ Historical Data and Trend Tracking
The real power of automated reporting compounds over time when you have historical data to compare against. Add a Google Sheets node at the end of your workflow to log every week's data to a running spreadsheet. After three months, you have 12+ weeks of comparable data โ and the AI analysis becomes dramatically more powerful because you can feed it trend data rather than just week-over-week comparisons.
Add a monthly variation to the workflow that automatically generates a month-in-review report on the first Monday of each month โ same structure but pulling monthly aggregates and comparing to the previous month and same month last year (once you have that data).
The Weekend Implementation Plan
Saturday โ Build Day
- Set up n8n account and create new workflow
- Define your 8โ12 KPIs and identify data sources
- Get API keys for each platform (usually 15โ30 min per platform)
- Build data collection nodes, test each API connection
- Write data aggregation and comparison logic
- Set up OpenAI node with analysis prompt
- Build HTML email template
- Test full workflow with dummy data
- Connect Google Sheets logging
- Add Slack notification node
- Manually trigger the workflow, review output
- Fix any formatting issues
Sunday โ Refine and Schedule
- Review Saturday's output with fresh eyes
- Refine the AI prompt based on initial output quality
- Improve email formatting and scannability
- Set the workflow schedule (Sunday 11pm)
- Activate the workflow โ it now runs automatically
"The first Monday morning you open your inbox and the report is already there โ complete, analysed, and actionable โ is a genuinely significant moment. You get that time back, permanently."
What to Expect
The first report won't be perfect. The AI's analysis will be occasionally generic until you refine the prompt with more specific context about your business model, goals, and priorities. Plan to iterate the prompt for 3โ4 weeks. By week 5, the analysis should be reliably useful โ specific, accurate, and producing recommendations you're acting on.
The long-term effect is a compounding improvement in decision quality. When you have 6 months of weekly reporting, patterns emerge that are invisible in day-to-day operations. Seasonal trends, the lag between marketing activity and revenue impact, correlations between team size and delivery quality โ these only become visible in data reviewed consistently over time.
Get the n8n Blueprint
The AI Automation Templates pack includes the complete reporting automation blueprint โ pre-configured n8n workflow, AI analysis prompt, HTML email template, and Google Sheets logging setup. Import and customise in hours.
Get the Templates โ