AutomationFlowsAI & RAG › Create Personalized News Digests From RSS Feeds with Gpt & Gemini via…

Create Personalized News Digests From RSS Feeds with Gpt & Gemini via…

Original n8n title: Create Personalized News Digests From RSS Feeds with Gpt & Gemini via Email/telegram

ByDavide Boizza @n3witalia on n8n.io

This workflow provides an intelligent automation solution for processing RSS feeds using ScrapeGraph API and delivering personalized news summaries via email and Telegram.

Event trigger★★★★☆ complexityAI-powered22 nodesRSS Feed ReadN8N Nodes ScrapegraphaiOpenAI ChatGmailInformation ExtractorGoogle Gemini ChatTelegramOutput Parser Structured
AI & RAG Trigger: Event Nodes: 22 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Chainllm → Gmail 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
{
  "id": "cue9rkrhYJ1Wtakg",
  "name": "Daily News Digest: Summarize RSS Feeds and Deliver to Email/Telegram with ScrapeGraphAI",
  "tags": [],
  "nodes": [
    {
      "id": "e116ed61-f29e-46c8-aff5-debdf21d923c",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -2544,
        528
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c371e851-1a56-49d1-8269-a507360c9ecc",
      "name": "RSS Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -2288,
        528
      ],
      "parameters": {
        "url": "URL_FEED",
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "aca55f6e-ea59-4e96-bdeb-91ffaaf43ff2",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        -1568,
        528
      ],
      "parameters": {
        "maxItems": 3
      },
      "typeVersion": 1
    },
    {
      "id": "b735bf45-5f47-42ef-9219-0c23439adb22",
      "name": "Loop Over Items1",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1312,
        528
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "bef44bc3-7321-4b43-a4bf-a2a8e3a1ee19",
      "name": "Convert a webpage or article to clean markdown useful for blogs dev docs and more",
      "type": "n8n-nodes-scrapegraphai.scrapegraphAi",
      "position": [
        -1008,
        544
      ],
      "parameters": {
        "resource": "markdownify",
        "websiteUrl": "={{ $json.link }}"
      },
      "credentials": {
        "scrapegraphAIApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "40420f33-e490-46c8-bfc9-51fd2f407560",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -896,
        256
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6d6eaf3d-ce5e-4601-949c-c3081db1b0a1",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        -2064,
        528
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6c64612b-a897-4980-84c7-6cba41ce3fb8",
              "operator": {
                "type": "dateTime",
                "operation": "after"
              },
              "leftValue": "={{ $json.pubDate }}",
              "rightValue": "={{ $today.minus({ days: 1 }) }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a63eb4aa-7e1a-47e4-a097-3dd07efb9290",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -336,
        -48
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "={{ $json.output.body }}",
        "options": {},
        "subject": "={{ $json.output.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "83cafb3d-122e-41cd-b6da-7943183c72e6",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -704,
        400
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "52f12ae8-1d17-481a-b787-bbb1a051b649",
      "name": "Set link",
      "type": "n8n-nodes-base.set",
      "position": [
        -1792,
        528
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "829a3bf3-b40d-4614-b82d-b8af961c0dc0",
              "name": "link",
              "type": "string",
              "value": "={{ $json.link }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "969913dc-4cd3-474d-b627-2ef10524b1ff",
      "name": "Information Extractor",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        -704,
        544
      ],
      "parameters": {
        "text": "={{ $json.result }}",
        "options": {
          "systemPromptTemplate": "You are an expert extraction algorithm.\nOnly extract relevant information from the text.\nIf you do not know the value of an attribute asked to extract, you may omit the attribute's value."
        },
        "attributes": {
          "attributes": [
            {
              "name": "content",
              "description": "Estrai il testo completo dell'articolo"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9b2735b6-febd-406b-821e-d4938529c6d1",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -816,
        768
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "537c3ff3-b953-4ef8-bdfe-86e3e3c4b605",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2592,
        80
      ],
      "parameters": {
        "color": 5,
        "width": 992,
        "height": 128,
        "content": "## STEP 1\n- Install the ScrapeGraph Community node\n- Register for FREE to [ScrapeGraphAI](https://dashboard.scrapegraphai.com/?via=n3witalia) and get API KEY"
      },
      "typeVersion": 1
    },
    {
      "id": "f019b022-52c3-4277-976e-bdd2f4ee0ca0",
      "name": "Send to Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -336,
        160
      ],
      "parameters": {
        "text": "={{ $json.output.body }}",
        "chatId": "YOUR_CHAT_ID",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3a545310-5b54-4a5a-be3d-f18a6287861c",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -688,
        256
      ],
      "parameters": {
        "autoFix": true,
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"subject\": {\n      \"type\": \"string\",\n      \"description\": \"The subject or title of the message\"\n    },\n    \"body\": {\n      \"type\": \"string\",\n      \"description\": \"The body or main content of the message\"\n    }\n  },\n  \"required\": [\"subject\", \"body\"],\n  \"additionalProperties\": false\n}",
        "customizeRetryPrompt": true
      },
      "typeVersion": 1.3
    },
    {
      "id": "58ee0461-e171-448e-9348-7af48a7fa37d",
      "name": "Generate content",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -832,
        80
      ],
      "parameters": {
        "text": "={{ JSON.stringify($json.text) }}",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "=You are an expert in summarizing texts and identifying main ideas. Extract the key concepts from the listed articles and present them in the form of an email."
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "e0f3a455-8bd2-483c-8f58-c130dc1f7dc8",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -1040,
        80
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "renameField": true,
              "outputFieldName": "text",
              "fieldToAggregate": "output.content"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "70f01c5b-cc79-4a6f-9976-19b2ad882c69",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2304,
        464
      ],
      "parameters": {
        "width": 384,
        "height": 208,
        "content": "Set up and filter the latest RSS feed (24 hours)"
      },
      "typeVersion": 1
    },
    {
      "id": "22e557ea-972d-41be-bbfa-b18d025b2266",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1072,
        496
      ],
      "parameters": {
        "width": 656,
        "height": 208,
        "content": "Scrape and extract relevant content"
      },
      "typeVersion": 1
    },
    {
      "id": "f5f3a525-5252-4ca5-a150-e4f38d27a1da",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        16
      ],
      "parameters": {
        "width": 320,
        "height": 208,
        "content": "Generate content to send via email and Telegram"
      },
      "typeVersion": 1
    },
    {
      "id": "488b4f4c-bb5d-4604-bc3e-f4d3a14ae7d8",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2592,
        -128
      ],
      "parameters": {
        "color": 3,
        "width": 992,
        "height": 176,
        "content": "## Daily News Digest: Summarize RSS Feeds and Deliver to Email/Telegram with ScrapeGraphAI\n\nThis workflow provides an intelligent automation solution for **processing RSS feeds** using **ScrapeGraph API** and **delivering personalized news summaries** via email and Telegram."
      },
      "typeVersion": 1
    },
    {
      "id": "c21e63c7-e8fe-40a0-a149-e3339723415d",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2592,
        240
      ],
      "parameters": {
        "color": 5,
        "width": 992,
        "height": 128,
        "content": "## STEP 2\n- Set URL_FEED in \"RSS Read\" node\n- Set YOUR_CHAT_ID in \"Telegram\" node"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "1e0f99f7-c4b0-4b60-9806-99318a2c3322",
  "connections": {
    "Limit": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Set link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Read": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set link": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Generate content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate content": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send to Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items1": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Convert a webpage or article to clean markdown useful for blogs dev docs and more",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate content",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Information Extractor": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Information Extractor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Generate content",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "RSS Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert a webpage or article to clean markdown useful for blogs dev docs and more": {
      "main": [
        [
          {
            "node": "Information Extractor",
            "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

This workflow provides an intelligent automation solution for processing RSS feeds using ScrapeGraph API and delivering personalized news summaries via email and Telegram.

Source: https://n8n.io/workflows/8863/ — 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

This is an exaple of advanced automated data extraction and enrichment pipeline with ScrapeGraphAI. Its primary purpose is to systematically scrape the n8n community workflows website, extract detaile

Google Gemini Chat, Output Parser Structured, OpenAI Chat +5
AI & RAG

My workflow 14. Uses lmChatOpenAi, outputParserStructured, rssFeedRead, httpRequest. Event-driven trigger; 63 nodes.

OpenAI Chat, Output Parser Structured, RSS Feed Read +3
AI & RAG

This is an automated blog post generation system that: Researches topics using AI agents and web search tools Writes complete blog posts with proper SEO structure Generates custom images for each post

Output Parser Structured, Google Gemini Chat, HTTP Request Tool +11
AI & RAG

🤖🧑‍💻 AI Agent for Top n8n Creators Leaderboard Reporting. Uses httpRequest, lmChatOpenAi, executeWorkflowTrigger, toolWorkflow. Event-driven trigger; 49 nodes.

HTTP Request, OpenAI Chat, Execute Workflow Trigger +8
AI & RAG

🤖🧑‍💻 AI Agent for Top n8n Creators Leaderboard Reporting. Uses httpRequest, lmChatOpenAi, executeWorkflowTrigger, toolWorkflow. Event-driven trigger; 49 nodes.

HTTP Request, OpenAI Chat, Execute Workflow Trigger +8