AI-Powered Information Monitoring with OpenAI, Google Sheets, Jina AI and Slack
Configured with Chain LLM, Google Sheets, HTTP Request, OpenAI Chat Model, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- AI & models
- Trigger
- Integration
- Data store
- Messaging
- Code
- Routing
- Web / API
- Transform
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| OpenAI Chat Model | AI & models | OpenAI Chat Model | See node parameters |
| Basic LLM Chain | AI & models | Chain LLM | See node parameters |
| Schedule Trigger | Trigger | Schedule Trigger | See node parameters |
| RSS Read | Integration | Rss Feed Read | See node parameters |
| Relevance Classification for Topic Monitoring | AI & models | Text Classifier | See node parameters |
| Google Sheets - Get RSS Feed url followed | Data store | Google Sheets | See node parameters |
| Slack1 | Messaging | Slack | See node parameters |
| Google Sheets - Get article monitored database | Data store | Google Sheets | See node parameters |
| Code | Code | Code | See node parameters |
| No Operation, do nothing | Routing | No Op | See node parameters |
| If | Routing | If | See node parameters |
| Jina AI - Read URL | Web / API | HTTP Request | See node parameters |
| Set field - existing_url | Transform | Edit Fields | See node parameters |
| OpenAI Chat Model1 | AI & models | OpenAI Chat Model | See node parameters |
| Set fields - Not relevant articles | Transform | Edit Fields | See node parameters |
| Google Sheets - Add relevant articles | Data store | Google Sheets | append |
| Google Sheets - Add relevant article | Data store | Google Sheets | append |
| Set Fields - Relevant Articles | Transform | Edit Fields | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
googleApiopenAiApislackOAuth2Api
Workflow notes
LLM Call 1 - Article Topic Relevance Classification
LLM Call 1 - Article Topic Relevance Classification
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:
Relevant
Description: Articles related to [The topics you want to monitor].
Not Relevant
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.
LLM Call 2 - Summarize and Format in Slack Markdown
LLM Call 2 - Summarize and Format in Slack Markdown
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.
Customize to fit your needs
Here are two examples of how you can modify the System Prompt of this node to better suit your requirements:
-
Language customization:
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. -
Changing the summary structure:
You can adjust the prompt to modify how the summary is structured to better match your preferred format and style.
Google Sheets - Get RSS Feed URLs Followed
Google Sheets - Get RSS Feed URLs Followed
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.
RSS Read
RSS Read
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.
What is an 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.
Jina AI - Read URL
Jina AI - Read URL
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.
What is Jina AI?
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.
Google Sheets - Get Article Monitored Database
Google Sheets - Get Article Monitored Database
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.
Set Field - existing_url
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.
Code Node to Filter Existing URLs
Code Node to Filter Existing URLs
This code node filters URLs that have not yet been summarized by AI.
It outputs:
- A list of URLs following the RSS Read schema if new URLs are found.
- An item called "message" with the value "No new articles found" if no new articles are available in your RSS feed.
IF Node
The condition for this node is: {{ $json.message }} not equal to "No new articles found".
- False → The workflow executes the "No Operation, do nothing" node.
- True → The workflow proceeds to process the new articles for your web development industry monitoring.
Set Fields - Not Relevant Articles
Set Fields - Not Relevant Articles
This node prepares the data to be added to the Google Sheet by defining the following fields:
article_url– The article's URL.summarized– Always set to"NO (not relevant)", as it belongs to the "not_relevant" path.website– The website where the article URL was published.fetched_at– The timestamp when the URL was processed by the workflow.(Note: This timestamp reflects when the scenario was triggered, as obtained from the Schedule Trigger node, not the exact fetch time.)
publish_date– The date the article was published.
Google Sheets - Add Not Relevant Articles
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.
OpenAI Chat Model
OpenAI Chat Model
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.
Slack - Send Article Summary
Slack - Send Article Summary
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.
Why not use Slack Tool Calling?
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.
Set Fields - Relevant Articles
Set Fields - Relevant Articles
This node prepares the data to be added to the Google Sheet by defining the following fields:
article_url– The article's URL.summarized– Always set to"YES", as it follows the "relevant" path.summary– The article summary that was posted to Slack.website– The source website where the article was published.fetched_at– The timestamp indicating when the URL was processed by the workflow.(Note: This timestamp reflects when the data was added to Google Sheets, not the actual fetch time.)
publish_date– The date the article was published.
Google Sheets - Add Relevant Articles
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.
Scheduler
Scheduler
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.
Workflow Overview
Workflow Overview
Check Legal Regulations:
This workflow involves scraping, so ensure you comply with the legal regulations in your country before getting started. Better safe than sorry!
📌 Purpose
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](https://docs.google.com/spreadsheets/d/REPLACE_WITH_DOCUMENT_ID
🎯 Target Audience
This workflow is designed for:
- Industry professionals looking to track key developments in their field.
- Research teams who need up-to-date insights on specific topics.
- Companies aiming to keep their teams informed with relevant content.
⚙️ How It Works
- Trigger: A Scheduler initiates the workflow at regular intervals (default: every hour).
- Data Retrieval:
- RSS feeds are fetched using the RSS Read node.
- Previously monitored articles are checked in Google Sheets to avoid duplicates.
- Content Processing:
- The article relevance is assessed using OpenAI (GPT-4o-mini).
- Relevant articles are scraped using Jina AI to extract content.
- Summaries are generated and formatted for Slack.
- Output:
- Summaries are posted to the specified Slack channel.
- Article metadata is stored in Google Sheets for tracking.
🛠️ Key APIs and Nodes Used
- Scheduler Node: Triggers the workflow periodically.
- RSS Read: Fetches the latest articles from defined RSS feeds.
- Google Sheets: Stores monitored articles and manages feed URLs.
- OpenAI API (GPT-4o-mini): Classifies article relevance and generates summaries.
- Jina AI API: Extracts the full content of relevant articles.
- Slack API: Posts formatted messages to Slack channels.
This workflow provides an efficient and intelligent way to stay informed about your topics of interest, directly within Slack.
AI-Powered Information Monitoring with OpenAI, Google Sheets, Jina AI and Slack
AI-Powered Information Monitoring with OpenAI, Google Sheets, Jina AI and Slack
Purpose and structure
This folder contains the AI-Powered Information Monitoring with OpenAI, Google Sheets, Jina AI and Slack workflow. Its executable nodes use chainLlm, code, googleSheets, httpRequest, if, lmChatOpenAi, noOp, rssFeedRead, scheduleTrigger, set, slack, textClassifier. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
Schedule Trigger
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Code/1281_Code_Schedule_Monitor_Webhook.json MIT; preserve source notices.