This workflow corresponds to n8n.io template #17217 — we link there as the canonical source.
This workflow follows the Agent → 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 →
{
"name": "Send daily AI-summarized news digests from RSS feeds to Telegram and Gmail",
"nodes": [
{
"id": "0429c717-cc1a-426c-bfe5-84525651e55e",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-608,
-48
],
"parameters": {
"width": 480,
"height": 752,
"content": "## Send daily AI-summarized news digests from RSS feeds to Telegram and Gmail\n\n### How it works\n\nThis workflow runs every morning, reads configured RSS feeds, deduplicates and trims the newest articles, then asks an AI agent to write a daily news digest. The generated digest is sent first to Telegram and then emailed via Gmail.\n\n### Setup steps\n\n- Edit the settings node to add RSS feed URLs, the digest topic, the recipient email address, and the Telegram chat ID.\n- Configure credentials for the RSS-compatible feed access if needed, OpenAI or the selected chat model, Telegram Bot API, and Gmail.\n- Verify the schedule trigger timezone and 8 AM run time match the desired delivery time.\n- Test the workflow with a small feed list before enabling the daily schedule.\n\n### Customization\n\nAdjust the feed list, article limit, retained article fields, AI prompt/model, Telegram destination, or Gmail subject/body formatting to change the digest content and delivery behavior."
},
"typeVersion": 1
},
{
"id": "fbc4ec93-9a76-486f-9091-80ed22ce9298",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
-48
],
"parameters": {
"color": 7,
"width": 640,
"height": 320,
"content": "## Schedule and settings\n\nStarts the workflow each morning, defines editable digest settings, and splits the configured RSS feed URL list into one item per feed for processing."
},
"typeVersion": 1
},
{
"id": "03bf90aa-5cdc-41e2-981d-6d9868a436d7",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
624,
-16
],
"parameters": {
"color": 7,
"width": 864,
"height": 304,
"content": "## Fetch and filter articles\n\nReads articles from each RSS feed, removes duplicate entries, limits the result to the newest articles, and keeps only the key fields needed for the digest."
},
"typeVersion": 1
},
{
"id": "7133697e-7ad3-4ede-b590-831309bae447",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
-48
],
"parameters": {
"color": 7,
"width": 576,
"height": 528,
"content": "## Create AI digest\n\nCombines the filtered articles into a single list and uses the AI agent with its OpenAI chat model to write the daily summarized digest."
},
"typeVersion": 1
},
{
"id": "1cbb9a1f-3e14-419b-90da-96c84b8c2d17",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2128,
-48
],
"parameters": {
"color": 7,
"width": 416,
"height": 320,
"content": "## Send digest outputs\n\nDelivers the finished AI-written digest to the configured Telegram chat and then emails it to the configured Gmail recipient."
},
"typeVersion": 1
},
{
"id": "678cb1f3-0ae9-4bb9-be8f-0b2e4a348da2",
"name": "When Daily Digest Scheduled",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
112
],
"parameters": {
"rule": {
"interval": [
{
"field": "days",
"triggerAtHour": 8,
"triggerAtMinute": 0
}
]
}
},
"typeVersion": 1.3
},
{
"id": "2ac51389-83f5-4b50-9832-7449e2d0a7c3",
"name": "Set Digest Configuration",
"type": "n8n-nodes-base.set",
"position": [
224,
112
],
"parameters": {
"mode": "manual",
"assignments": {
"assignments": [
{
"id": "a1",
"name": "feedUrls",
"type": "array",
"value": "={{ [\"https://techcrunch.com/feed/\", \"https://www.theverge.com/rss/index.xml\", \"https://blog.n8n.io/rss/\"] }}"
},
{
"id": "a2",
"name": "digestTopic",
"type": "string",
"value": "AI and tech news"
},
{
"id": "a3",
"name": "emailTo",
"type": "string",
"value": "you@example.com"
},
{
"id": "a4",
"name": "telegramChatId",
"type": "string",
"value": "123456789"
},
{
"id": "a5",
"name": "maxArticles",
"type": "number",
"value": 25
}
]
}
},
"typeVersion": 3.4
},
{
"id": "3f692d1f-89da-4c2d-a356-6694f0467e7c",
"name": "Split Feed URLs",
"type": "n8n-nodes-base.splitOut",
"position": [
448,
112
],
"parameters": {
"options": {
"destinationFieldName": "feedUrl"
},
"fieldToSplitOut": "feedUrls"
},
"typeVersion": 1
},
{
"id": "22253942-1ab7-4ee3-a388-f366ecb7ef58",
"name": "Fetch Articles from RSS",
"type": "n8n-nodes-base.rssFeedRead",
"onError": "continueRegularOutput",
"position": [
672,
112
],
"parameters": {
"url": "={{ $json.feedUrl }}",
"options": {}
},
"typeVersion": 1.2
},
{
"id": "30648afe-d3a3-4197-a756-c3cb7b3c60aa",
"name": "Deduplicate by Article Link",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
896,
112
],
"parameters": {
"compare": "selectedFields",
"operation": "removeDuplicateInputItems",
"fieldsToCompare": "link"
},
"typeVersion": 2
},
{
"id": "bde17156-cc73-4d0b-9478-f11d2306d433",
"name": "Limit to Newest Articles",
"type": "n8n-nodes-base.limit",
"position": [
1120,
112
],
"parameters": {
"keep": "firstItems",
"maxItems": "={{ $('Set Digest Configuration').first().json.maxArticles }}"
},
"typeVersion": 1
},
{
"id": "f8a59234-0dbe-4763-8506-ce24fc488b7a",
"name": "Prepare Article Snippets",
"type": "n8n-nodes-base.set",
"position": [
1344,
112
],
"parameters": {
"mode": "manual",
"assignments": {
"assignments": [
{
"id": "b1",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "b2",
"name": "link",
"type": "string",
"value": "={{ $json.link }}"
},
{
"id": "b3",
"name": "published",
"type": "string",
"value": "={{ $json.pubDate || $json.isoDate || \"\" }}"
},
{
"id": "b4",
"name": "snippet",
"type": "string",
"value": "={{ ($json.contentSnippet || $json.content || \"\").toString().slice(0, 300) }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2ab7e86d-2f76-4c51-b367-4467661e1983",
"name": "Aggregate Article List",
"type": "n8n-nodes-base.aggregate",
"position": [
1568,
112
],
"parameters": {
"aggregate": "aggregateAllItemData",
"destinationFieldName": "articles"
},
"typeVersion": 1
},
{
"id": "cd73c334-adb7-45e9-a423-3eab71fd8df3",
"name": "Create Daily Digest",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1792,
112
],
"parameters": {
"text": "=Today is {{ $now.toFormat(\"cccc, MMMM d, yyyy\") }}. Here are the latest articles as JSON:\n\n{{ JSON.stringify($json.articles) }}",
"options": {
"systemMessage": "=You are a sharp, concise newsletter editor writing a daily digest about {{ $('Set Digest Configuration').first().json.digestTopic }}.\n\nFrom the articles provided, pick the 5-8 most important and interesting stories. Skip duplicates, ads and low-value items.\n\nFormat rules:\n- Start with a single-sentence overview of the day.\n- Then list each story: an emoji, a short bold-free headline, a 1-2 sentence summary in plain language, and the link on its own line.\n- Plain text only: no HTML tags, no markdown symbols like *, _, # or [].\n- Keep the whole digest under 3,500 characters so it fits in one Telegram message.\n- End with one line: \"That's all for today \u2014 see you tomorrow!\""
},
"promptType": "define"
},
"typeVersion": 3.1
},
{
"id": "ee32a046-735b-4760-abc3-12450c7bd79e",
"name": "OpenAI GPT-5 Mini",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1872,
336
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5-mini"
}
},
"typeVersion": 1.3
},
{
"id": "9d920bee-c423-445f-926f-c1be33f71cda",
"name": "Post Digest to Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
2176,
112
],
"parameters": {
"text": "={{ $json.output }}",
"chatId": "={{ $('Set Digest Configuration').first().json.telegramChatId }}",
"resource": "message",
"operation": "sendMessage",
"additionalFields": {
"parse_mode": "Markdown",
"appendAttribution": false,
"disable_web_page_preview": true
}
},
"typeVersion": 1.2
},
{
"id": "fde1dc68-61c3-4688-b087-6b7d3dc099b9",
"name": "Send Digest via Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
2400,
112
],
"parameters": {
"sendTo": "={{ $('Set Digest Configuration').first().json.emailTo }}",
"message": "={{ $('Create Daily Digest').first().json.output }}",
"options": {
"appendAttribution": false
},
"subject": "=\u2615 Your Daily News Digest \u2014 {{ $now.toFormat(\"MMMM d, yyyy\") }}",
"resource": "message",
"emailType": "text",
"operation": "send"
},
"typeVersion": 2.2
}
],
"connections": {
"Split Feed URLs": {
"main": [
[
{
"node": "Fetch Articles from RSS",
"type": "main",
"index": 0
}
]
]
},
"OpenAI GPT-5 Mini": {
"ai_languageModel": [
[
{
"node": "Create Daily Digest",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Create Daily Digest": {
"main": [
[
{
"node": "Post Digest to Telegram",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Article List": {
"main": [
[
{
"node": "Create Daily Digest",
"type": "main",
"index": 0
}
]
]
},
"Fetch Articles from RSS": {
"main": [
[
{
"node": "Deduplicate by Article Link",
"type": "main",
"index": 0
}
]
]
},
"Post Digest to Telegram": {
"main": [
[
{
"node": "Send Digest via Gmail",
"type": "main",
"index": 0
}
]
]
},
"Limit to Newest Articles": {
"main": [
[
{
"node": "Prepare Article Snippets",
"type": "main",
"index": 0
}
]
]
},
"Prepare Article Snippets": {
"main": [
[
{
"node": "Aggregate Article List",
"type": "main",
"index": 0
}
]
]
},
"Set Digest Configuration": {
"main": [
[
{
"node": "Split Feed URLs",
"type": "main",
"index": 0
}
]
]
},
"Deduplicate by Article Link": {
"main": [
[
{
"node": "Limit to Newest Articles",
"type": "main",
"index": 0
}
]
]
},
"When Daily Digest Scheduled": {
"main": [
[
{
"node": "Set Digest Configuration",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow runs every morning at 8 AM, pulls articles from multiple RSS feeds, deduplicates and trims the list, uses OpenAI (GPT-5 Mini) to write a short plain-text news digest, and delivers the same digest to a Telegram chat and a Gmail inbox. Runs daily at 8:00 AM on a…
Source: https://n8n.io/workflows/17217/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates the process of generating, reviewing, and publishing blog posts across multiple platforms, now enhanced with support for RSS Feeds as a content source. It streamlines the manag
This n8n workflow automatically fetches RSS articles, extracts featured images, and publishes them across multiple social media platforms. The workflow runs on a schedule, processes news articles from
Tags: EU News, RSS, AI Classifier, Data Table, Email Digest, Automation, n8n
V2 (2026) available! An intelligent, fully automated news aggregation system that collects articles from multiple sources (RSS feeds + Google Search), uses AI to classify and summarize the most import
My workflow 14. Uses rssFeedRead, chainLlm, lmChatOpenAi, openWeatherMap. Scheduled trigger; 40 nodes.