
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/