{
  "name": "Tech news_curator - analyze daily news using AI_agents with Mistral",
  "nodes": [
    {
      "id": "12a3d51d-0fb1-4663-ae91-6f7da54f1744",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        -360,
        700
      ]
    },
    {
      "id": "49d86034-6aa4-4e59-ac71-36939145022e",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        800,
        980
      ]
    },
    {
      "id": "0b7370c2-acba-410b-9f01-f9bbc0228776",
      "name": "ScienceDaily Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        540
      ]
    },
    {
      "id": "77e79dc6-1a96-4ac8-843d-fe02c848a15b",
      "name": "AlternativeTo Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        900
      ]
    },
    {
      "id": "de23bf0b-e6e9-4654-a603-bd8de610f38d",
      "name": "MIT Technology Review Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        1080
      ]
    },
    {
      "id": "51006112-1569-4e57-a887-b4e70c0feb5a",
      "name": "lobste.rs Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        180
      ]
    },
    {
      "id": "03cd83c3-d785-40cd-b20e-9227ce57834d",
      "name": "Filter by Datetime",
      "type": "n8n-nodes-base.filter",
      "position": [
        20,
        820
      ]
    },
    {
      "id": "da651706-a19a-479f-a955-e1fe603ec0ed",
      "name": "Mistral Cloud Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
      "position": [
        1940,
        1840
      ]
    },
    {
      "id": "a1a3beac-4b21-4feb-8a4e-3fc7f8b91df5",
      "name": "News Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1020,
        1120
      ]
    },
    {
      "id": "423e8ad7-867a-494e-933f-5613e4dbcc57",
      "name": "Split Out News Data",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1460,
        920
      ]
    },
    {
      "id": "d1e1aeb6-f42e-4fd8-a351-b4c8229246a7",
      "name": "Remove Certain Content",
      "type": "n8n-nodes-base.filter",
      "position": [
        360,
        820
      ]
    },
    {
      "id": "29888373-da05-4ee0-971d-1dd508823fd2",
      "name": "Silicone Republic Technology Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        1260
      ]
    },
    {
      "id": "45c3877c-e6d8-4c12-a0b1-2156b0b4dbc4",
      "name": "Silicone Republic Science Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        1440
      ]
    },
    {
      "id": "d803f64b-24d2-4828-adaa-b55d67112e9e",
      "name": "Schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1920,
        880
      ]
    },
    {
      "id": "692c7592-9834-48fe-84ab-74216943233a",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -840,
        180
      ]
    },
    {
      "id": "758cbfc6-559a-4ebe-8955-49604bd2d924",
      "name": "Rejoin Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -640,
        360
      ]
    },
    {
      "id": "93d0ab4e-f3aa-4712-a7ec-95884f396ce8",
      "name": "Join Outputs",
      "type": "n8n-nodes-base.merge",
      "position": [
        1620,
        840
      ]
    },
    {
      "id": "69fbc0ca-bd09-40cb-affe-c1955cd990b4",
      "name": "Final Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2320,
        820
      ]
    },
    {
      "id": "5674a7e0-1aa3-4085-acef-c41d22530140",
      "name": "Website Summarizer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1920,
        840
      ]
    },
    {
      "id": "7fa67db0-c75a-42ae-9de0-c90a81feb406",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        560
      ],
      "parameters": {
        "width": 880,
        "height": 480,
        "content": "## Filtering Step\n**Filter by Datetime** only allows daily news.\n**Remove Certain Content** to remove unwanted news through use of keywords.\n\nObservation: you can add or remove your own desired keywor"
      }
    },
    {
      "id": "7b943173-28d8-4a1d-86b9-06837e1c38a6",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        560
      ],
      "parameters": {
        "width": 640,
        "height": 900,
        "content": "## News Selection\n**Aggregate** will prep the news for the AI Agent. It will encapsulate the list of news into a singular data.\n**News Analyzer** is the Agent which will use the Chat Model to make an "
      }
    },
    {
      "id": "a1d89fc5-4f6d-4e15-be60-a22ff049ccbb",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1420,
        560
      ],
      "parameters": {
        "width": 1060,
        "height": 580,
        "content": "## News Summarizer\n**Split Out News Data** will prep the top news selected by the News Analyzer. The Top News have their website content in a former step of this workflow, so they must be joined again"
      }
    },
    {
      "id": "d1942504-dc3d-4ae7-b342-28d26827945b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        -240
      ],
      "parameters": {
        "width": 1520,
        "height": 2060,
        "content": "# Tech News Gathering\n**Schedule** will start the workflow according to its configuration. In this workflow, it is configured to start every weekday after 12:00 PM.\n**Feed Nodes** will get the RSS fee"
      }
    },
    {
      "id": "6fdcf852-4638-4081-8621-b4f4cc6e03d6",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1080,
        -80
      ],
      "parameters": {
        "width": 660,
        "height": 1880,
        "content": "## Field Prep\n- Standardize RSS outputs\n- Remove Fields\n- Add Info as Needed\n\n*Obs: set the Sub-Workflow \"Get Webage Content\". ([Guide](https://docs.n8n.io/workflows/subworkflow-conversion/))"
      }
    },
    {
      "id": "ca60f20b-cc2f-4172-92bd-d993d8bdefd3",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        -80
      ],
      "parameters": {
        "width": 600,
        "height": 1880,
        "content": "## Feed Nodes\nEach node will get a list of news from a RSS feed or a search engine (in our case, DuckDuckGo).\n\n*Observation: \nThe DuckDuckGo custom node is called: n8n-nodes-duckduckgo-search\nYou will"
      }
    },
    {
      "id": "a7b40eed-b05a-4892-b7ec-fc3f4c328b6b",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        320
      ],
      "parameters": {
        "width": 540,
        "height": 220,
        "content": "In the end of the **News Gathering step**, the output of merge should contain a list of news with the following properties: title, pubDate, link and content.\n\n*Observation: you could try to avoid RSS "
      }
    },
    {
      "id": "30ec121c-d5ed-405d-8c6b-7d31daea4f19",
      "name": "TheHackersNews* Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        720
      ]
    },
    {
      "id": "0be003b9-f7d7-44f4-ab6a-7812060e8344",
      "name": "Filter Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        180
      ]
    },
    {
      "id": "40374b49-29b7-4965-abc6-6be211f27821",
      "name": "Filter Fields 2",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        340
      ]
    },
    {
      "id": "47c2f29d-f56b-451f-b2c8-3c4c7d19f94f",
      "name": "Filter Fields 3",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        540
      ]
    },
    {
      "id": "9ab7119a-12f7-4366-861f-2ef35738409c",
      "name": "Filter Fields 4",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        720
      ]
    },
    {
      "id": "3899b74c-3785-4ec6-83a2-0c92bf0e8405",
      "name": "Filter Fields 5",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        900
      ]
    },
    {
      "id": "7dc32f30-6d77-4987-ae43-90214d990992",
      "name": "Filter Fields 6",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        1080
      ]
    },
    {
      "id": "5bcfdca4-925f-426a-bde8-fc89ffc00631",
      "name": "Filter Fields 7",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        1260
      ]
    },
    {
      "id": "285cd92f-a9bc-4758-8de5-b07a3013f504",
      "name": "Filter Fields 8",
      "type": "n8n-nodes-base.set",
      "position": [
        -1020,
        1440
      ]
    },
    {
      "id": "0ec39c32-4f44-4ace-8ecf-7632f5697136",
      "name": "Markdown Conversion",
      "type": "n8n-nodes-base.markdown",
      "position": [
        -600,
        160
      ]
    },
    {
      "id": "04ba0b02-da75-4c9f-b8fd-8b4aaa28cc93",
      "name": "JSON Output Parser 2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2080,
        1000
      ]
    },
    {
      "id": "11ee267f-6429-48dd-aa01-3e1e0cd49a50",
      "name": "JSON Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1260,
        1280
      ]
    },
    {
      "id": "f841eedd-91b2-4ef8-ba49-d46999f05802",
      "name": "DuckDuckGo",
      "type": "n8n-nodes-duckduckgo-search.duckDuckGo",
      "position": [
        -1240,
        1620
      ]
    },
    {
      "id": "9dc00e4e-15c4-4fce-acc4-b67c3de99bcb",
      "name": "Filter Fields 9",
      "type": "n8n-nodes-base.set",
      "position": [
        -1040,
        1620
      ]
    },
    {
      "id": "92732b78-71a2-4d4e-91f3-41231153046b",
      "name": "Call Get Webpage Content to Data",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        -860,
        1620
      ]
    },
    {
      "id": "1ba68823-f76e-4277-a9d1-90d549ad080b",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        1060
      ],
      "parameters": {
        "width": 680,
        "height": 540,
        "content": "## Sub-Workflow : Get Webpage Content to Data\nThis Sub-Workflow will deal with cases where the content of the link is not immediately given by Source Node."
      }
    },
    {
      "id": "dc42e913-8d41-41c5-bd40-7ba006b1d361",
      "name": "Remove Elements with Empty Content",
      "type": "n8n-nodes-base.filter",
      "position": [
        -660,
        1320
      ]
    },
    {
      "id": "d5053c20-a8af-4d9e-b2b6-02c51044ecdd",
      "name": "HTTP Request Example",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -40,
        1220
      ]
    },
    {
      "id": "2461638a-9de6-4a67-b287-0e0102e32764",
      "name": "Rejoin Data Example",
      "type": "n8n-nodes-base.set",
      "position": [
        20,
        1440
      ]
    },
    {
      "id": "b7d64a46-2656-45a8-8053-3c6fa6df6e4f",
      "name": "Markdown Conversion Example",
      "type": "n8n-nodes-base.markdown",
      "position": [
        200,
        1200
      ]
    },
    {
      "id": "bd46c6d8-f235-4bad-9866-e0c1a72bc6e3",
      "name": "Final Join Outputs",
      "type": "n8n-nodes-base.merge",
      "position": [
        2680,
        1080
      ]
    },
    {
      "id": "4894d04d-7e11-4af0-9370-c6eefdad1371",
      "name": "Test Feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1240,
        340
      ]
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Filter by Datetime",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule": {
      "main": [
        [
          {
            "node": "lobste.rs Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "Test Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "ScienceDaily Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "TheHackersNews* Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "AlternativeTo Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "MIT Technology Review Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "Silicone Republic Technology Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "Silicone Republic Science Feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "DuckDuckGo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "News Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Test Feed": {
      "main": [
        [
          {
            "node": "Filter Fields 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "DuckDuckGo": {
      "main": [
        [
          {
            "node": "Filter Fields 9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rejoin Data": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Markdown Conversion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Join Outputs": {
      "main": [
        [
          {
            "node": "Website Summarizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Fields": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "News Analyzer": {
      "main": [
        [
          {
            "node": "Split Out News Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Final Join Outputs",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "lobste.rs Feed": {
      "main": [
        [
          {
            "node": "Filter Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Fields 2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Filter Fields 3": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Filter Fields 4": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Filter Fields 5": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "Filter Fields 6": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "Filter Fields 7": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 6
          }
        ]
      ]
    },
    "Filter Fields 8": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 7
          }
        ]
      ]
    },
    "Filter Fields 9": {
      "main": [
        [
          {
            "node": "Call Get Webpage Content to Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Final Aggregate": {
      "main": [
        [
          {
            "node": "Final Join Outputs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ScienceDaily Feed": {
      "main": [
        [
          {
            "node": "Filter Fields 3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AlternativeTo Feed": {
      "main": [
        [
          {
            "node": "Filter Fields 5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter by Datetime": {
      "main": [
        [
          {
            "node": "Remove Certain Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Final Join Outputs": {
      "main": [
        []
      ]
    },
    "JSON Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "News Analyzer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Website Summarizer": {
      "main": [
        [
          {
            "node": "Final Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Markdown Conversion": {
      "main": [
        [
          {
            "node": "Rejoin Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out News Data": {
      "main": [
        [
          {
            "node": "Join Outputs",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "HTTP Request Example": {
      "main": [
        [
          {
            "node": "Markdown Conversion Example",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "JSON Output Parser 2": {
      "ai_outputParser": [
        [
          {
            "node": "Website Summarizer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "TheHackersNews* Feed": {
      "main": [
        [
          {
            "node": "Filter Fields 4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Certain Content": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          },
          {
            "node": "Join Outputs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mistral Cloud Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "News Analyzer",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Website Summarizer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "MIT Technology Review Feed": {
      "main": [
        [
          {
            "node": "Filter Fields 6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Markdown Conversion Example": {
      "main": [
        [
          {
            "node": "Rejoin Data Example",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Silicone Republic Science Feed": {
      "main": [
        [
          {
            "node": "Filter Fields 8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Call Get Webpage Content to Data": {
      "main": [
        [
          {
            "node": "Remove Elements with Empty Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Silicone Republic Technology Feed": {
      "main": [
        [
          {
            "node": "Filter Fields 7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Elements with Empty Content": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 8
          }
        ]
      ]
    }
  }
}