🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets + OpenAI: recap emails done for you

Lisa Granqvist Partner Workflow Automation Expert

You finally have campaign numbers in a Google Sheet, but turning them into a recap email still eats up your afternoon. You copy rows, do quick math, second-guess what matters, then rewrite the same “wins, risks, next steps” format for the tenth time.

Marketing managers feel it every Monday. So do agency owners trying to keep clients confident, and founders who just want a clean update without living in spreadsheets. This recap email automation turns your Sheet into a polished performance summary that’s ready to send.

This workflow pulls campaign data from Google Sheets, has OpenAI summarize it in plain English, and produces a structured recap you can send through Outlook. Below is what it fixes, what you get, and how the flow works.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + OpenAI: recap emails done for you

The Problem: Weekly recaps take too long (and still miss the point)

Reporting sounds simple until you’re staring at 40 rows of campaigns and five channels with slightly different metrics. You end up doing “quick” totals, then you realize the totals don’t match last week because someone added a new row, renamed a column, or left a cell blank. Now you’re debugging a spreadsheet instead of communicating results. And even when the numbers are right, you still have to explain what they mean, which risks are emerging, and what you’re doing next. That’s the part that drains you.

It adds up fast. Here’s where it usually breaks down.

  • Every recap starts from scratch, so consistency depends on your energy that day.
  • Manual totals and copy-paste work invite small errors that turn into awkward client calls.
  • You spend about 1–2 hours writing “insights” because the sheet doesn’t tell a story on its own.
  • When results dip, the email takes even longer because you’re trying to be accurate and tactful.

The Solution: Google Sheets → OpenAI → ready-to-send recap email

This workflow starts with your campaign metrics living in a Google Sheet (with column names in the first row and data in the rows below). When you run it, n8n pulls those rows, aggregates totals at two levels (campaign totals and channel totals), and merges the datasets so the summary has both “what happened overall” and “where it happened.” Then OpenAI analyzes the merged performance set and produces a structured recap: clear wins, clear risks, and practical next steps. Finally, the workflow renders that into clean summary text you can drop directly into an Outlook email, so your update reads like a thoughtful performance memo instead of a rushed spreadsheet dump.

The workflow begins with a manual launch in n8n, which is perfect when you want to sanity-check the timing before sending. From there, Google Sheets provides the raw truth, the summarization nodes create tidy totals, and the AI agent turns numbers into a narrative your client or team can actually act on.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you send one recap each week for five active campaigns across three channels. Manually, you might spend about 15 minutes totaling and checking the sheet, then another 60–90 minutes writing a clear recap that doesn’t sound copy-pasted. Call it about 2 hours. With this workflow, you run the manual trigger (1 minute), n8n pulls and aggregates the data (a couple minutes), and OpenAI drafts the recap text in the same run. You’re usually left with a quick review and send, closer to 10 minutes than an afternoon.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing campaign and channel metrics
  • OpenAI to generate the recap narrative and insights
  • OpenAI API key (get it from the OpenAI API Keys page)

Skill level: Beginner. You’ll connect credentials, map a few fields, and test with a real sheet.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

You launch it when you’re ready. A manual trigger starts the run, which is handy for weekly reporting because you choose the exact timing (after data is updated).

Google Sheets data is pulled and normalized. n8n reads your rows, then aggregates totals in two passes: one for campaign-level rollups and one for channel-level rollups.

The workflow combines the rollups into one performance view. Merge and aggregation nodes collect the totals into a single dataset, and a small code step renders the summary text into a clean format for the AI to interpret.

OpenAI turns metrics into a recap you can send. The AI agent analyzes the merged results and outputs wins, risks, and next steps as readable language, so your final “email body” is essentially finished.

You can easily modify the recap structure to match your client template based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

This workflow starts manually so you can test on demand before automating.

  1. Add the Manual Launch Trigger node as your starting trigger.
  2. Leave all parameters in Manual Launch Trigger as default.

You can keep Flowpast Branding as a visual note for documentation, or remove it without affecting execution.

Step 2: Connect Google Sheets

Pull campaign data from your spreadsheet for aggregation.

  1. Add Fetch Sheet Records and connect it to Manual Launch Trigger.
  2. Set Document to [YOUR_ID] (cached name: Sample Marketing Data - n8n).
  3. Set Sheet to [YOUR_ID] (cached name: Data).
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  5. Fetch Sheet Records outputs to both Aggregate Campaign Totals and Aggregate Channel Totals in parallel.

⚠️ Common Pitfall: The spreadsheet must include the fields Campaign, Channel, Spend ($), Clicks, and Conversions or the summarize nodes will return empty totals.

Step 3: Set Up Aggregations and Merge Logic

Summarize campaign and channel totals, then merge results into a single dataset.

  1. In Aggregate Campaign Totals, set Fields to Split By to Campaign.
  2. In Aggregate Campaign Totals, add summarize fields: Spend ($)sum, Clickssum, Conversionssum.
  3. In Aggregate Channel Totals, set Fields to Split By to Channel and summarize the same fields.
  4. In Collect Campaign Data, set Aggregate to aggregateAllItemData and Destination Field Name to campaign_performance.
  5. In Collect Channel Data, set Aggregate to aggregateAllItemData and Destination Field Name to channel_performance.
  6. Configure Merge Performance Sets with Mode combine and Combine By combineByPosition.

Step 4: Configure the Summary Builder

Generate a human-readable summary from the aggregated campaign and channel datasets.

  1. Add Render Summary Text after Merge Performance Sets.
  2. Paste the provided JavaScript into Code in Render Summary Text (the node uses the fields campaign_performance and channel_performance).

If your spreadsheet uses different column names, update the code references such as sum_Spend_($), sum_Clicks, and sum_Conversions to match your data.

Step 5: Set Up AI Analysis

Use an AI agent to turn the summary into a structured, executive-ready report.

  1. Add Analyze Marketing Metrics after Render Summary Text.
  2. Set Text in Analyze Marketing Metrics to =Data: {{ $json.output }}.
  3. Keep Prompt Type as define and ensure Has Output Parser is enabled.
  4. Connect OpenAI Chat Engine as the language model for Analyze Marketing Metrics.
  5. Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine.
  6. Attach Structured Result Parser to Analyze Marketing Metrics and keep the provided JSON Schema Example as-is.

⚠️ Common Pitfall: Structured Result Parser is an AI sub-node. If authentication fails, add credentials to OpenAI Chat Engine, not to the parser.

Step 6: Test and Activate Your Workflow

Validate data flow end-to-end and then enable for production use.

  1. Click Execute Workflow on Manual Launch Trigger to run a test.
  2. Confirm that Aggregate Campaign Totals and Aggregate Channel Totals both receive data (parallel execution).
  3. Verify Render Summary Text outputs a combined summary in the output field.
  4. Check Analyze Marketing Metrics returns JSON with a single output field containing the narrative report.
  5. When successful, click Activate to enable the workflow for repeated runs.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check your n8n Credentials list and re-authenticate the Google Sheets OAuth2 credential first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this recap email automation automation?

About 30 minutes if your Google Sheet is already clean.

Do I need coding skills to automate recap email automation?

No. You’ll mainly connect Google Sheets and OpenAI, then test the output. The only “technical” part is making sure your columns are named clearly.

Is n8n free to use for this recap email automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually a few cents per recap depending on length.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this recap email automation workflow for different recap formats?

Yes, and you should. The easiest place to customize is the “Render Summary Text” code step, because it controls what context the AI agent sees. Common tweaks include changing the headings (Executive summary, Channel breakdown, Budget notes), adding your client’s goals for the week, and forcing a short “action list” at the end so the recap turns into tasks.

Why is my Google Sheets connection failing in this workflow?

Most of the time it’s an expired Google OAuth session or the wrong Google account was authorized. Reconnect the Google Sheets credential in n8n and confirm the spreadsheet is accessible to that account. Also check the sheet structure: column names must be in the first row, and blank rows in the middle can cause odd results when aggregating.

How many rows can this recap email automation automation handle?

Usually a few hundred rows is fine for weekly recaps, but it depends on your n8n plan and how heavy your AI prompt is.

Is this recap email automation automation better than using Zapier or Make?

Often, yes, because this is more than a simple “send the latest row” automation. n8n can aggregate, merge datasets, and shape the text before the AI sees it, which means your recap is based on totals and patterns, not raw rows. You also get self-hosting if you want to run lots of recaps without counting every task. Zapier or Make can still work if your recap is extremely simple and you don’t need rollups. If you’re unsure, Talk to an automation expert and we’ll point you to the cleanest setup.

Once this is in place, your weekly recap becomes a quick review instead of a writing project. Honestly, it’s a relief to hit send and know it’s consistent.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal