🔓 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

RSS to Google Sheets, skim-worthy AI summaries

Lisa Granqvist Partner Workflow Automation Expert

Your feeds don’t feel like “research.” They feel like a second inbox. You open ten tabs, skim fast, lose the good bits, and then you still have to turn all of that into something usable.

This is where RSS summary automation helps most. Content marketers trying to stay current, founders doing competitive scans, and researchers building weekly digests all get stuck in the same loop: read, copy, paste, forget.

This workflow pulls new articles from multiple RSS feeds, summarizes them consistently with AI, and logs everything into Google Sheets so you can scan, filter, and share without the chaos.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: RSS to Google Sheets, skim-worthy AI summaries

The Problem: RSS reading turns into duplicate work

Keeping up with multiple RSS feeds sounds simple until you actually do it for a week. You skim an article in the morning, then re-open the same tab later because you can’t remember the key point. You take notes in a doc, then copy a few lines into Slack, then realize you still need a clean summary for your content brief. Meanwhile, feeds keep publishing. The result is predictable: too many half-read items, messy notes, and a “system” that only works when you have spare time (which you don’t).

The friction compounds. Here’s where it breaks down in real life.

  • You re-read the same articles because there’s no single place to capture takeaways.
  • Manual notes are inconsistent, so scanning later becomes slow and frustrating.
  • Duplicates slip in when feeds republish, change URLs, or get syndicated.
  • Sharing “insights” turns into another task because your summaries aren’t ready to paste.

The Solution: AI summaries sent to Google Sheets automatically

This workflow watches your RSS feeds on a schedule (or runs manually when you want). It pulls in fresh posts from the last X days, checks your Google Sheet to confirm you haven’t already processed the same URL, then fetches the full article content when it’s genuinely new. After that, it extracts the useful body text, converts messy HTML into clean markdown, and sends it to an AI model (via OpenRouter) to generate a structured summary. Finally, the workflow cleans the summary text and appends a neat row to Google Sheets, including the source label and the article URL, so your “reading” becomes a searchable database instead of scattered tabs.

The workflow starts with a scheduled trigger that loads your feed list from a “RSS FEEDS” tab in Google Sheets. It processes feeds in batches, filters to recent items, and only generates summaries when the URL is not already logged. Everything ends where it should: one consistent sheet your team can scan in minutes.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you monitor 12 RSS feeds and you typically skim 5 new articles per day. Manually, even “fast reading” plus copying notes into a doc is maybe 10 minutes per article, so that’s about 50 minutes a day, and you still end up re-checking links later. With this workflow, you spend about 5 minutes once setting your feeds and the “last X days” filter, then new items land in Google Sheets automatically with consistent summaries. You review the sheet in one pass, which is usually under 10 minutes. That’s roughly 40 minutes back per day, without trying harder.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store feed list and summaries.
  • OpenRouter to run a Gemini model for summaries.
  • OpenRouter API key (get it from your OpenRouter dashboard).

Skill level: Intermediate. You’ll connect accounts, paste an API key, and tweak one or two filtering settings.

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

How It Works

A scheduled run kicks things off. The workflow starts on an hourly schedule (or you can run it manually), then loads your RSS feed directory from Google Sheets so your feed list stays editable by non-technical teammates.

Recent items get filtered and processed in batches. n8n reads each feed, limits items to the last X days, and iterates entries in a controlled way so you don’t flood your sheet or your AI provider with a sudden backlog.

Duplicates are blocked before any AI cost happens. For every article, it looks up the URL in your existing Google Sheet. If the URL is already there, the workflow skips it and moves on. Simple. Effective.

Full content is fetched, cleaned, then summarized. When an article is new, the workflow retrieves the page HTML, extracts the main body markup, converts it to markdown, and sends it to the AI agent (OpenRouter/Gemini) to produce a structured summary with takeaways and practical insights.

The final output lands in Google Sheets. The cleaned summary and metadata (source label, URL, and other fields you choose) get appended as a new row, giving you a living research database you can sort, filter, and share.

You can easily modify the time window (last X days) to match your reading cadence, or change the summary format for different teams. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Trigger Type

Set up how the workflow starts, either manually or on a schedule, and pass initial configuration values.

  1. Open Manual Execution Start if you want to run the workflow on demand; no fields are required.
  2. Open Scheduled Automation Trigger and set the schedule rule interval to hours if you want automatic runs.
  3. In Configuration Set, set Document to https://docs.google.com/spreadsheets/d/[YOUR_ID].
  4. Set Articles Sheet to https://docs.google.com/spreadsheets/d/[YOUR_ID] and Rss Feeds to https://docs.google.com/spreadsheets/d/[YOUR_ID].
  5. Keep Current Time as the expression {{ $workflow.trigger === 'Scheduled Automation Trigger' ? $('Scheduled Automation Trigger').item.json.timestamp : $now }} to support both manual and scheduled runs.
  6. Set Last X Days to 31 to control the lookback window for new items.
Use Manual Execution Start while building and debugging, then switch to Scheduled Automation Trigger for production runs.

Step 2: Connect Google Sheets

Connect your spreadsheets for feed sources, lookup, and output storage.

  1. Open Fetch Feed Directory and confirm Sheet Name is {{ $json["Rss Feeds"] }} and Document ID is {{ $json.Document }}.
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials in Fetch Feed Directory.
  3. Open Lookup URL in Sheet and confirm the filter uses lookupColumn link with lookupValue {{ $json.link }}.
  4. Set Sheet Name to {{ $('Configuration Set').item.json["Articles Sheet"] }} and Document ID to {{ $('Configuration Set').item.json.Document }} in Lookup URL in Sheet.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials in Lookup URL in Sheet.
  6. Open Append Summary to Sheets and keep Operation set to appendOrUpdate with useAppend enabled.
  7. Credential Required: Connect your googleSheetsOAuth2Api credentials in Append Summary to Sheets.
⚠️ Common Pitfall: Ensure the Articles Sheet has the columns link, title, source, pubDate, ai summary, and categories to match the mapping in Append Summary to Sheets.

Step 3: Configure RSS Source Parsing and Filtering

Read the feed directory, parse RSS items, and filter for recent entries before processing.

  1. In Iterate Feed List, leave batch settings as-is to cycle through feed rows from Fetch Feed Directory.
  2. Open Parse RSS Sources and set URL to {{ $json["RSS URL"] }}.
  3. In Attach Source Label, keep Include Other Fields enabled and set RSS NAME to {{ $('Iterate Feed List').item.json["RSS NAME"] }}.
  4. Open Filter Recent Items and ensure the condition compares leftValue {{ $json.pubDate }} to the expression {{ $('Configuration Set').item.json['Current Time'].toDateTime().minus($('Configuration Set').item.json['Last X Days'],'days').startOf('day') }}.
  5. Confirm Iterate Feed Entries follows Filter Recent Items to batch individual articles.
The execution path is sequential, but Iterate Feed List outputs to both Filter Recent Items and Parse RSS Sources in parallel, so ensure both branches are connected.

Step 4: Set Up Content Retrieval and AI Summarization

Fetch article HTML, extract readable content, convert it to Markdown, and generate an AI summary.

  1. In Lookup URL in Sheet, keep alwaysOutputData enabled so Verify Article Presence can detect duplicates.
  2. Open Verify Article Presence and keep the condition {{ $item("0").$node["Lookup URL in Sheet"].json }} set to check if the lookup result is empty.
  3. In Retrieve Page HTML, set URL to {{ $('Iterate Feed Entries').item.json.link }} and keep the response format as text.
  4. In Extract Body Markup, keep operation set to extractHtmlContent and the selector body returning html.
  5. In HTML to Markdown Transform, set HTML to {{ $json.data }} and keep ignore set to img,form.
  6. Open Generate Summary and verify the Text prompt uses the expression with item fields like {{ $('Iterate Feed Entries').item.json.title }} and content {{ $json.data }}.
  7. Open LLM Chat Provider and set Model to google/gemini-2.5-flash.
  8. Credential Required: Connect your openRouterApi credentials in LLM Chat Provider.
⚠️ Common Pitfall: LLM Chat Provider is the language model for Generate Summary—add credentials to LLM Chat Provider, not to Generate Summary.

Step 5: Configure Output Storage and Looping

Clean the AI output and append results to your article log, then loop to the next entry.

  1. In Clean Summary Text, set text to {{ $json.text.replace(/<think>[\s\S]*?<\/think>/g, '') }} to remove model reasoning artifacts.
  2. In Append Summary to Sheets, confirm column mappings: link, title, source, pubDate, ai summary, and categories from the expressions shown in the node.
  3. Ensure the connection path Append Summary to SheetsIterate Feed Entries is intact to continue processing batches.
  4. Confirm Iterate Feed Entries ends at Workflow Terminus when no more items remain.

Step 6: Test and Activate Your Workflow

Validate that items are filtered, summarized, and stored correctly before enabling the schedule.

  1. Click Execute Workflow starting from Manual Execution Start to test the flow end-to-end.
  2. Check that Lookup URL in Sheet prevents duplicates and that new rows appear in Append Summary to Sheets with ai summary populated.
  3. Verify that Filter Recent Items only passes entries within the last 31 days.
  4. When successful, activate the workflow and rely on Scheduled Automation Trigger for ongoing 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 the connected Google account in n8n’s Credentials screen 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.
  • OpenRouter (Gemini) keys can be valid but still fail due to model access or rate limits. Confirm your API key, selected model in the LLM Chat Provider node, and your OpenRouter usage limits.

Frequently Asked Questions

How long does it take to set up this RSS summary automation automation?

About 30 minutes if your Google Sheet and API key are ready.

Do I need coding skills to automate RSS summary automation?

No. You will connect accounts and paste an API key. Most of the work is just mapping the fields you want saved to Google Sheets.

Is n8n free to use for this RSS summary 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 OpenRouter API usage, which is usually a few cents per batch of summaries depending on article 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 RSS summary automation workflow for a different summary format?

Yes, and you should. Update the prompt in the Generate Summary step so the output matches how you actually read, like shorter bullets, a “why it matters” line, or a section for quotes. You can also change the fields created in the Clean Summary Text and Edit Fields (Set) steps to store extra columns such as category, audience, or content angle. If you want a different model, swap it in the LLM Chat Provider (OpenRouter) configuration without changing the rest of the flow.

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired Google authorization or the wrong Google account. Reconnect the Google Sheets credential in n8n, then confirm the target spreadsheet is shared with that account. Also check that the sheet tabs (like your feed directory tab) still match the names used in the workflow, because renaming a tab can break lookups.

How many articles can this RSS summary automation automation handle?

A lot, as long as you batch it. On n8n Cloud, your monthly execution limit depends on your plan, and each article typically counts as its own execution chain. If you self-host, there’s no execution cap, but you’re limited by server resources and your OpenRouter rate limits. In practice, processing a few hundred articles a day is realistic if you keep batching on and avoid pulling huge backlogs in a single run.

Is this RSS summary automation automation better than using Zapier or Make?

Often, yes. n8n is better when you need branching logic (skip duplicates, fetch HTML only when needed, clean text, then summarize) because the workflow stays readable and you’re not paying extra for every conditional path. It’s also easier to control batching, which matters when a feed spits out 50 items at once. Zapier or Make can still work, but you’ll usually end up with multiple scenarios and more “glue” steps. If you want help choosing, Talk to an automation expert and we’ll sanity-check your setup.

Once this is running, your “reading list” becomes a clean stream of decisions and ideas, not open tabs. Set it up once, then review your sheet when it suits you.

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