This workflow corresponds to n8n.io template #10961 — we link there as the canonical source.
This workflow follows the Agent → Datatable 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5d229b75-1fe4-4bf5-99be-123b26bf9949",
"name": "Loop Over News",
"type": "n8n-nodes-base.splitInBatches",
"position": [
112,
-336
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "a023f0eb-a572-484d-9806-f4a8fe2ac93b",
"name": "Trigger: 09:00 am",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-800,
-304
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "b9898c31-7ab2-48c7-a730-af24b9351e80",
"name": "RSS News EU",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-608,
-304
],
"parameters": {
"url": "https://www.consilium.europa.eu/en/rss/pressreleases.ashx",
"options": {}
},
"typeVersion": 1.2
},
{
"id": "4de2666f-d613-4248-b37b-8592fe62a172",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
752,
-320
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0b998795-1a1f-4f17-8651-57b6fedc7be1",
"operator": {
"type": "boolean",
"operation": "equals"
},
"leftValue": "={{ $json.message.content.parseJson().is_relevant }}",
"rightValue": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "54f09ffb-d95c-4df8-bd30-318e9d0836d4",
"name": "Send the digest",
"type": "n8n-nodes-base.gmail",
"position": [
-272,
48
],
"parameters": {
"sendTo": "<SET_RECIPIENT_EMAIL>",
"message": "={{ $json.html }}",
"options": {
"appendAttribution": false
},
"subject": "={{ $json.subject }}"
},
"notesInFlow": true,
"typeVersion": 2.1
},
{
"id": "b453a6c4-7291-417e-985d-1d046419346b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-832,
-544
],
"parameters": {
"color": 7,
"width": 860,
"height": 444,
"content": "## 1. Fetch the latest EU news from RSS\n"
},
"typeVersion": 1
},
{
"id": "4fe6b4b6-389a-4bce-a75f-4f091e5b0dea",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
64,
-544
],
"parameters": {
"color": 7,
"width": 1036,
"height": 444,
"content": "## 2. Select the relevant news using an AI Classifier\n"
},
"typeVersion": 1
},
{
"id": "ca887dd6-be25-4d13-a986-020823bbf583",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-832,
-80
],
"parameters": {
"color": 7,
"width": 864,
"height": 244,
"content": "## 3. Build the daily digest and send it by email"
},
"typeVersion": 1
},
{
"id": "b7b964e5-148b-447a-a003-13d26f991b48",
"name": "Archived News",
"type": "n8n-nodes-base.dataTable",
"position": [
-608,
-448
],
"parameters": {
"matchType": "allConditions",
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
}
},
"typeVersion": 1
},
{
"id": "b8296e41-8ff6-4367-8441-bb8fe6631f1a",
"name": "Add Archived Guid(s)",
"type": "n8n-nodes-base.merge",
"position": [
-272,
-320
],
"parameters": {
"mode": "combineBySql",
"options": {}
},
"notesInFlow": true,
"typeVersion": 3.2
},
{
"id": "2f9f60b8-d9c5-4479-9272-62937178110d",
"name": "List of guid(s) archived",
"type": "n8n-nodes-base.aggregate",
"position": [
-432,
-448
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "guids",
"fieldToAggregate": "guid"
}
]
}
},
"typeVersion": 1
},
{
"id": "48441fbd-8c6a-4cec-a590-1c4f78da1bda",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
-544
],
"parameters": {
"width": 636,
"height": 620,
"content": "## AI-Powered EU News Digest by Topic\n\n### How it works\n1. Daily triggers to fetch latest news using RSS feed of the **Council of the European Union**\n2. Archived news are filtered out to avoid duplicates\n3. Filter the news based on a **topic** and **topic description** using an AI classifier\n4. Records the news including `title`, `link` and content information in a datable\n5. Loads all the recorded news of today to send them in a HTML formatted email\n6. A 30-second daily voice summary generate with **Eleven Labs** is sent via Telegram\n\n### How to setup\n- [ ] Create a **datatable** (columns = title, link, content, contentSnippet, guid, categories, createDate) with type = `string`\n- [ ] Connect **Archives News**, **Add News** and **Today's News** to this table\n- [ ] Setup the topic description in **Topic Config**\n- [ ] Add you OpenAI credentials in the node **Classify News based on a Topic**\n- [ ] Set up your Gmail credential in the **Send Digest** node with the destination email\n- [ ] Set up your Eleven Labs in the node **Generate Voice Message** - \n- [ ] Set up your Telegram credentials and the Chat ID to send the audio summary \n\n### Customisation\n1. Change the **topics** and **topic descriptions** to fit with your needs in the **Topic Config** node\n2. Adapt the footer of the digest in the code with your own company identity in the code node\n3. Change the subject of the email in the **Gmail node**"
},
"typeVersion": 1
},
{
"id": "92f4c68d-f73b-4ba6-88bb-91a91b5e5956",
"name": "Today's News",
"type": "n8n-nodes-base.dataTable",
"position": [
-800,
48
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "createDate",
"keyValue": "={{ $now.minus(5,'days').toFormat('yyyy-MM-dd') }}"
}
]
},
"matchType": "allConditions",
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
}
},
"typeVersion": 1
},
{
"id": "239890a0-8634-4ab8-8cf5-35e22731b113",
"name": "Add News",
"type": "n8n-nodes-base.dataTable",
"position": [
944,
-336
],
"parameters": {
"columns": {
"value": {
"guid": "={{ $('Loop Over Items1').item.json.guid }}",
"link": "={{ $('Loop Over Items1').item.json.link }}",
"title": "={{ $('Loop Over Items1').item.json.title }}",
"content": "={{ $('Loop Over Items1').item.json.content }}",
"categories": "={{ $('Loop Over Items1').item.json.categories.join(', ') }}",
"createDate": "={{ $now.toFormat('yyyy-MM-dd') }}",
"contentSnippet": "={{ $('Loop Over Items1').item.json.contentSnippet }}"
},
"schema": [
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false
},
{
"id": "link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "link",
"defaultMatch": false
},
{
"id": "content",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "content",
"defaultMatch": false
},
{
"id": "contentSnippet",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "contentSnippet",
"defaultMatch": false
},
{
"id": "guid",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "guid",
"defaultMatch": false
},
{
"id": "categories",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "categories",
"defaultMatch": false
},
{
"id": "createDate",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "createDate",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"dataTableId": {
"__rl": true,
"mode": "",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
}
},
"typeVersion": 1
},
{
"id": "63c17be1-ffbc-43f3-80e5-769a14449cd2",
"name": "Classify News based on a Topic",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
464,
-320
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {
"temperature": 0.3
},
"messages": {
"values": [
{
"content": "=You are an AI classifier for EU news. Your task is to determine if a news item is related to a specific topic.\n\nTopic Name: {{ $json.topic_name }}\nTopic Description: {{ $json.topic_description }}\n\nNews Item to Classify:\nTitle: {{ $('Loop Over Items1').item.json.title }}\nContent: {{ $('Loop Over Items1').item.json.content }}\nCategories: {{ $('Loop Over Items1').item.json.categories.join(', ') }}\n\nAnalyze this news item and respond with a JSON object:\n{\n \"is_relevant\": true/false,\n \"relevance_score\": 0-100,\n \"key_topics_found\": [\"list\", \"of\", \"relevant\", \"aspects\"],\n \"reasoning\": \"Brief explanation of why this is or isn't relevant\"\n}\n\nOnly respond with the JSON object, no additional text."
}
]
}
},
"typeVersion": 1.4
},
{
"id": "a7861a39-fac3-452a-a3de-d15b9820bbe2",
"name": "Topic Config",
"type": "n8n-nodes-base.set",
"position": [
320,
-320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "4fc644c2-7f3e-4cd3-87d7-27eb35a6d0d3",
"name": "topic_name",
"type": "string",
"value": "SUSTAINABILITY"
},
{
"id": "bf8fface-1272-4254-b64e-fbffb348852b",
"name": "topic_description",
"type": "string",
"value": "News related to climate change, carbon neutrality, Green Deal initiatives, renewable energy, energy efficiency, circular economy, biodiversity protection, sustainable finance, ESG regulations, environmental standards, emission reduction targets, clean technology, sustainable transport, green bonds, nature restoration, water management, waste reduction, sustainable agriculture, forest protection, ocean conservation, green transition funding, climate adaptation, net-zero policies, sustainable development goals (SDGs), environmental compliance, and eco-innovation in the European Union."
}
]
}
},
"notesInFlow": true,
"typeVersion": 3.4
},
{
"id": "e025cfca-6753-455e-8a4d-08e3872e92d7",
"name": "Avoid Duplicates",
"type": "n8n-nodes-base.if",
"position": [
-96,
-320
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f700606b-061a-47fd-840f-0d059b896d8d",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ $json.guids.includes($json.guid) }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "af38b182-8398-46cc-8f1b-f0b5243a5357",
"name": "Generate a Digest in HTML",
"type": "n8n-nodes-base.code",
"position": [
-512,
48
],
"parameters": {
"jsCode": "// Get all news items from the input\nconst newsItems = $input.all().map(item => item.json);\n\n// Generate the HTML email\nconst htmlEmail = `\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>EU Sustainability News Digest</title>\n <style>\n body {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;\n line-height: 1.6;\n color: #333;\n max-width: 700px;\n margin: 0 auto;\n padding: 0;\n background-color: #f5f5f5;\n }\n .container {\n background-color: #ffffff;\n margin: 20px auto;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n }\n .header {\n background: linear-gradient(135deg, #2e7d32 0%, #66bb6a 100%);\n color: white;\n padding: 30px 40px;\n text-align: center;\n }\n .header h1 {\n margin: 0;\n font-size: 28px;\n font-weight: 600;\n letter-spacing: -0.5px;\n }\n .header p {\n margin: 10px 0 0 0;\n font-size: 16px;\n opacity: 0.95;\n }\n .date-badge {\n display: inline-block;\n background-color: rgba(255, 255, 255, 0.2);\n padding: 5px 15px;\n border-radius: 20px;\n margin-top: 10px;\n font-size: 14px;\n }\n .content {\n padding: 30px 40px;\n }\n .news-item {\n margin-bottom: 30px;\n padding-bottom: 30px;\n border-bottom: 1px solid #e0e0e0;\n }\n .news-item:last-of-type {\n border-bottom: none;\n margin-bottom: 0;\n padding-bottom: 0;\n }\n .news-number {\n display: inline-block;\n background-color: #2e7d32;\n color: white;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n text-align: center;\n line-height: 28px;\n font-size: 14px;\n font-weight: 600;\n margin-right: 10px;\n flex-shrink: 0;\n }\n .news-title {\n font-size: 18px;\n font-weight: 600;\n color: #1a1a1a;\n margin: 0 0 10px 0;\n line-height: 1.4;\n display: flex;\n align-items: flex-start;\n }\n .news-title a {\n color: #1a1a1a;\n text-decoration: none;\n flex-grow: 1;\n }\n .news-title a:hover {\n color: #2e7d32;\n }\n .news-meta {\n display: flex;\n gap: 15px;\n margin-bottom: 12px;\n flex-wrap: wrap;\n }\n .category-tag {\n background-color: #e8f5e9;\n color: #2e7d32;\n padding: 4px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 500;\n }\n .date-tag {\n color: #666;\n font-size: 12px;\n padding: 4px 0;\n }\n .news-content {\n color: #555;\n font-size: 15px;\n line-height: 1.6;\n margin: 12px 0 0 38px;\n }\n .read-more {\n display: inline-block;\n margin: 10px 0 0 38px;\n color: #2e7d32;\n text-decoration: none;\n font-size: 14px;\n font-weight: 500;\n }\n .read-more:hover {\n text-decoration: underline;\n }\n .footer {\n background-color: #f8f9fa;\n padding: 25px 40px;\n text-align: center;\n border-top: 1px solid #e0e0e0;\n }\n .footer-logo {\n font-size: 20px;\n font-weight: 600;\n color: #2e7d32;\n margin-bottom: 10px;\n }\n .footer-links {\n margin-top: 15px;\n }\n .footer-links a {\n color: #2e7d32;\n text-decoration: none;\n margin: 0 10px;\n font-size: 14px;\n }\n .footer-links a:hover {\n text-decoration: underline;\n }\n .footer-divider {\n margin: 0 5px;\n color: #999;\n }\n .footer-note {\n margin-top: 15px;\n font-size: 12px;\n color: #666;\n }\n @media (max-width: 600px) {\n .header {\n padding: 25px 20px;\n }\n .header h1 {\n font-size: 24px;\n }\n .content {\n padding: 20px;\n }\n .footer {\n padding: 20px;\n }\n .news-meta {\n gap: 8px;\n }\n }\n </style>\n</head>\n<body>\n <div class=\"container\">\n <div class=\"header\">\n <h1>\ud83c\udf31 EU Sustainability News Digest</h1>\n <p>Your curated selection of EU environmental and climate updates</p>\n <span class=\"date-badge\">${new Date().toLocaleDateString('en-GB', { \n weekday: 'long', \n year: 'numeric', \n month: 'long', \n day: 'numeric' \n })}</span>\n </div>\n \n <div class=\"content\">\n ${newsItems.map((item, index) => `\n <div class=\"news-item\">\n <h2 class=\"news-title\">\n <span class=\"news-number\">${index + 1}</span>\n <a href=\"${item.link}\" target=\"_blank\">${item.title}</a>\n </h2>\n <div class=\"news-meta\">\n ${item.categories.split(',').map(cat => \n `<span class=\"category-tag\">${cat.trim()}</span>`\n ).join('')}\n <span class=\"date-tag\">\ud83d\udcc5 ${new Date(item.createDate).toLocaleDateString('en-GB', { \n day: 'numeric',\n month: 'short',\n year: 'numeric'\n })}</span>\n </div>\n <p class=\"news-content\">${item.contentSnippet}</p>\n <a href=\"${item.link}\" target=\"_blank\" class=\"read-more\">Read full article \u2192</a>\n </div>\n `).join('')}\n </div>\n \n <div class=\"footer\">\n <div class=\"footer-logo\">\ud83e\udd16 LogiGreen Bot</div>\n <div style=\"color: #666; font-size: 14px; margin-bottom: 10px;\">\n Automated EU Sustainability News Monitoring\n </div>\n <div class=\"footer-links\">\n <a href=\"https://logi-green.com\" target=\"_blank\">\ud83c\udf10 Website</a>\n <span class=\"footer-divider\">|</span>\n <a href=\"https://linktr.ee/samirsaci\" target=\"_blank\">\ud83d\udd17 Contact & Links</a>\n </div>\n <div class=\"footer-note\">\n Powered by LogiGreen Consulting - AI-driven sustainability insights for better business decisions\n </div>\n </div>\n </div>\n</body>\n</html>\n`;\n\n// Return the HTML email and metadata\nreturn {\n html: htmlEmail,\n subject: `EU Sustainability Digest - ${new Date().toLocaleDateString('en-GB', { day: 'numeric', month: 'short', year: 'numeric' })}`,\n newsCount: newsItems.length,\n generatedAt: new Date().toISOString()\n};"
},
"typeVersion": 2
},
{
"id": "87ca7616-168b-4f7e-bd3b-4cc9580f3198",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
304,
336
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"typeVersion": 1.2
},
{
"id": "a6a23f06-1a59-4d39-bd35-71d3899f1f65",
"name": "Create Daily Voice Summary",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
352,
176
],
"parameters": {
"text": "={{ $json.titles.toJsonString() }}",
"options": {
"systemMessage": "You are a news anchor summarizing EU sustainability news for a 30-second Telegram voice note.\n\nThe user will send you a JSON array called `titles` that contains the headlines of today\u2019s EU news already filtered for sustainability and climate topics.\n\nYour task:\n- Group the headlines into 2\u20134 main themes.\n- Create a natural, spoken-style summary that connects these themes.\n- Mention \u201cthe European Union\u201d or \u201cthe EU\u201d at least once.\n- Use clear B1\u2013B2 level English suitable for an international audience.\n- Length: 55\u201380 words (about 30 seconds of audio).\n- Do NOT read the titles one by one; synthesize them into a coherent story.\n- No bullet points, no headings, no emojis, no markdown.\n- Output ONE single paragraph of plain text only, ready to be sent to a text-to-speech API."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "143a112b-3b6d-4e38-8d54-c563ec5e622f",
"name": "Send Voice Summary",
"type": "n8n-nodes-base.telegram",
"position": [
896,
176
],
"parameters": {
"chatId": "123456789",
"operation": "sendAudio",
"binaryData": true,
"additionalFields": {
"caption": "=EU Sustainability News Digest - {{ $now.toFormat('yyyy-MM-dd') }}"
}
},
"notesInFlow": true,
"typeVersion": 1.2
},
{
"id": "5f432783-94ed-47c4-b28e-4b3c695887c9",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
64,
80
],
"parameters": {
"color": 7,
"width": 1056,
"height": 388,
"content": "## 4. Send a 30-second voice message summarizing the news using titles"
},
"typeVersion": 1
},
{
"id": "b59a890e-9a79-4a8b-8e6e-9b31716aaf75",
"name": "Generate Voice Message",
"type": "@elevenlabs/n8n-nodes-elevenlabs.elevenLabs",
"position": [
688,
176
],
"parameters": {
"text": "={{ $json.output }}",
"voice": {
"__rl": true,
"mode": "list",
"value": "5Q0t7uMcjvnagumLfvZi",
"cachedResultName": "Paul"
},
"resource": "speech",
"requestOptions": {},
"additionalOptions": {}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"id": "bfd9b83b-0350-41b7-a02e-fe11de91bb6d",
"name": "Aggregate Titles",
"type": "n8n-nodes-base.aggregate",
"position": [
128,
176
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "titles",
"fieldToAggregate": "title"
}
]
}
},
"typeVersion": 1
},
{
"id": "b4c633f6-c0e3-4104-b0ea-d9d400e3bb3b",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
112
],
"parameters": {
"width": 656,
"height": 368,
"content": "@[youtube](vNavNGRqcK4)"
},
"typeVersion": 1
}
],
"connections": {
"If": {
"main": [
[
{
"node": "Add News",
"type": "main",
"index": 0
}
]
]
},
"RSS News EU": {
"main": [
[
{
"node": "Add Archived Guid(s)",
"type": "main",
"index": 1
}
]
]
},
"Today's News": {
"main": [
[
{
"node": "Generate a Digest in HTML",
"type": "main",
"index": 0
},
{
"node": "Aggregate Titles",
"type": "main",
"index": 0
}
]
]
},
"Topic Config": {
"main": [
[
{
"node": "Classify News based on a Topic",
"type": "main",
"index": 0
}
]
]
},
"Archived News": {
"main": [
[
{
"node": "List of guid(s) archived",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Titles": {
"main": [
[
{
"node": "Create Daily Voice Summary",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Create Daily Voice Summary",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Trigger: 09:00 am": {
"main": [
[
{
"node": "Today's News",
"type": "main",
"index": 0
},
{
"node": "RSS News EU",
"type": "main",
"index": 0
},
{
"node": "Archived News",
"type": "main",
"index": 0
}
]
]
},
"Add Archived Guid(s)": {
"main": [
[
{
"node": "Avoid Duplicates",
"type": "main",
"index": 0
},
{
"node": "Generate a Digest in HTML",
"type": "main",
"index": 0
}
]
]
},
"Generate Voice Message": {
"main": [
[
{
"node": "Send Voice Summary",
"type": "main",
"index": 0
}
]
]
},
"List of guid(s) archived": {
"main": [
[
{
"node": "Add Archived Guid(s)",
"type": "main",
"index": 0
}
]
]
},
"Generate a Digest in HTML": {
"main": [
[
{
"node": "Send the digest",
"type": "main",
"index": 0
}
]
]
},
"Create Daily Voice Summary": {
"main": [
[
{
"node": "Generate Voice Message",
"type": "main",
"index": 0
}
]
]
},
"Classify News based on a Topic": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Tags: EU News, RSS, AI Classifier, Data Table, Email Digest, Automation, n8n
Source: https://n8n.io/workflows/10961/ — 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
Tags: ESL, English Learning, Podcasts, RSS, AI Exercises, ElevenLabs
This workflow automates customer outreach for marketing campaigns, including customer prioritization, AI-generated emails, automated sending, reply tracking, and meeting scheduling. Data Synchronizati
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
This n8n workflow automatically generates AI-powered content about local news and publishes it across multiple social media platforms. The workflow runs on a schedule, fetches the latest news about a