---
title: "AI topic monitor that posts RSS article summaries to Slack"
kind: "Kit"
category: "Research"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/2bc9a99d-7b08-4ab6-b00f-fda45c4b1581"
updated: "2026-11-13"
---

# AI topic monitor that posts RSS article summaries to Slack

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow that checks RSS feeds, lets a model pick the articles that fit your topic, posts a short summary of each to Slack and logs every article in a Google Sheet.

AI topic monitor that posts RSS article summaries to Slack is an n8n workflow in the Research category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-13. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow reads news feeds on its own and tells your team about the articles that matter. Every five minutes it checks a list of RSS feeds. A model decides whether each new article fits the topic you care about. The relevant ones are opened in full, summarised in a Slack-ready layout and posted to a channel. Every article it looks at is logged in a Google Sheet, so none is handled twice. Nobody types a thing. Eighteen nodes sit in it, beside thirteen sticky notes.

### Who it suits

Teams that follow a field and do not want to read forty blogs a day, such as analysts, editors and product or research teams. It suits anyone who can name a topic in a sentence and keep a list of feeds. Skip it if you need a person to judge each article, because a model decides here, and a model will sometimes file a good article under the wrong heading. Skip it too if the sites you follow have no RSS feed. Pick your topic with care.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Research | Market analysts | Follow the news on one theme | An analyst lists ten trade feeds and gets only the articles about battery recycling. |
| Media | Newsletter editors | Collect stories for the week | An editor reads the Slack channel on Friday and picks the best summaries. |
| Technology | Product teams | Watch what rivals announce | A team follows rival blogs and sees each launch post at the next check. |
| Education | Librarians | Keep a reading list current | A librarian tracks journals and shares the summaries with staff. |

You need a Google Sheet with two tabs, an OpenAI key, a Slack workspace with a channel, and a few RSS feed addresses.

### Where to use it

Any n8n that can reach Google, OpenAI, Slack and the sites you follow will run it. It runs by itself, so the workflow must be switched on, n8n must be kept running, and the machine that hosts it must stay awake and online around the clock. A cloud account suits it better than a laptop that sleeps. Plan for it.

- n8n Cloud: bring in the file, connect your accounts and switch it on
- Your own n8n server: the same file, kept running day and night
- A local install: it checks the feeds only while n8n is open
- A team channel: point Slack at a channel made for this

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Build the sheet, import the file, add three credentials, pick the sheet and the channel in the nodes that need them, and write your own topic into the classifier.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| Google Sheets | A spreadsheet with the tabs \`rss\_feed\` and \`article\_database\`, and a Google sign-in for n8n |
| OpenAI | An API key |
| Slack | An app with the \`chat:write\` scope that is in the channel, or that also has \`chat:write.public\` |
| RSS feeds | The addresses of the feeds to follow |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. In Google Sheets, make a spreadsheet with a tab `rss_feed` (columns `rss_feed_url` and `website`) and a tab `article_database` (columns `article_url`, `summarized`, `summary`, `website`, `fetched_at` and `publish_date`). Put one feed address and its site name in each row of the first tab.
3. Add a Google Sheets OAuth2 credential to the four Google Sheets nodes, then pick your spreadsheet in each.
4. Add an OpenAI credential to `OpenAI Chat Model` and `OpenAI Chat Model1`.
5. Add a Slack OAuth2 credential to `Slack1` and pick the channel.
6. Open `Relevance Classification for Topic Monitoring` and describe your own topic in its two category descriptions.
7. Save the workflow and switch it on.

### How to use it

After that, leave it alone. Add a feed by adding a row to the `rss_feed` tab. Read the Slack channel for the summaries, and open the `article_database` tab when you want to see what was kept, what was skipped and when each article was checked. Expect a larger first run, since every article in a feed counts as new at the start.

What to change for a different result

| To change | Where |
| --- | --- |
| The topic | The two category descriptions in \`Relevance Classification for Topic Monitoring\` |
| The layout or language of the summary | The system message in \`Basic LLM Chain\` |
| How often it runs | \`Schedule Trigger\` |
| The feeds | The rows of the \`rss\_feed\` tab |
| The model | \`OpenAI Chat Model\` and \`OpenAI Chat Model1\` |

### Example

A product team follows twelve blogs from tools it competes with. It describes its topic as news about AI note-taking apps and leaves the rest as it is.

The first run reads every post in every feed and sorts them. It is the slowest run, because each article is judged on its own and each relevant one is fetched in full. Forty are marked relevant and appear in Slack as short summaries with a link. The rest are logged as not relevant. Nothing doubles. On the next morning, only the posts published overnight arrive. A rival’s launch post reaches the channel at the next check after the feed lists it, and nobody has to hunt for it.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. An RSS feed is a page that lists a site’s newest posts in a plain format that programs can read. A classifier is a model asked to file a text into one of a few boxes. A reader service turns a web page into clean text. That is all it does here.

**For experts.** New articles are found by comparing feed links with the log, and the model is called only for those. The log is the memory.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Code\` | Keeps the feed items whose link is not in the log | It matches the link exactly, so a changed address counts as new, and an item with no link is dropped |
| \`If\` | Stops the run when \`Code\` found nothing new | The message it tests is the same text \`Code\` returns, so change both together |
| \`Relevance Classification for Topic Monitoring\` | Files each article by its title and snippet | With no good fit the article is dropped, not logged, and checked again at the next run |
| \`Basic LLM Chain\` | Summarises the page for Slack | The system message sets the layout and the language |
| \`Slack1\` | Posts the summary to the channel | The app must be in the channel, or hold \`chat:write.public\` |

### Good to know

The notes come from n8n’s source and from OpenAI, Slack and Google pages read on 12 November 2026, and nothing was run.

- Not run: no feed was fetched, no model was called, no Slack post was sent and no spreadsheet was touched
- Repairs: the model nodes named no model, so n8n’s own default \`gpt-5-mini\` would have run, which OpenAI shuts down on 11 December 2026. The notes on the canvas said GPT-4o-mini, which goes on 14 January 2027, with \`gpt-6-luna\` as its replacement. Both nodes now name \`gpt-6-luna\`, and neither calls a tool. The Sheets nodes moved from a service account to OAuth2, because Google no longer lets service accounts made after 15 April 2025 open My Drive files. A feed that fails to load leaves an error item with no link, so \`Code\` now drops items that have no link. The original author’s links and ids were removed, and the note about the schedule now says five minutes, as the node does
- Unsure articles: the classifier drops an article that fits neither box. It is not logged, so it is judged again at every run
- Bad replies: a model reply the classifier cannot read stops the run
- Dates: the publish date comes from \`pubDate\`, which n8n reads as an ISO, HTTP, RFC 2822 or SQL date. An item without it stops the run
- Slack: a new app cannot post in every public channel, so add it to the channel or give it \`chat:write.public\`. Slack suggests keeping a message under about 4,000 characters. Each message ends with a link to the workflow, because Include Link to Workflow is on
- Cost: the first run classifies the whole current list of each feed. \`gpt-6-luna\` costs USD 0.1 per million tokens in and USD 0.5 per million out on OpenAI’s page
- Scraping: the reader is called without a key, and a key only raises its rate limit. Check the rules of the sites you follow and of your country
- Your data: titles, snippets and article text go to OpenAI and to the reader service, and the summaries go to Slack and your sheet
- Credentials: the JSON holds none

## README

```markdown
# AI topic monitor that posts RSS article summaries to Slack

An n8n workflow that follows a list of RSS feeds. A model decides whether each new article fits your topic. The relevant
articles are read in full, summarised in a Slack-ready layout and posted to a channel. Every article it checks is logged
in a Google Sheet, so none is handled twice.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 18 nodes and 13 sticky notes. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- Both model nodes named no model, so n8n would run its own default, `gpt-5-mini`. The notes on the canvas said
  GPT-4o-mini. OpenAI's deprecations page, read on 12 November 2026, shuts down `gpt-5-mini` on 11 December 2026 and
  `gpt-4o-mini` on 14 January 2027, and names `gpt-6-luna` as the replacement for the second. Both nodes now name
  `gpt-6-luna`. One is a classifier and the other a plain chain. Neither calls a tool, so that model fits.
- The four Google Sheets nodes signed in with a service account. n8n's documentation says Google no longer lets service
  accounts created after 15 April 2025 open files in My Drive. The nodes now use the Google Sheets OAuth2 sign-in, and they
  pick the tabs by name, `rss_feed` and `article_database`.
- `RSS Read` carries on when a feed fails, and it passes an error item with no link. `Code` now drops any item that has no
  link, so a failed feed is no longer filed as an article.
- The spreadsheet, the Slack channel and the links in the sticky notes pointed at the original author's files. They are
  blank or removed. The notes now describe the two tabs in words.
- A note on the canvas said the workflow runs every hour. The schedule node sets no interval, so n8n runs it every
  5 minutes. The note now says five minutes, and the node is unchanged.

## Before you start

- An n8n instance, on n8n Cloud or your own server. It must stay on, because the workflow runs by itself.
- A Google account and a spreadsheet laid out as shown below.
- An OpenAI API key.
- A Slack app that can post in your channel. It needs the `chat:write` scope, and it must be a member of the channel, or
  also hold `chat:write.public`.
- The addresses of the RSS feeds you want to follow.

## The two tabs

- `rss_feed`: the columns `rss_feed_url` and `website`. Each row is one feed and the name of its site.
- `article_database`: the columns `article_url`, `summarized`, `summary`, `website`, `fetched_at` and `publish_date`. Leave
  it empty, with only the header row. The workflow fills it.

## Set it up

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. In Google Sheets, build the spreadsheet with the two tabs above.
3. Add a Google Sheets OAuth2 credential to `Google Sheets - Get RSS Feed url followed`,
   `Google Sheets - Get article monitored database`, `Google Sheets - Add relevant articles` and
   `Google Sheets - Add relevant article`. Pick your spreadsheet in each.
4. Add an OpenAI credential to `OpenAI Chat Model` and `OpenAI Chat Model1`.
5. Add a Slack OAuth2 credential to `Slack1` and pick the channel.
6. Open `Relevance Classification for Topic Monitoring` and describe your own topic in its two category descriptions.
7. Save the workflow and switch it on.

## How a run goes

1. `Schedule Trigger` starts a run every 5 minutes.
2. `Google Sheets - Get article monitored database` reads the log once. `Set field - existing_url` cuts the first web
   address out of each logged row.
3. `Google Sheets - Get RSS Feed url followed` reads the feed list once, and `RSS Read` fetches every feed.
4. `Code` keeps the articles whose link is not in the log. When there are none, it returns a short message, and `If` sends
   the run to `No Operation, do nothing`.
5. `Relevance Classification for Topic Monitoring` reads each article's title and snippet and files it as relevant or not.
   A not-relevant article gets a row marked `NO (not relevant)` through `Set fields - Not relevant articles` and
   `Google Sheets - Add relevant articles`.
6. A relevant article goes to `Jina AI - Read URL`, which fetches the page as Markdown text. `Basic LLM Chain` turns it
   into a Slack message. `Slack1` posts it. `Set Fields - Relevant Articles` and `Google Sheets - Add relevant article`
   log it with the word `YES` and the summary.

## Change the look

- The topic: the two category descriptions in `Relevance Classification for Topic Monitoring`.
- The layout or language of the summary: the system message in `Basic LLM Chain`.
- How often it runs: `Schedule Trigger`.
- The feeds: the rows of the `rss_feed` tab.
- The model: `OpenAI Chat Model` and `OpenAI Chat Model1`.

## Good to know

- The facts below come from n8n's source and from OpenAI, Slack and Google pages read on 12 November 2026. Nothing was
  run: no feed, no model call, no Slack post and no spreadsheet.
- The classifier is set to drop an article that fits neither category. That article is not logged, so the workflow judges
  it again at every run.
- A model reply the classifier cannot read stops the run, because the node does not continue on failure.
- The publish date comes from `pubDate`. n8n reads ISO, HTTP, RFC 2822 and SQL dates. An item with no `pubDate` stops the
  run.
- Slack does not let a new app post in every public channel. Add the app to the channel, or give it `chat:write.public`.
  Slack also suggests keeping a message under about 4,000 characters. Each message ends with a link to the workflow,
  because the node's Include Link to Workflow option is on.
- The first run treats every article now in each feed as new, so it classifies the whole list. After that, only new
  articles cost a call.
- `gpt-6-luna` costs USD 0.1 per million input tokens and USD 0.5 per million output tokens on OpenAI's page. A page's text
  counts as input.
- Jina's reader is called without a key. A key only raises its rate limit. Check the rules of the sites you follow and of
  your country before you fetch their pages.
- Your data: the titles, snippets and article text go to OpenAI and to Jina, and the summaries go to Slack and your sheet.
- Credentials: the JSON holds none.
```

## What is in it

3 files, 45 KB, downloaded as a zip.

```text
NOTICE.md  690 B
README.md  6 KB
workflow.json  38 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 16 steps, starting on a schedule
- AI: 2 steps call an AI model: Relevance Classification for Topic Monitoring and Basic LLM Chain
- Sign-ins: Signs in to: Google Sheets, Slack and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 11 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/2bc9a99d-7b08-4ab6-b00f-fda45c4b1581)
- [Its page on Mindket](https://mindket.com/p/2bc9a99d-7b08-4ab6-b00f-fda45c4b1581)
