← All N8N workflows
AI & researchChain LLMCodeGoogle SheetsHTTP RequestIf

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.

Workflow preview
AI & modelsOpenAI Chat ModelOpenAI Chat ModelAI & modelsBasic LLM ChainChain LLMTriggerSchedule TriggerSchedule TriggerIntegrationRSS ReadRss Feed ReadAI & modelsRelevanceClassification for…Text ClassifierData storeGoogle Sheets - Get RSSFeed url followedGoogle SheetsMessagingSlack1SlackData storeGoogle Sheets - Getarticle monitored…Google SheetsCodeCodeCodeRoutingNo Operation, donothingNo OpRoutingIfIfWeb / APIJina AI - Read URLHTTP RequestTransformSet field -existing_urlEdit FieldsAI & modelsOpenAI Chat Model1OpenAI Chat ModelTransformSet fields - Notrelevant articlesEdit FieldsData storeGoogle Sheets - Addrelevant articlesGoogle SheetsData storeGoogle Sheets - Addrelevant articleGoogle SheetsTransformSet Fields - RelevantArticlesEdit Fields

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.

Workflow node names, types, and operations
NodeCategoryTypeOperation
OpenAI Chat ModelAI & modelsOpenAI Chat ModelSee node parameters
Basic LLM ChainAI & modelsChain LLMSee node parameters
Schedule TriggerTriggerSchedule TriggerSee node parameters
RSS ReadIntegrationRss Feed ReadSee node parameters
Relevance Classification for Topic MonitoringAI & modelsText ClassifierSee node parameters
Google Sheets - Get RSS Feed url followedData storeGoogle SheetsSee node parameters
Slack1MessagingSlackSee node parameters
Google Sheets - Get article monitored databaseData storeGoogle SheetsSee node parameters
CodeCodeCodeSee node parameters
No Operation, do nothingRoutingNo OpSee node parameters
IfRoutingIfSee node parameters
Jina AI - Read URLWeb / APIHTTP RequestSee node parameters
Set field - existing_urlTransformEdit FieldsSee node parameters
OpenAI Chat Model1AI & modelsOpenAI Chat ModelSee node parameters
Set fields - Not relevant articlesTransformEdit FieldsSee node parameters
Google Sheets - Add relevant articlesData storeGoogle Sheetsappend
Google Sheets - Add relevant articleData storeGoogle Sheetsappend
Set Fields - Relevant ArticlesTransformEdit FieldsSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. 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

  • googleApi
  • openAiApi
  • slackOAuth2Api

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

  1. Trigger: A Scheduler initiates the workflow at regular intervals (default: every hour).
  2. Data Retrieval:
    • RSS feeds are fetched using the RSS Read node.
    • Previously monitored articles are checked in Google Sheets to avoid duplicates.
  3. 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.
  4. 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.

More in AI & research