Back to Templates

Smart RSS Feed Monitoring with AI Filtering, Baserow Storage, and Slack Alerts

Created by

Created by: Daniel Shashko || tomax

Daniel Shashko

Last update

Last update a day ago

Share


n8n  RSS feed to Slack workflow.png

This workflow automates the process of monitoring multiple RSS feeds, intelligently identifying new articles, maintaining a record of processed content, and delivering timely notifications to a designated Slack channel. It leverages AI to ensure only truly new and relevant articles are dispatched, preventing duplicate alerts and information overload. ๐Ÿš€

Main Use Cases

  • Automated News Aggregation: Continuously monitor industry news, competitor updates, or specific topics from various RSS feeds. ๐Ÿ“ˆ
  • Content Curation: Filter and deliver only new, unprocessed articles to a team or personal Slack channel. ๐ŸŽฏ
  • Duplicate Prevention: Maintain a persistent record of seen articles to avoid redundant notifications. ๐Ÿ›ก๏ธ
  • Enhanced Information Delivery: Provide a streamlined and intelligent way to stay updated without manual checking. ๐Ÿ“ง

How it works

The workflow operates in distinct, interconnected phases to ensure efficient and intelligent article delivery:

1. RSS Feed Data Acquisition ๐Ÿ“ฅ

  • Initiation: The workflow is manually triggered to begin the process. ๐Ÿ–ฑ๏ธ
  • RSS Link Retrieval: It connects to a Baserow database to fetch a list of configured RSS feed URLs. ๐Ÿ”—
  • Individual Feed Processing: Each RSS feed URL is then processed independently. ๐Ÿ”„
  • Content Fetching & Parsing: An HTTP Request node downloads the raw XML content of each RSS feed, which is then parsed into a structured JSON format for easy manipulation. ๐Ÿ“„โžก๏ธ๐ŸŒณ

2. Historical Data Management ๐Ÿ“š

  • Seen Articles Retrieval: Concurrently, the workflow queries another Baserow table to retrieve a comprehensive list of article GUIDs or links that have been previously processed and notified. This forms the basis for duplicate detection. ๐Ÿ”

3. Intelligent Article Filtering with AI ๐Ÿง 

  • Data Structuring for AI: A Code node prepares the newly fetched articles and the list of already-seen articles into a specific JSON structure required by the AI Agent. ๐Ÿ—๏ธ
  • AI-Powered Filtering: An AI Agent, powered by an OpenAI Chat Model and supported by a Simple Memory component, receives this structured data. It is precisely prompted to compare the new articles against the historical "seen" list and return only those articles that are genuinely new and unprocessed. ๐Ÿค–
  • Output Validation: A Structured Output Parser ensures that the AI Agent's response adheres to a predefined JSON schema, guaranteeing data integrity for subsequent steps. โœ…
  • JSON Cleaning: A final Code node takes the AI's raw JSON string output, parses it, and formats it into individual n8n items, ready for notification and storage. ๐Ÿงน

4. Notification & Record Keeping ๐Ÿ””

  • Persistent Record: For each newly identified article, its link is saved to the Baserow "seen products" table, marking it as processed and preventing future duplicate notifications. ๐Ÿ’พ
  • Slack Notification: The details of the new article (title, content, link) are then formatted and sent as a rich message to a specified Slack channel, providing real-time updates. ๐Ÿ’ฌ

Summary Flow:

Manual Trigger โ†’ RSS Link Retrieval (Baserow) โ†’ HTTP Request โ†’ XML Parsing | Seen Articles Retrieval (Baserow) โ†’ Data Structuring (Code) โ†’ AI-Powered Filtering (AI Agent, OpenAI, Memory, Parser) โ†’ JSON Cleaning (Code) โ†’ Save Seen Articles (Baserow) โ†’ Slack Notification ๐ŸŽ‰

Benefits:

  • Fully Automated: Eliminates manual checking of RSS feeds and Slack notifications. โฑ๏ธ
  • Intelligent Filtering: Leverages AI to accurately identify and deliver only new content, avoiding duplicates. ๐Ÿ’ก
  • Centralized Data Management: Utilizes Baserow for robust storage of RSS feed configurations and processed article history. ๐Ÿ—„๏ธ
  • Real-time Alerts: Delivers timely updates directly to your team or personal Slack channel. โšก
  • Scalable & Customizable: Easily adaptable to monitor various RSS feeds and integrate with different Baserow tables and Slack channels. โš™๏ธ

Setup Requirements:

  • Baserow API Key: Required for accessing and updating your Baserow databases. ๐Ÿ”‘
  • OpenAI API Key: Necessary for the AI Agent to function. ๐Ÿค–
  • Slack Credentials: Either a Slack OAuth token (recommended for full features) or a Webhook URL for sending messages. ๐Ÿ—ฃ๏ธ
  • Baserow Table Configuration:
    • A table with an rssLink column to store your RSS feed URLs.
    • A table with a Nom column to store the links of processed articles.

For any questions or further assistance, feel free to connect with me on LinkedIn: https://www.linkedin.com/in/daniel-shashko/