n8n workflow template · 17 nodes · OpenAI
AI-Powered Information Monitoring with OpenAI, Google Sheets, Jina AI and Slack is a free n8n workflow template that runs on a schedule and works with OpenAI, RSS, Google Sheets and Slack. It has 17 nodes, 4 of them AI nodes (OpenAI Chat Model, Basic LLM Chain and Text Classifier). The notes inside the workflow say: “This trigger is a scheduler that defines how often the workflow is executed.” To run it, you add your own credentials for Google Service Account, OpenAI API and Slack OAuth2.
The text below comes from the sticky notes inside the workflow. We removed links, code samples and anything that looks like a key or token.
This trigger is a scheduler that defines how often the workflow is executed. By default, the template is set to every 1 hour, meaning the workflow will check every hour if new articles have been added to the RSS feed you follow.
This node retrieves rows from the Google Sheet that contains articles already monitored and summarized by the workflow. Depending on the RSS feed you monitor, URLs may remain in the feed for a long time, and you don't want to monitor the same URL twice. You can find the Google Sheet template that you can copy and use in this workflow here.
In this node, make sure to select the "article_database" sheet from your copied version of the Google Sheet template. This sheet is used to store and manage the articles processed by the workflow.
This node sets the "existing_url" field with the value from "article_url" in the Google Sheets database. During the first execution of the workflow, this field will be empty, as no articles are present in Google Sheets yet. An error may occur in this case; however, the workflow will continue running without interruption.
This node reads the RSS feed. The RSS URL is retrieved from the data you have entered in Google Sheets, so make sure the URL provided is indeed a valid RSS feed.
An RSS feed is a web feed that allows users to automatically receive updates from websites, such as news sites or blogs, in a standardized format.
This code node filters URLs that have not yet been summarized by AI. It outputs
The condition for this node is: not equal to "No new articles found".
This LLM call is used to classify whether the articles published on the website are relevant to the topics and interests you want to monitor. It analyzes the title and the content snippet retrieved from the RSS Read node.
In this template, the monitored articles are related to data and AI. The classification is done into two categories, which you should modify in the Description field under the Categories section of the node
Description: Articles related to [The topics you want to monitor].
Description: Articles that are not directly related to [The topics you want to monitor].
By default, this template monitors topics related to artificial intelligence (AI), data science, machine learning, algorithms, big data, and innovations in these fields.
This node specifies the AI model to be used for processing. The default model is GPT-4o-mini, which has been tested and proven to perform well for this task.
GPT-4o-mini is a cost-efficient model, offering a good balance between performance and affordability, making it suitable for regular usage without incurring high costs.
This node posts the message to the designated Slack channel, containing the output generated by the LLM.
For better organization and accessibility, it is recommended to use a dedicated Slack channel specifically for topic monitoring. This ensures that team members can easily access relevant summaries without cluttering other discussions.
After extensive testing, the output from the previous node has proven to be highly effective, making it unnecessary to use tool calling or an AI agent. Keeping things simple streamlines the workflow and reduces complexity.
The text below comes from the sticky notes inside the workflow. We removed links, code samples and anything that looks like a key or token.
This workflow involves scraping, so ensure you comply with the legal regulations in your country before getting started. Better safe than sorry!
This workflow enables automated and AI-driven topic monitoring, delivering concise article summaries directly to a Slack channel in a structured and easy-to-read format. It allows users to stay informed on specific topics of interest effortlessly, without manually checking multiple sources, ensuring a time-efficient and focused monitoring experience.
To get started, copy the Google Sheets template required for this workflow from here.
This workflow is designed for
This workflow provides an efficient and intelligent way to stay informed about your topics of interest, directly within Slack.
This node retrieves rows from the Google Sheet that contains the RSS feed URLs you follow. It is configured to run only once per execution, meaning that even if the previous node outputs many items, this node will execute only once.
You can add more URLs to your sheet, but keep in mind that following more RSS feeds will increase the cost of LLM API usage (e.g., OpenAI).
You can access the Google Sheet template to copy and use in this workflow here. (This is the same template used in the previous node.)
In this node, make sure to select the "rss_feed" sheet from your copied version of the Google Sheet template. This sheet contains the list of RSS feed URLs that the workflow will process.
This node uses the Jina AI API to retrieve the content of articles that were classified as "relevant" in the previous step. Since this process involves web scraping, ensure that it complies with the scraping regulations in your country.
Jina AI is an API that allows you to extract webpage content and convert it into a format that is ready for LLM processing, such as Markdown.
You can create an account here and receive 1,000,000 free tokens for testing. However, the service can also be used without an API key (without an account), though with reduced RPM (requests per minute). For this workflow, the default RPM limits should generally be sufficient.
This node prepares the data to be added to the Google Sheet by defining the following fields
> (Note: This timestamp reflects when the scenario was triggered, as obtained from the Schedule Trigger node, not the exact fetch time.)
This node adds the prepared data to the "article_database" sheet in your copied Google Sheet template. Ensure that you select the "article_database" sheet when configuring this node.
This node uses OpenAI's GPT-4o-mini model to summarize the article content, which is provided as Markdown text from Jina AI, and formats it in Slack Markdown to enhance readability within Slack.
Here are two examples of how you can modify the System Prompt of this node to better suit your requirements
You can modify the System Prompt to instruct the LLM to generate the summary in a specific language (e.g., French or Italian). However, consider the option of adding a separate LLM node dedicated to translation if the model cannot handle summarization, formatting, and translation simultaneously while maintaining high output quality.
You can adjust the prompt to modify how the summary is structured to better match your preferred format and style.
This node prepares the data to be added to the Google Sheet by defining the following fields
> (Note: This timestamp reflects when the data was added to Google Sheets, not the actual fetch time.)
This node adds the prepared data to the "article_database" sheet in your copied Google Sheet template. Make sure to select the "article_database" sheet when configuring this node.
The 17 nodes in file order (sticky notes excluded). Branches and connections determine execution order in n8n:
Configure your own credentials after importing. Create each credential in n8n, then select it in the node.
Do you need somewhere to run it? Read our guide to self-hosted n8n.
We can adapt this workflow to your apps, data and process, then deploy and support it.
Contact Us