{
  "name": "Create and send tech news digests with RSS, Gemini AI and Gmail",
  "nodes": [
    {
      "id": "4da74104-9743-462b-8919-9cd595ce683a",
      "name": "RSS_TheHackersNews",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        -448
      ]
    },
    {
      "id": "d6c68cbe-61a3-4217-a90c-34da70f91ac7",
      "name": "RSS_GrahamCluley",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        -64
      ]
    },
    {
      "id": "9f7c8f2f-5261-4918-95bb-d3fba6420773",
      "name": "RSS_cybersecuritynews",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        -320
      ]
    },
    {
      "id": "301a3616-d053-4816-aafa-a7099f33eecb",
      "name": "RSS_ilsole24ore Tech",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        1040
      ]
    },
    {
      "id": "67a27f78-8f18-4c01-ba07-9175b7b35396",
      "name": "RSS_ilsole24ore Cyber",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        912
      ]
    },
    {
      "id": "73d381f7-0589-4b1c-b5f0-3601b8ff32b3",
      "name": "RSS_cybersecurity360",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        1168
      ]
    },
    {
      "id": "e872dc6b-e6bf-4da1-82bc-9218914722a4",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1104,
        -512
      ],
      "parameters": {
        "width": null,
        "height": 2096,
        "content": "### CyberSecurity"
      }
    },
    {
      "id": "aafe97e9-8bcd-44f8-b486-e51ef3e438cf",
      "name": "RSS_artificialintelligence-news.",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        1632
      ]
    },
    {
      "id": "85ebe282-13f3-484d-a4ac-27115596c0d8",
      "name": "RSS_GoogleResearch",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        1760
      ]
    },
    {
      "id": "68ab41cb-f7f7-4de1-8e89-c3d437d01a0d",
      "name": "RSS_MIT",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        1888
      ]
    },
    {
      "id": "4c11828a-01e7-41e4-8271-1a61db3b6838",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1104,
        1600
      ],
      "parameters": {
        "width": null,
        "height": 560,
        "content": "### AI"
      }
    },
    {
      "id": "f43023df-1b86-4c72-878f-b6558dddba9d",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        160,
        1216
      ]
    },
    {
      "id": "1cb69db6-d8ff-4b90-875d-f54720058744",
      "name": "Sort - Articles by Date",
      "type": "n8n-nodes-base.sort",
      "position": [
        400,
        1216
      ]
    },
    {
      "id": "64d14789-8049-4476-aa7a-9b92c5075c92",
      "name": "Build Final Newsletter HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        1168,
        1216
      ]
    },
    {
      "id": "f6e41658-fcb0-4b07-99cf-1c9df1ca2e99",
      "name": "Send Final Digest Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1520,
        1216
      ]
    },
    {
      "id": "84e2fce2-bbac-4a12-badb-1275dde45e4b",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        608,
        1216
      ]
    },
    {
      "id": "e6b6c2c8-876b-4023-b2ec-b2242ee98060",
      "name": "LLM - News Summarizer",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        816,
        1216
      ]
    },
    {
      "id": "4bcab353-1ec6-46ce-b06f-0c20f25b51b8",
      "name": "RSS_darkreading",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        320
      ]
    },
    {
      "id": "6b138749-4c9c-4050-af9f-a02e078fe408",
      "name": "RSS_GoogleCloudBlog",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        64
      ]
    },
    {
      "id": "f3c1b42e-14fb-49bf-ac07-ba54359ee235",
      "name": "RSS_krebsonsecurity",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        -192
      ]
    },
    {
      "id": "1b1f01a4-1e4c-464f-92c8-6a33dedf030f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1104,
        2176
      ],
      "parameters": {
        "width": null,
        "height": 416,
        "content": "### Nvidia"
      }
    },
    {
      "id": "a52e25c6-42e7-41bf-b379-1dfc74b51ac3",
      "name": "RSS_Nvidia1",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        2208
      ]
    },
    {
      "id": "6d17fd5a-1fe5-4922-b3e1-caa63a16cbb6",
      "name": "RSS_Nvidia2",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        2336
      ]
    },
    {
      "id": "4df9ae9a-a0dc-4dc5-afb5-77cc75a3d305",
      "name": "RSS_Nvidia3",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        2464
      ]
    },
    {
      "id": "d740fd2e-7407-439a-982a-91a69d2e974b",
      "name": "RSS_OpenAI",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        2016
      ]
    },
    {
      "id": "e101e47a-b74c-4239-98ad-5dc934a71496",
      "name": "RSS_cve1",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        624
      ]
    },
    {
      "id": "9bf9fe97-16ae-4afa-8a1a-2c34b9665d5b",
      "name": "RSS_cve2",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        752
      ]
    },
    {
      "id": "4c5f021e-91bd-4d04-a618-9f9ed5185049",
      "name": "Merge_Nvidia",
      "type": "n8n-nodes-base.merge",
      "position": [
        -736,
        2336
      ]
    },
    {
      "id": "31dd05a0-007f-420a-b998-861c4fde049e",
      "name": "Merge_AI",
      "type": "n8n-nodes-base.merge",
      "position": [
        -736,
        1808
      ]
    },
    {
      "id": "2021a80f-c837-4a47-a0fd-b3a542cd153b",
      "name": "Merge_Cyber1",
      "type": "n8n-nodes-base.merge",
      "position": [
        -736,
        -16
      ]
    },
    {
      "id": "f62fbf89-cfd0-4051-867d-0bc0253eff45",
      "name": "Merge_Cyber2",
      "type": "n8n-nodes-base.merge",
      "position": [
        -736,
        704
      ]
    },
    {
      "id": "d75ca9e8-257b-4ec4-92cc-174ccb13372e",
      "name": "Merge_Cyber3",
      "type": "n8n-nodes-base.merge",
      "position": [
        -736,
        1104
      ]
    },
    {
      "id": "96a345b0-bc85-4c9a-bd54-2576ad5f3177",
      "name": "Merge_All",
      "type": "n8n-nodes-base.merge",
      "position": [
        -48,
        1168
      ]
    },
    {
      "id": "efa61ecf-3f45-4aed-8cd6-0125ce530d07",
      "name": "RSS_darkreading1",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        192
      ]
    },
    {
      "id": "9bf679c2-a256-4d9f-88a7-1c88f3a0a242",
      "name": "RSS_Sans",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        464
      ]
    },
    {
      "id": "4293ac0a-21aa-4a7c-a8c4-500f0f494d68",
      "name": "RSS_CiscoTalos",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        1440
      ]
    },
    {
      "id": "8f95b809-f398-4cd3-bb32-2b395282bc8b",
      "name": "RSS Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1040,
        1296
      ]
    },
    {
      "id": "5b07023a-66af-4b91-b587-76f837f4f076",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2032,
        1248
      ]
    },
    {
      "id": "dabb8fc9-b658-4617-9534-b541baee78c7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        -528
      ],
      "parameters": {
        "width": 592,
        "height": 992,
        "content": "## RSS Tech News to your inbox\n\nThis workflow automates the collection, normalization, and publication of content from a broad set of RSS feeds. The execution begins with a Schedule Trigger, which act"
      }
    },
    {
      "id": "a7afaeb6-90ed-41e9-98da-acc7dcd53a6a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2064,
        1104
      ],
      "parameters": {
        "width": 192,
        "height": 288,
        "content": "📌 Schedule Trigger\nStarts the entire workflow automatically at defined intervals—no manual execution required."
      }
    },
    {
      "id": "b589cb54-d7dd-4dbc-a796-3a840f647307",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1408,
        -512
      ],
      "parameters": {
        "width": 192,
        "height": 192,
        "content": "📌 RSS Nodes (Multiple Sources)\n\nEach node fetches the latest entries from one feed. Using isolated nodes keeps the flow stable and simplifies debugging."
      }
    },
    {
      "id": "0bcdb515-2676-45ae-b6fd-631ad65febd8",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        992
      ],
      "parameters": {
        "width": 192,
        "height": 416,
        "content": "📌 Merge Nodes\n\nCombine all feed outputs into one coherent dataset, preparing the workflow for global filtering and processing."
      }
    },
    {
      "id": "82e0d9b0-99f7-48c8-9e34-a1d6b31a4718",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        992
      ],
      "parameters": {
        "width": 208,
        "height": 352,
        "content": "📌 Filter\n\nFilters out everything older than 24 hours by comparing each article’s isoDate to “now minus 24 hours”. Only fresh news is allowed through to keep the briefing truly daily and relevant."
      }
    },
    {
      "id": "e8f58b9c-f8c1-43fe-8347-c9ab83fb7528",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        992
      ],
      "parameters": {
        "width": 256,
        "height": 352,
        "content": "📌 Gemini Node (AI Enrichment)\n\nGenerates summaries, keywords, topics, or enhanced textual representations of each article."
      }
    },
    {
      "id": "f3dcffd2-acb7-4a46-ab22-fd95b606909e",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        992
      ],
      "parameters": {
        "width": 256,
        "height": 368,
        "content": "📌 Final Output Node (Email / Notion / API / etc.)\n\nSends the finished newsletter via Gmail.\nUses the subject from the Code node and the generated html as the email body, so you receive a curated Tech "
      }
    },
    {
      "id": "214a64fc-a382-4080-b2c5-55efe456a4c5",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        992
      ],
      "parameters": {
        "width": 208,
        "height": 352,
        "content": "📌Sort – Articles by Date\n\nSorts all remaining articles by isoDate in descending order. This ensures that the most recent and time-sensitive stories are processed first and shown higher in the final br"
      }
    },
    {
      "id": "1ebc2fb4-1105-4edf-92b1-8909e3d072d0",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        992
      ],
      "parameters": {
        "width": 224,
        "height": 352,
        "content": "📌Sort – Code in JavaScript\n\nTakes all incoming RSS items and packs them into a single item with an articles array.\nFor each article it keeps: title, content or contentSnippet, link, isoDate\n"
      }
    },
    {
      "id": "93992ebf-d965-4db0-a30f-933369648275",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1072,
        992
      ],
      "parameters": {
        "width": 368,
        "height": 368,
        "content": "📌 Build Final Newsletter HTML (Code)\n\nThis Code node takes the JSON returned by the LLM and prepares the final email.\nIt removes any ```json wrappers, parses the JSON safely, and checks that subject a"
      }
    }
  ],
  "connections": {
    "Filter": {
      "main": [
        [
          {
            "node": "Sort - Articles by Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_MIT": {
      "main": [
        [
          {
            "node": "Merge_AI",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Merge_AI": {
      "main": [
        [
          {
            "node": "Merge_All",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "RSS Read": {
      "main": [
        [
          {
            "node": "Merge_Cyber3",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "RSS_Sans": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 7
          }
        ]
      ]
    },
    "RSS_cve1": {
      "main": [
        [
          {
            "node": "Merge_Cyber2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_cve2": {
      "main": [
        [
          {
            "node": "Merge_Cyber2",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Merge_All": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_OpenAI": {
      "main": [
        [
          {
            "node": "Merge_AI",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "RSS_Nvidia1": {
      "main": [
        [
          {
            "node": "Merge_Nvidia",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_Nvidia2": {
      "main": [
        [
          {
            "node": "Merge_Nvidia",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "RSS_Nvidia3": {
      "main": [
        [
          {
            "node": "Merge_Nvidia",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Merge_Cyber1": {
      "main": [
        [
          {
            "node": "Merge_All",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge_Cyber2": {
      "main": [
        [
          {
            "node": "Merge_All",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Merge_Cyber3": {
      "main": [
        [
          {
            "node": "Merge_All",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Merge_Nvidia": {
      "main": [
        [
          {
            "node": "Merge_All",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "RSS_CiscoTalos": {
      "main": [
        [
          {
            "node": "Merge_Cyber3",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "RSS_darkreading": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 6
          }
        ]
      ]
    },
    "RSS_GrahamCluley": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "RSS_darkreading1": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "RSS_TheHackersNews",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_cybersecuritynews",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_krebsonsecurity",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_GrahamCluley",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_GoogleCloudBlog",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_darkreading1",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_Sans",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_cve1",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_cve2",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_ilsole24ore Cyber",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_ilsole24ore Tech",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_cybersecurity360",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS Read",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_CiscoTalos",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_artificialintelligence-news.",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_GoogleResearch",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_MIT",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_OpenAI",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_Nvidia1",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_Nvidia2",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_Nvidia3",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS_darkreading",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "LLM - News Summarizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_GoogleResearch": {
      "main": [
        [
          {
            "node": "Merge_AI",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "RSS_TheHackersNews": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_GoogleCloudBlog": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "RSS_krebsonsecurity": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "RSS_cybersecurity360": {
      "main": [
        [
          {
            "node": "Merge_Cyber3",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "RSS_ilsole24ore Tech": {
      "main": [
        [
          {
            "node": "Merge_Cyber3",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "LLM - News Summarizer": {
      "main": [
        [
          {
            "node": "Build Final Newsletter HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_cybersecuritynews": {
      "main": [
        [
          {
            "node": "Merge_Cyber1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "RSS_ilsole24ore Cyber": {
      "main": [
        [
          {
            "node": "Merge_Cyber3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sort - Articles by Date": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Final Newsletter HTML": {
      "main": [
        [
          {
            "node": "Send Final Digest Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS_artificialintelligence-news.": {
      "main": [
        [
          {
            "node": "Merge_AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}