This article contains affiliate links. If you buy through them, we may earn a commission at no extra cost to you.
n8n Year-in-Review Report: Build It Once, Run It Every Year
Every December, the same question appears in team chats: "Can someone pull together what we actually achieved this year?" Hours of copy-pasting from spreadsheets, dashboards and email threads follow — and the result still feels incomplete. With n8n, you can build a workflow that collects data from all your tools, summarises it with AI, and delivers a formatted annual report automatically. You set it up once; it runs every year.
If you have not used n8n before, it is an open-source workflow automation tool with 400+ integrations that you can self-host for free or run on n8n Cloud. Get started at n8n and follow along with this guide.
What the Workflow Does
At a high level, the year-in-review workflow:
- Triggers automatically on a scheduled date (e.g. 28 December each year)
- Pulls key metrics from your connected tools — Google Analytics, a CRM, a project management app, or a spreadsheet
- Sends the raw data to an AI model (OpenAI or a self-hosted LLM) to generate a written summary
- Formats the summary into a structured report
- Delivers it by email, Slack, Notion or wherever your team reads documents
Step 1 — Set the Schedule Trigger
Open your n8n canvas and add a Schedule Trigger node. Set it to fire once a year — for example, every 28 December at 08:00. This is your workflow's starting gun and requires no manual intervention once active.
Tip: Test with a Manual Trigger First
While building, swap the Schedule Trigger for a Manual Trigger so you can run the workflow on demand and inspect each node's output without waiting for December.
Step 2 — Collect Your Data
This is the most variable step because every team tracks different things. Below are the most common data sources and the n8n nodes that connect to them.
- Google Sheets / Airtable: Use the Google Sheets or Airtable node to fetch rows from a master KPI sheet you update throughout the year.
- Google Analytics 4: Use the HTTP Request node with the GA4 Data API to pull sessions, conversions and top pages for the full year.
- GitHub: Use the GitHub node to count commits, closed issues and merged pull requests for the year.
- Notion / Confluence: Use the Notion node to retrieve a database of completed projects or milestones.
- Any REST API: If your tool has an API, the HTTP Request node can reach it. Filter by date range using
start=YYYY-01-01&end=YYYY-12-31.
Add one node per data source and use the Merge node to combine all responses into a single JSON object before passing it to the AI step.
Step 3 — Summarise with AI
Add an OpenAI node (or the HTTP Request node pointing to any LLM API). In the prompt, pass the merged JSON and instruct the model clearly:
- Write a professional year-in-review summary for an internal team report
- Highlight the three biggest achievements
- Note any metric that missed its target and suggest one reason why
- Keep the tone warm but factual; use plain paragraphs, not bullet points
- Output length: approximately 300 words
Use n8n's expression editor to inject the data dynamically: {{ $json.mergedData }}. The AI receives real numbers and names, not placeholders.
Step 4 — Format the Report
Use a Code node (JavaScript) or a Set node to assemble the final report structure. A typical report object looks like this:
- title: "2024 Year in Review — [Team Name]"
- generated_at: current timestamp
- ai_summary: text from the OpenAI node
- raw_metrics: the original numbers for reference
If you want a visually polished PDF or presentation rather than plain text, connect Gamma after this step. It can turn structured notes or prompts into a formatted document or slide deck in minutes — useful when the report goes to leadership or clients.
Step 5 — Deliver the Report
Choose your delivery channel and add the matching node:
- Email: Gmail or SMTP node — attach a plain-text version or link to a Notion page
- Slack: Slack node — post to a #year-in-review channel with the AI summary as the message body
- Notion: Notion node — create a new page in a "Reports" database with all fields populated
- Google Docs: HTTP Request node using the Google Docs API — write the summary directly into a shared document
Step 6 — Handle Errors Gracefully
Annual workflows run unattended, so error handling matters. Add an Error Trigger workflow in n8n that catches any failure and sends an alert to a Slack channel or email address. Also add a short Wait node (a few seconds) between heavy API calls to avoid rate limits.
Complete Workflow Summary
- Schedule Trigger → fires 28 December
- Data nodes (Sheets, GA4, GitHub, Notion, HTTP) → fetch metrics
- Merge node → combine into one object
- OpenAI node → generate written summary
- Code / Set node → build report object
- Delivery node (Email / Slack / Notion) → send report
- Error Trigger workflow → alert on failure
Ideas for Extending the Workflow
- Multiple audiences: Branch the workflow with an IF node to send an executive summary to leadership and a detailed version to the team.
- Historical comparison: Store each year's metrics in a Google Sheet; feed last year's row into the AI prompt so it can note year-over-year changes.
- Automated quarterly version: Duplicate the workflow and change the schedule to run every quarter for a lighter "quarter-in-review" report.
- Personalised team reports: Loop through a list of team members and generate one report per person based on their individual task or project data.
Common Mistakes to Avoid
- Fetching too much data: Limit API responses to the fields you actually need. Large payloads slow down execution and inflate token costs.
- Vague AI prompts: Be specific about format, length and tone. A vague prompt produces a vague report.
- No test run: Always test with a Manual Trigger before activating the schedule. Check that every data node returns results for the correct date range.
- Forgetting timezone: Set the Schedule Trigger's timezone explicitly to match your team's location.
If you want to build automated reports like this without complex infrastructure, you can get started via n8n — including the option to self-host for free or use n8n Cloud with 400+ integrations — to have your year-in-review workflow running before the next December.