Filter and deduplicate AI news with Google Sheets, OpenAI, and Hugging Face
Ready for 3.0What this workflow does
This AI workflow has 35 nodes and runs manually, when you click “Execute workflow” (plus 1 other trigger). Along the way it connects Google Sheets and OpenAI Chat Model. It also calls api.openai.com over HTTP.
How it runs
Trigger: Manually, when you click “Execute workflow” (plus 1 other trigger).
- Set Workflow Context (Edit Fields (Set)): sets 17 fields: sheetDocumentId, sourceTab, articlesTab…
- Check for Fresh Start (If): checks a condition and branches into true / false
- Check for Live Articles (If): checks a condition and branches into true / false
- Clear Package Data in Sheets (Google Sheets): clear
- Resume After Clear (Merge): merges the data from its input branches
- Split RSS Feed URLs (Split Out): splits a list into separate items
- Clear Seen Ledger in Sheets (Google Sheets): clear
- Read Articles from Sheets (Google Sheets): uses Google Sheets
- Read Seen Ledger from Sheets (Google Sheets): uses Google Sheets
- Fetch RSS Feeds (RSS Read): reads an RSS feed
…plus 21 more steps. See the full node list below.
Services it uses
HTTP calls to: api.openai.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (16)
- Manual Trigger
n8n-nodes-base.manualTrigger - Edit Fields (Set)
n8n-nodes-base.set - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - Filter
n8n-nodes-base.filter - Aggregate
n8n-nodes-base.aggregate - Switch
n8n-nodes-base.switch - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - RSS Read
n8n-nodes-base.rssFeedRead - Merge
n8n-nodes-base.merge - Split Out
n8n-nodes-base.splitOut - Schedule Trigger
n8n-nodes-base.scheduleTrigger
From the author
Quick overview Reads your RSS feeds daily, kills obvious noise with free keyword rules, then groups outlets covering the same story using cheap embeddings, so the AI judge never rules on a story twice. Approved story packages, plus a kept-or-rejected reason…