AutomationFlowsAI & RAG › Filter Cybersecurity News for Your Tech Stack (openai + Pinecone Rag)

Filter Cybersecurity News for Your Tech Stack (openai + Pinecone Rag)

ByWill Carlson @will-carlson on n8n.io

Collects cybersecurity news from trusted RSS feeds and uses OpenAI’s Retrieval-Augmented Generation (RAG) capabilities with Pinecone to filter for content that is directly relevant to your organization’s tech stack. “Relevant” means the AI looks for news items that mention your…

Cron / scheduled trigger★★★★★ complexityAI-powered41 nodesRSS Feed ReadOpenAI ChatAgentGmailOpenAI EmbeddingsDocument Default Data LoaderForm TriggerChat Trigger
AI & RAG Trigger: Cron / scheduled Nodes: 41 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7017 — we link there as the canonical source.

This workflow follows the Agent → Chat Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "7b88cc8a-f805-4c7d-9a6c-644711cfaf63",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -496,
        608
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 8 * * 1-5"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "379eb0dd-262e-4bd1-bccb-2a5e0f42bdc0",
      "name": "Bleeping Computer",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        0,
        256
      ],
      "parameters": {
        "url": "https://www.bleepingcomputer.com/feed/",
        "options": {
          "ignoreSSL": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "022f1a79-24de-41b4-8cbe-2b35752deccc",
      "name": "The Hacker News",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        0,
        400
      ],
      "parameters": {
        "url": "https://feeds.feedburner.com/TheHackersNews",
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "601d6417-53aa-42ca-aa23-1b263b319abd",
      "name": "Security Week",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        0,
        544
      ],
      "parameters": {
        "url": "https://www.securityweek.com/feed/",
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "964fb9cf-5a29-4ce3-a95c-eef5c88f4e5b",
      "name": "Nist.Gov",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        0,
        688
      ],
      "parameters": {
        "url": "https://www.nist.gov/news-events/news/rss.xml",
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "b7241ba2-cfc2-4bd4-a88e-ea6cd2301e28",
      "name": "Krebson Security",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        0,
        832
      ],
      "parameters": {
        "url": "https://krebsonsecurity.com/feed/",
        "options": {
          "ignoreSSL": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "764bcf3b-ba94-45f3-a9c4-979ece288905",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1536,
        800
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "gpt-4.1"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "c81157e7-f2d9-4c6f-ae0e-6e9f7e0fd6cb",
      "name": "Threat Intelligence Analyst AI",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1600,
        592
      ],
      "parameters": {
        "text": "=You are a cybersecurity threat intelligence analyst. Your goal is to sort through cybersecurity news. Since we are a small team, only include news that includes specific vulnerabilities or is extremely relevant and requires our action.\n\nMy firm uses these systems:\n    - List out here\n    - List as many as you can think of\n    - This is where you list\n\nTitle of article: {{ $json.title }}\nReview this content:  {{ $json.content }}\nHere is the link: {{ $json.link }}\n\nUse the Pinecone Vector Store tool as it has context on if the article content is relevant. This will help you find context for what is in scope (relevant) and what is out of scope. \n\nIf you think I should read this, please summarize the content and include the link. If not applicable, return one word: N/A - without any additional info. In general I am busy so I don't want to read often. If it does not seem actionable or highly relevant, return one word: N/A\n\nFormat the output in HTML with a header and body. No need to define as HTML document because it will be embeded in an email. Header should be a five words describing the article.\n\nFormat should be:\n<h2>Five Word Title Goes Here</h2>\n<p><strong>Summary:</strong> Then explain the article's summary.</p>\n<p><a href=\"https://link-here.com\">Read the full article</a></p>",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "86f709e5-ec8b-4a5c-a9ad-857c5a4523da",
      "name": "Send message to work email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3776,
        464
      ],
      "parameters": {
        "message": "=<h1>\ud83d\uddde\ufe0f Your Daily News Briefing</h1>\n<br><br>\n\n{{ $json[\"AI News\"].join(\"<br><br>\") }}\n\n<hr/>\n",
        "options": {},
        "subject": "Daily News Updates (n8n Email Node)"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "694619f2-a8f7-40af-ad74-4e97c1ed3be1",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        1648,
        1168
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "a59eeecd-111b-4851-9c24-7359c0fe09ba",
      "name": "Default Data Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        2336,
        1360
      ],
      "parameters": {
        "loader": "textLoader",
        "options": {},
        "dataType": "binary"
      },
      "typeVersion": 1.1
    },
    {
      "id": "d8fe1d4a-d226-462f-a171-b0594c1acacd",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        1984,
        1200
      ],
      "parameters": {
        "options": {},
        "formTitle": "Upload your data to RAG",
        "formFields": {
          "values": [
            {
              "fieldType": "file",
              "fieldLabel": "Upload your file(s)",
              "requiredField": true,
              "acceptFileTypes": ".txt"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a39a6131-5814-45e9-96c0-e1954b432152",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        848,
        1104
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "37a0e1e0-ca97-4506-bc8f-ae8be81b0c80",
      "name": "Pinecone RAG test",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1056,
        1104
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "c2a501a6-e73d-439b-8c58-37d2fc34efe8",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1008,
        1328
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "28b9f7c2-ccae-46bd-b9f0-45585718000f",
      "name": "Pinecone Vector Store2",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        608,
        1312
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "pineconeNamespace": "Scope"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "cybernews",
          "cachedResultName": "cybernews"
        },
        "toolDescription": "Retrieve data from your vector store Pinecone"
      },
      "typeVersion": 1.3
    },
    {
      "id": "c1dc13b5-43de-4f06-9ab2-eb6d3de80daf",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1184,
        1296
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "2e9de2d8-4338-40f0-96e1-414a037d3283",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        1024
      ],
      "parameters": {
        "width": 912,
        "height": 432,
        "content": "## Test RAG\nUse this chatbot to test if RAG is working and has the correct data."
      },
      "typeVersion": 1
    },
    {
      "id": "79a350f9-c33c-43a8-a8d7-fcded366620f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1904,
        1088
      ],
      "parameters": {
        "color": 2,
        "width": 624,
        "height": 400,
        "content": "## Document submission for RAG\nThis workflow is how you upload .txt files to RAG for ingestion."
      },
      "typeVersion": 1
    },
    {
      "id": "03c7dcfb-6065-4b5b-ae00-29020b5e0cbb",
      "name": "CISA.gov",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        0,
        976
      ],
      "parameters": {
        "url": "https://www.cisa.gov/cybersecurity-advisories/all.xml",
        "options": {
          "ignoreSSL": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d842793d-fe64-41a2-892e-a80d2cb782e3",
      "name": "Second Reviewer Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2640,
        624
      ],
      "parameters": {
        "text": "=You are a cybersecurity executive advisor responsible for vetting the output of a threat intelligence analyst. The analyst's job is to scan cybersecurity news and produce executive summaries of articles that may impact my company. You are the second layer of review before anything gets sent to the Analyst.\n\nYour job is to decide if the summary is strong enough to be worth forwarding. Only approve it if it is highly actionable, time-sensitive, preventative measures or involves software/platforms used by our company. Your pass rate for an article should hover around 75%.\n\nDecision Options:\nIf the article should be forwarded, improve the HTML formatting slightly if needed.\nIf the article should NOT be sent, return this exact response:N/A\n\nEvaluation Criteria:\nThe article involves a vulnerability, exploit, or incident impacting the listed platforms\nIt describes a current threat actor campaign or tactic we are likely to encounter\nIt includes a CVE with confirmed exploitation or ties to CISA KEV\nIt describes vendor patching guidance or mitigation steps relevant to our stack\nAnything else is not worth passing along\n\nTone:\nBe brief and clinical\nNo speculation\nNo flattery\nPrioritize reducing cognitive load for busy executives\n\nAI Agent output for review:\n{{ $json.output }}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "25fa23ab-4c17-4a2c-afcc-ba68333c3fae",
      "name": "o4-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2640,
        800
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "o4-mini",
          "cachedResultName": "o4-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "6698e7d3-ef6a-448e-9dee-38c239cd2d62",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        112
      ],
      "parameters": {
        "height": 1104,
        "content": "## RSS feeds\nPulls RSS feeds from main cybersecurity news sites."
      },
      "typeVersion": 1
    },
    {
      "id": "288c488f-31ad-464a-afaa-276b8a9f8929",
      "name": "Newer than 24 hours",
      "type": "n8n-nodes-base.if",
      "position": [
        784,
        400
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "11bfb205-8012-4824-82cb-1ee04625190d",
              "operator": {
                "type": "dateTime",
                "operation": "after"
              },
              "leftValue": "={{ $json.isoDate }}",
              "rightValue": "={{ new Date(Date.now() - 24 * 60 * 60 * 1000) }}"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "43acc799-4f35-43c6-8cc6-b10a778696f0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        224
      ],
      "parameters": {
        "width": 256,
        "height": 288,
        "content": "## Limit length of article\nSome articles are really long. Limits length while still keeping enough for AI to understand"
      },
      "typeVersion": 1
    },
    {
      "id": "8b74b4c8-2833-4c4c-bd1e-b91564cdfc5a",
      "name": "Pinecone Vector Store1",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        1648,
        800
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "pineconeNamespace": "Scope"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "cybernews",
          "cachedResultName": "cybernews"
        },
        "toolDescription": "Pull data from here to have context on what articles are relative based on feedback stored in the vector store."
      },
      "typeVersion": 1.3
    },
    {
      "id": "2dd0fbb5-13d1-401d-bd1a-de8ddc21fe90",
      "name": "Pinecone Vector Store Submission",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        2160,
        1200
      ],
      "parameters": {
        "mode": "insert",
        "options": {
          "pineconeNamespace": "Scope"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "cybernews",
          "cachedResultName": "cybernews"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "db98ac29-6e3d-493f-b48b-a1bab0480401",
      "name": "Merge all RSS items",
      "type": "n8n-nodes-base.merge",
      "position": [
        576,
        544
      ],
      "parameters": {
        "numberInputs": 6
      },
      "typeVersion": 3.2
    },
    {
      "id": "f9b8d411-b94e-48c4-8703-f89d0b39348c",
      "name": "News older than 24 hours",
      "type": "n8n-nodes-base.noOp",
      "position": [
        992,
        656
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f95618ac-b114-4d75-a9ef-9b445022ffd0",
      "name": "Limit Length of article",
      "type": "n8n-nodes-base.code",
      "position": [
        1104,
        384
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  const maxLength = 13000;\n\n  const truncatedContent = (item.json.content || \"\").slice(0, maxLength);\n  const truncatedSnippet = (item.json.contentSnippet || \"\").slice(0, maxLength);\n\n  return {\n    json: {\n      ...item.json,\n      content: truncatedContent,\n      contentSnippet: truncatedSnippet,\n    },\n  };\n});\n\n\n"
      },
      "typeVersion": 2
    },
    {
      "id": "5b9ef77c-b5d4-447c-ae47-ea844ef7a32f",
      "name": "If AI Agent thinks article is relevant to you",
      "type": "n8n-nodes-base.if",
      "position": [
        2192,
        512
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a41212e6-179b-4f18-b734-03b94d9190c1",
              "operator": {
                "type": "string",
                "operation": "notContains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "N/A"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "736602ff-635d-4084-865c-28cc3e85724a",
      "name": "Do nothing - Article is irrelevant",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2256,
        752
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d49fdd93-3e7b-4a85-8775-18b9312fdc08",
      "name": "Wait 1 minute",
      "type": "n8n-nodes-base.wait",
      "position": [
        2992,
        768
      ],
      "parameters": {
        "unit": "minutes",
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "8e417b1c-22a4-4a65-9df7-e1e7324a4407",
      "name": "Wait 1 minute (rate-limits)",
      "type": "n8n-nodes-base.wait",
      "position": [
        1952,
        592
      ],
      "parameters": {
        "unit": "minutes",
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "43921da9-5ee6-416c-962c-bd29bdec8120",
      "name": "Loop Over Items (Batch = 10)",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        2576,
        400
      ],
      "parameters": {
        "options": {},
        "batchSize": 10
      },
      "typeVersion": 3
    },
    {
      "id": "c9a5e118-d8c3-439c-89a6-d5e489f2cfe4",
      "name": "Loop Over Items (Batch = 4)",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1520,
        384
      ],
      "parameters": {
        "options": {},
        "batchSize": 4
      },
      "typeVersion": 3
    },
    {
      "id": "875774af-79fa-4d8d-990c-80621091bb2a",
      "name": "If second ai agent thinks article is relevant",
      "type": "n8n-nodes-base.if",
      "position": [
        3248,
        464
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a41212e6-179b-4f18-b734-03b94d9190c1",
              "operator": {
                "type": "string",
                "operation": "notContains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "N/A"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "1c4ce377-16ff-436b-8b34-ac361b2d67f7",
      "name": "Do nothing - Ai Agent thinks article is irrelevant",
      "type": "n8n-nodes-base.noOp",
      "position": [
        3312,
        736
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d0bc4bb6-5fa8-4888-b3e5-47eeffcfebe0",
      "name": "Aggregate articles into one email",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        3552,
        464
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "renameField": true,
              "outputFieldName": "AI News",
              "fieldToAggregate": "output"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ea36f67d-6032-4cf5-8fe5-3c9f7b0a6aab",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1392,
        224
      ],
      "parameters": {
        "color": 5,
        "width": 752,
        "height": 704,
        "content": "## AI Agent 1 = Pinecone Scope Reviewer\nThis AI Agent reviews the Pinecone Vector Store and determines if the articles match the scope of what you have defined in the .txt documents you have added to Pinecone."
      },
      "typeVersion": 1
    },
    {
      "id": "4a32a389-4bfc-4ef9-baef-8a836cea42aa",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2496,
        272
      ],
      "parameters": {
        "color": 5,
        "width": 656,
        "height": 704,
        "content": "## AI Agent 2 = Review again\nThis AI Agent's job is to decide if the summary is strong enough to be worth forwarding. It only approves it if it is highly actionable, time-sensitive, preventative measures or involves software/platforms used by your company."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "o4-mini": {
      "ai_languageModel": [
        [
          {
            "node": "Second Reviewer Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "CISA.gov": {
      "main": [
        [
          {
            "node": "Merge all RSS items",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "Nist.Gov": {
      "main": [
        [
          {
            "node": "Merge all RSS items",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Security Week": {
      "main": [
        [
          {
            "node": "Merge all RSS items",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "Pinecone RAG test",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Wait 1 minute": {
      "main": [
        [
          {
            "node": "Loop Over Items (Batch = 10)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "The Hacker News": {
      "main": [
        [
          {
            "node": "Merge all RSS items",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Krebson Security": {
      "main": [
        [
          {
            "node": "Merge all RSS items",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Bleeping Computer",
            "type": "main",
            "index": 0
          },
          {
            "node": "The Hacker News",
            "type": "main",
            "index": 0
          },
          {
            "node": "Security Week",
            "type": "main",
            "index": 0
          },
          {
            "node": "Nist.Gov",
            "type": "main",
            "index": 0
          },
          {
            "node": "Krebson Security",
            "type": "main",
            "index": 0
          },
          {
            "node": "CISA.gov",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Bleeping Computer": {
      "main": [
        [
          {
            "node": "Merge all RSS items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store2",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "Pinecone Vector Store1",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "Pinecone Vector Store Submission",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Threat Intelligence Analyst AI",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Pinecone Vector Store Submission",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Pinecone RAG test",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Pinecone Vector Store Submission",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Merge all RSS items": {
      "main": [
        [
          {
            "node": "Newer than 24 hours",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Newer than 24 hours": {
      "main": [
        [
          {
            "node": "Limit Length of article",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "News older than 24 hours",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Second Reviewer Agent": {
      "main": [
        [
          {
            "node": "Wait 1 minute",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store1": {
      "ai_tool": [
        [
          {
            "node": "Threat Intelligence Analyst AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store2": {
      "ai_tool": [
        [
          {
            "node": "Pinecone RAG test",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Limit Length of article": {
      "main": [
        [
          {
            "node": "Loop Over Items (Batch = 4)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Pinecone RAG test",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items (Batch = 4)": {
      "main": [
        [
          {
            "node": "If AI Agent thinks article is relevant to you",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Threat Intelligence Analyst AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 1 minute (rate-limits)": {
      "main": [
        [
          {
            "node": "Loop Over Items (Batch = 4)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items (Batch = 10)": {
      "main": [
        [
          {
            "node": "If second ai agent thinks article is relevant",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Second Reviewer Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Threat Intelligence Analyst AI": {
      "main": [
        [
          {
            "node": "Wait 1 minute (rate-limits)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate articles into one email": {
      "main": [
        [
          {
            "node": "Send message to work email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If AI Agent thinks article is relevant to you": {
      "main": [
        [
          {
            "node": "Loop Over Items (Batch = 10)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Do nothing - Article is irrelevant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If second ai agent thinks article is relevant": {
      "main": [
        [
          {
            "node": "Aggregate articles into one email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Do nothing - Ai Agent thinks article is irrelevant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Collects cybersecurity news from trusted RSS feeds and uses OpenAI’s Retrieval-Augmented Generation (RAG) capabilities with Pinecone to filter for content that is directly relevant to your organization’s tech stack. “Relevant” means the AI looks for news items that mention your…

Source: https://n8n.io/workflows/7017/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

WooriFisa. Uses agent, httpRequest, documentDefaultDataLoader, vectorStorePinecone. Scheduled trigger; 86 nodes.

Agent, HTTP Request, Document Default Data Loader +14
AI & RAG

This workflow automates patient communication for medical clinics using the WhatsApp Business API. It supports appointment booking, rescheduling, service inquiries, follow-ups, and document submission

Google Sheets, Data Table, Data Table Tool +12
AI & RAG

WooriFisa 최종. Uses memoryMongoDbChat, agent, httpRequest, documentDefaultDataLoader. Scheduled trigger; 68 nodes.

Memory Mongo Db Chat, Agent, HTTP Request +14
AI & RAG

This workflow is designed for support teams, data engineers, and AI developers who want to centralize Jira issue data into a vector database. It collects open issues and their associated comments, con

Text Splitter Recursive Character Text Splitter, HTTP Request, Pinecone Vector Store +8
AI & RAG

Personalized AI Tech Newsletter Using RSS, OpenAI and Gmail. Uses splitOut, embeddingsOpenAi, documentDefaultDataLoader, textSplitterRecursiveCharacterTextSplitter. Scheduled trigger; 24 nodes.

OpenAI Embeddings, Document Default Data Loader, Text Splitter Recursive Character Text Splitter +5