This workflow corresponds to n8n.io template #11806 — we link there as the canonical source.
This workflow follows the Gmail → Google Sheets 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 →
{
"id": "nOl0KJvx21ys9HmJ",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "RSS par Cat\u00e9gorie vers HTML",
"tags": [],
"nodes": [
{
"id": "42ba72ef-afc0-4789-9a74-4d1a1ac0e424",
"name": "Sticky Note - Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1696,
896
],
"parameters": {
"width": 696,
"height": 612,
"content": "# \ud83d\udcec Personal Daily Tech/Manga/Movies Newsletter\n\n**What it does:**\nAutomatically curates and emails a personalized daily newsletter with the latest tech news, manga, movies tailored to your interests.\n\n**How it works:**\n\n1. Triggers daily at 12 PM\n2. Fetches RSS feeds from your favorite tech, manga, movies sources\n3. Make HTML template for mail based on your interests\n4. Sends a beautifully formatted newsletter to your inbox\n\n**Set up steps**\n\n1. Update the RSS feed URLs inside the Set nodes to match your preferred sources.\n2. Replace the email address in the Send Email node with your own.\n3. Modify the execution time in the Cron Trigger node if you want the newsletter to be sent at a different time.\n4. Enable the workflow to start receiving your personalized daily newsletter automatically.\n\n**Customize:**\n- Change RSS sources in the \"Set\" nodes\n- Update your email address in \"Send email\" node\n- Adjust schedule time in trigger node"
},
"typeVersion": 1
},
{
"id": "a01df542-f863-4eee-adbe-6cbb148f539c",
"name": "Split Out2",
"type": "n8n-nodes-base.splitOut",
"position": [
-336,
1792
],
"parameters": {
"options": {},
"fieldToSplitOut": "cat"
},
"typeVersion": 1
},
{
"id": "f5771190-5f35-45ef-934d-9759d8bbf38a",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-784,
1792
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 5,
"triggerAtMinute": 30
}
]
}
},
"typeVersion": 1.2
},
{
"id": "7cd18a12-6656-4a38-99cc-4e7ccd4cb6c3",
"name": "RSS Read1",
"type": "n8n-nodes-base.rssFeedRead",
"onError": "continueErrorOutput",
"position": [
752,
1568
],
"parameters": {
"url": "={{ $json[\"Lien RSS\"] }}",
"options": {}
},
"typeVersion": 1.2,
"alwaysOutputData": true
},
{
"id": "40b5b6b5-c1e4-411d-a29d-e976ec9b86f9",
"name": "Loop Over Items3",
"type": "n8n-nodes-base.splitInBatches",
"position": [
464,
1552
],
"parameters": {
"options": {},
"batchSize": 2
},
"typeVersion": 3
},
{
"id": "509f8c1d-5f27-44df-b43c-4a09d4623a72",
"name": "Rss database",
"type": "n8n-nodes-base.googleSheets",
"position": [
-96,
1792
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "={{ $json.cat }}",
"lookupColumn": "Cat\u00e9gorie"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1anl-6-nbOfrsXJc7fhAAZ0yIONrqkg7qB7MXrqK37pw/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1anl-6-nbOfrsXJc7fhAAZ0yIONrqkg7qB7MXrqK37pw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1anl-6-nbOfrsXJc7fhAAZ0yIONrqkg7qB7MXrqK37pw/edit?usp=drivesdk",
"cachedResultName": "Rss Database 2"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "e792e4b5-3b49-478e-822c-f959a8fda9f1",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
96,
1776
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "73f7daf4-8a2d-4ce1-9099-1595e0eb3c23",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json[\"Cat\u00e9gorie\"] }}",
"rightValue": "=Manga"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4d7598e1-9e5e-413e-ae6d-1c17c61254a7",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json[\"Cat\u00e9gorie\"] }}",
"rightValue": "Cin\u00e9ma"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b559253b-235e-4994-8814-69031f9510e3",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json[\"Cat\u00e9gorie\"] }}",
"rightValue": "Jeux Vid\u00e9o"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.3
},
{
"id": "07e8483f-a58f-44ba-8ead-25a85fa74370",
"name": "Code in Python (Beta)",
"type": "n8n-nodes-base.code",
"position": [
992,
1536
],
"parameters": {
"language": "python",
"pythonCode": "# Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor item in _input.all():\n #item.json.myNewField = 1\n pass\nreturn _input.all()[:3]"
},
"typeVersion": 2
},
{
"id": "20848a57-917f-40e4-9d1e-a7bcfb92f966",
"name": "RSS Read2",
"type": "n8n-nodes-base.rssFeedRead",
"onError": "continueErrorOutput",
"position": [
736,
1808
],
"parameters": {
"url": "={{ $json[\"Lien RSS\"] }}",
"options": {}
},
"typeVersion": 1.2,
"alwaysOutputData": true
},
{
"id": "8d5ab523-ffb2-4355-89c6-db103f2ba799",
"name": "Loop Over Items4",
"type": "n8n-nodes-base.splitInBatches",
"position": [
448,
1792
],
"parameters": {
"options": {},
"batchSize": 2
},
"typeVersion": 3
},
{
"id": "194568dc-aaef-4099-bb1f-b2934f89e600",
"name": "Code in Python (Beta)1",
"type": "n8n-nodes-base.code",
"position": [
992,
1776
],
"parameters": {
"language": "python",
"pythonCode": "# Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor item in _input.all():\n #item.json.myNewField = 1\n pass\nreturn _input.all()[:3]"
},
"typeVersion": 2
},
{
"id": "9dc31c66-06de-4b15-b4b6-d6ed15cab225",
"name": "RSS Read3",
"type": "n8n-nodes-base.rssFeedRead",
"onError": "continueErrorOutput",
"position": [
784,
2080
],
"parameters": {
"url": "={{ $json[\"Lien RSS\"] }}",
"options": {}
},
"typeVersion": 1.2,
"alwaysOutputData": true
},
{
"id": "c48c1fc6-7296-4fcf-bf0a-e04feac8f6a9",
"name": "Loop Over Items5",
"type": "n8n-nodes-base.splitInBatches",
"position": [
448,
2064
],
"parameters": {
"options": {},
"batchSize": 2
},
"typeVersion": 3
},
{
"id": "f238d60e-a702-4f81-a8e4-30a7e7bea01d",
"name": "Code in Python (Beta)2",
"type": "n8n-nodes-base.code",
"position": [
992,
2048
],
"parameters": {
"language": "python",
"pythonCode": "# Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor item in _input.all():\n #item.json.myNewField = 1\n pass\nreturn _input.all()[:3]"
},
"typeVersion": 2
},
{
"id": "6315fdbc-9ede-4ab0-adb5-bc0a6152f768",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
2224,
1760
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "HTML"
},
"typeVersion": 1
},
{
"id": "2e3f8bf2-4ccf-4eab-bfa2-0d77174acafc",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
1920,
1744
],
"parameters": {
"numberInputs": 3
},
"typeVersion": 3.2
},
{
"id": "77c4f730-c84e-4121-a63f-31c8efd22667",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
1712
],
"parameters": {
"color": 3,
"width": 256,
"height": 240,
"content": "## Daily trigger\n"
},
"typeVersion": 1
},
{
"id": "593f18ec-5bf8-495d-9646-b35e1d9fd6d5",
"name": "Sticky Note - Processing1",
"type": "n8n-nodes-base.stickyNote",
"disabled": true,
"position": [
352,
1472
],
"parameters": {
"color": 6,
"width": 820,
"height": 812,
"content": "## \ud83d\udd04 RSS Feed Processing\nSplit, loop through feeds in batches, and fetch content"
},
"typeVersion": 1
},
{
"id": "7d6dfe67-658c-4a8c-a7a6-4417a874df40",
"name": "Sticky Note - Sources1",
"type": "n8n-nodes-base.stickyNote",
"disabled": true,
"position": [
-592,
1680
],
"parameters": {
"color": 4,
"width": 824,
"height": 280,
"content": "## \ud83d\udcf0 RSS Feed Sources\nDefine which RSS feeds to monitor for tech news and tools"
},
"typeVersion": 1
},
{
"id": "eaf42c4f-b5d1-40bc-9505-c3d9b7f90b8b",
"name": "Sticky Note - Combine1",
"type": "n8n-nodes-base.stickyNote",
"disabled": true,
"position": [
1264,
1472
],
"parameters": {
"color": 2,
"width": 356,
"height": 744,
"content": "## Set HTML part \n#Add information in HTML code part"
},
"typeVersion": 1
},
{
"id": "6b2c7f0a-111f-4b85-9de0-3d044d6c63cc",
"name": "Sticky Note - Combine2",
"type": "n8n-nodes-base.stickyNote",
"disabled": true,
"position": [
1808,
1632
],
"parameters": {
"color": 5,
"width": 644,
"height": 312,
"content": "## \ud83d\udce6 Combine & Convert\nMerge all feeds and convert to CSV for AI"
},
"typeVersion": 1
},
{
"id": "ac0a0d8a-021f-463d-a522-939675299898",
"name": "Sticky Note - Email1",
"type": "n8n-nodes-base.stickyNote",
"disabled": true,
"position": [
2560,
1616
],
"parameters": {
"color": 7,
"width": 696,
"height": 472,
"content": "## \ud83d\udce7 Set HTML FileNewsletter Delivery\n\nFormat and send the personalized newsletter.\n\n**Note:**\n"
},
"typeVersion": 1
},
{
"id": "18fc3e68-0e5a-42f3-bd40-069666aa7204",
"name": "Send a Mail",
"type": "n8n-nodes-base.gmail",
"onError": "continueRegularOutput",
"position": [
3024,
1760
],
"parameters": {
"sendTo": "user@example.com",
"message": "={{ $json.html }}",
"options": {},
"subject": "Newsletter"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1,
"alwaysOutputData": true
},
{
"id": "4909e681-f87e-47bd-8cf9-f7e629620fec",
"name": "Mail Campaign",
"type": "n8n-nodes-base.sendInBlue",
"position": [
3024,
1936
],
"parameters": {
"sender": "user@example.com",
"subject": "Newsletter",
"sendHTML": true,
"htmlContent": "={{ $json.html }}",
"receipients": "user@example.com",
"requestOptions": {},
"additionalFields": {}
},
"credentials": {
"sendInBlueApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "3e0bc1ab-3b99-4250-8246-3f6024ddeaaf",
"name": "HTML Template",
"type": "n8n-nodes-base.html",
"position": [
2608,
1760
],
"parameters": {
"html": "<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Newsletter Unthynk</title>\n <style>\n :root {\n --primary: #2b2b2b;\n --secondary: #6f6f6f;\n --accent: #d4a574;\n --dark: #1e1e1e;\n --light: #f4f4f2;\n --border: #e8e8e6;\n --text: #333;\n --muted: #888;\n }\n\n * { box-sizing: border-box; margin: 0; padding: 0; }\n\n body {\n font-family: 'Segoe UI', 'Trebuchet MS', sans-serif;\n background: linear-gradient(135deg, #f8f7f5 0%, #f1f1ef 100%);\n padding: 20px;\n color: var(--text);\n line-height: 1.7;\n min-height: 100vh;\n }\n\n .container {\n max-width: 900px;\n margin: 0 auto;\n background: #fff;\n border-radius: 16px;\n overflow: hidden;\n box-shadow: 0 12px 40px rgba(0,0,0,.1);\n }\n\n /* ===== HEADER ===== */\n .header {\n background: linear-gradient(135deg, var(--dark) 0%, var(--primary) 100%);\n padding: 60px 32px 45px;\n text-align: center;\n color: #fff;\n border-bottom: 3px solid var(--accent);\n }\n\n .header h1 {\n font-family: 'Georgia', serif;\n font-size: 2.8rem;\n font-weight: 700;\n letter-spacing: 3px;\n margin-bottom: 8px;\n text-transform: uppercase;\n text-shadow: 2px 2px 4px rgba(0,0,0,.2);\n }\n\n .header p {\n opacity: 0.92;\n font-size: 1rem;\n font-weight: 300;\n letter-spacing: 1px;\n }\n\n /* ===== TABS ===== */\n .tabs {\n display: flex;\n background: var(--light);\n border-bottom: 2px solid var(--border);\n flex-wrap: wrap;\n gap: 0;\n }\n\n .tab {\n flex: 1;\n min-width: 120px;\n padding: 18px 16px;\n background: none;\n border: none;\n font-size: 1rem;\n font-weight: 500;\n cursor: pointer;\n color: var(--muted);\n transition: all .3s cubic-bezier(.4, 0, .2, 1);\n position: relative;\n text-transform: uppercase;\n letter-spacing: 1px;\n }\n\n .tab:hover {\n background: rgba(43, 43, 43, .05);\n color: var(--primary);\n }\n\n .tab.active {\n background: #fff;\n color: var(--primary);\n font-weight: 700;\n }\n\n .tab.active::after {\n content: '';\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n height: 3px;\n background: linear-gradient(90deg, var(--primary), var(--accent));\n }\n\n /* ===== CONTENT ===== */\n .content {\n padding: 40px 32px;\n min-height: 500px;\n }\n\n .tab-content {\n display: none;\n animation: fadeIn .5s ease;\n }\n\n .tab-content.active {\n display: block;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n /* ===== ARTICLE CARD ===== */\n .article {\n background: #fafaf8;\n border: 1px solid var(--border);\n border-radius: 12px;\n padding: 28px;\n margin-bottom: 24px;\n transition: all .35s cubic-bezier(.4, 0, .2, 1);\n border-left: 4px solid var(--accent);\n }\n\n .article:hover {\n box-shadow: 0 14px 32px rgba(0,0,0,.12);\n transform: translateY(-4px);\n border-left-color: var(--primary);\n }\n\n .article h2 {\n font-size: 1.5rem;\n font-weight: 700;\n margin-bottom: 10px;\n color: var(--primary);\n line-height: 1.4;\n }\n\n .article .author {\n font-size: .9rem;\n color: var(--secondary);\n font-style: italic;\n margin-bottom: 14px;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .article .author::before {\n content: '\u270e';\n color: var(--accent);\n }\n\n .article .summary {\n color: #666;\n margin-bottom: 18px;\n font-size: .95rem;\n line-height: 1.8;\n }\n\n .meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-top: 1px solid var(--border);\n padding-top: 16px;\n margin-top: 16px;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .source {\n font-size: .85rem;\n color: var(--muted);\n font-weight: 500;\n }\n\n .read {\n background: linear-gradient(135deg, var(--primary), var(--secondary));\n color: #fff;\n padding: 10px 22px;\n border-radius: 24px;\n font-size: .9rem;\n font-weight: 600;\n text-decoration: none;\n transition: all .3s ease;\n border: 2px solid transparent;\n cursor: pointer;\n display: inline-block;\n }\n\n .read:hover {\n background: linear-gradient(135deg, var(--secondary), var(--primary));\n transform: translateX(2px);\n box-shadow: 0 6px 16px rgba(43, 43, 43, .25);\n }\n\n /* ===== EMPTY STATE ===== */\n .empty-state {\n text-align: center;\n padding: 60px 40px;\n color: var(--muted);\n }\n\n .empty-state h3 {\n font-size: 1.3rem;\n margin-bottom: 10px;\n color: var(--secondary);\n }\n\n .empty-state p {\n font-size: .95rem;\n opacity: .8;\n }\n\n /* ===== FOOTER ===== */\n .footer {\n background: linear-gradient(135deg, var(--dark) 0%, var(--primary) 100%);\n color: #ccc;\n text-align: center;\n padding: 28px;\n font-size: .85rem;\n border-top: 3px solid var(--accent);\n }\n\n .footer a {\n color: var(--accent);\n text-decoration: none;\n font-weight: 600;\n transition: opacity .3s ease;\n }\n\n .footer a:hover {\n opacity: 0.8;\n text-decoration: underline;\n }\n /* .article {\n background: #ffffff;\n border-radius: 14px;\n padding: 1.5rem;\n margin-bottom: 1.5rem;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);\n transition: transform 0.25s ease, box-shadow 0.25s ease;\n}\n\n.article:hover {\n transform: translateY(-4px);\n box-shadow: 0 14px 40px rgba(0, 0, 0, 0.1);\n}\n\n.article-title {\n font-size: 1.25rem;\n font-weight: 600;\n color: #1f2933;\n margin-bottom: 0.75rem;\n line-height: 1.4;\n}\n\n.article-summary {\n color: #4b5563;\n font-size: 0.95rem;\n line-height: 1.6;\n margin-bottom: 1.2rem;\n}\n\n.article-footer {\n display: flex;\n justify-content: flex-end;\n}\n\n.article-read {\n text-decoration: none;\n font-weight: 500;\n font-size: 0.9rem;\n color: #2563eb;\n padding: 0.45rem 0.9rem;\n border-radius: 8px;\n transition: background 0.2s ease, color 0.2s ease;\n}\n\n.article-read:hover {\n background: rgba(37, 99, 235, 0.1);\n color: #1e40af;\n}\n*/\n\n /* ===== RESPONSIVE ===== */\n @media (max-width: 640px) {\n .header h1 {\n font-size: 2rem;\n letter-spacing: 2px;\n }\n\n .content {\n padding: 24px 18px;\n }\n\n .article {\n padding: 18px;\n }\n\n .tab {\n padding: 14px 10px;\n font-size: .85rem;\n min-width: 100px;\n }\n\n .tabs {\n flex-wrap: wrap;\n }\n\n .meta {\n flex-direction: column;\n align-items: flex-start;\n }\n }\n \n </style>\n</head>\n<body>\n\n<div class=\"container\">\n\n <header class=\"header\">\n <h1>NEWSLETTER</h1>\n <p>Veille th\u00e9matique par Unthynk</p>\n </header>\n\n <nav class=\"tabs\">\n <button class=\"tab active\" onclick=\"openTab(event, 'news')\">\ud83d\udcfa Anime</button>\n <button class=\"tab\" onclick=\"openTab(event, 'game')\">\ud83c\udfae Game</button>\n <button class=\"tab\" onclick=\"openTab(event, 'school')\">\ud83c\udfac Movies</button>\n <button class=\"tab\" onclick=\"openTab(event, 'science')\">\ud83d\udd2c Science</button>\n </nav>\n\n <main class=\"content\">\n\n <!-- ANIME SECTION -->\n <section id=\"news\" class=\"tab-content active\">\n {{ $json.HTML[0].HTML.html1 }}\n </section>\n\n <!-- GAME SECTION -->\n <section id=\"game\" class=\"tab-content\">\n {{ $json.HTML[2].HTML.html3 }}\n </section>\n\n <!-- MOVIES SECTION -->\n <section id=\"school\" class=\"tab-content\">\n {{ $json.HTML[1].HTML.html2 }}\n </section>\n\n <!-- SCIENCE SECTION -->\n <section id=\"science\" class=\"tab-content\">\n <article class=\"article\">\n <h2>D\u00e9couvertes Scientifiques R\u00e9centes</h2>\n <p class=\"author\">Par Auteur</p>\n <p class=\"summary\">Les avanc\u00e9es majeures en science et recherche. De la physique quantique \u00e0 la biologie, d\u00e9couvrez comment la science fa\u00e7onne notre futur.</p>\n <div class=\"meta\">\n <span class=\"source\">Source: Nature Science</span>\n <a href=\"#\" class=\"read\">Lire l'article</a>\n </div>\n </article>\n\n <article class=\"article\">\n <h2>Innovations Technologiques</h2>\n <p class=\"author\">Par Auteur</p>\n <p class=\"summary\">Explorez les innovations technologiques qui r\u00e9volutionnent le monde. Intelligence artificielle, biotechnologie, \u00e9nergie verte et bien d'autres domaines cl\u00e9s.</p>\n <div class=\"meta\">\n <span class=\"source\">Source: MIT Technology Review</span>\n <a href=\"#\" class=\"read\">Lire l'article</a>\n </div>\n </article>\n </section>\n\n </main>\n\n <footer class=\"footer\">\n \u00a9 2025 Unthynk \u00b7 <a href=\"#\">Se d\u00e9sabonner</a>\n </footer>\n</div>\n\n<script>\n function openTab(evt, id) {\n const contents = document.querySelectorAll('.tab-content');\n const tabs = document.querySelectorAll('.tab');\n\n contents.forEach(content => content.classList.remove('active'));\n tabs.forEach(tab => tab.classList.remove('active'));\n\n document.getElementById(id).classList.add('active');\n evt.currentTarget.classList.add('active');\n }\n</script>\n\n</body>\n</html>"
},
"typeVersion": 1.2
},
{
"id": "cbf2b31e-b460-49cc-aa3f-8ab155863811",
"name": "Category Rss",
"type": "n8n-nodes-base.set",
"position": [
-560,
1792
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "{ \"cat\":[\n \"Actualit\u00e9s G\u00e9n\u00e9rales\",\n \"Technologie\",\n \"Science\",\n \"\u00c9conomie & Finance\",\n \"Sports\",\n \"Culture & Divertissement\",\n \"Sant\u00e9\",\n \"Environnement\",\n \"Politique\",\n \"\u00c9ducation\",\n \"Jeux Vid\u00e9o\",\n \"Cin\u00e9ma\",\n \"Manga\"\n ]\n}\n"
},
"typeVersion": 3.4
},
{
"id": "4cfc76d1-9bf7-446c-8a1b-a34322f63870",
"name": "Jeu video",
"type": "n8n-nodes-base.code",
"position": [
1360,
2048
],
"parameters": {
"language": "python",
"pythonCode": "m = \"\"\n\nfor item in _input.all():\n t = item.json.title\n l = item.json.link\n c = item.json.content\n a = item.json.creator\n \n m += f\"\"\"<article class=\"article\">\n <header class=\"article-header\">\n <h2 class=\"article-title\">{t}</h2>\n </header>\n\n <p class=\"summary\">{c}</p>\n\n <footer class=\"article-footer\">\n <a href=\"{l}\" class=\"article-read\">\n Lire l\u2019article \u2192\n </a>\n </footer>\n</article>\n\"\"\"\n\nreturn [{\"HTML\":{'html3': m}}]"
},
"typeVersion": 2
},
{
"id": "04401689-6544-4fea-ba0e-fbcf4a52fc09",
"name": "Movie",
"type": "n8n-nodes-base.code",
"position": [
1360,
1776
],
"parameters": {
"language": "python",
"pythonCode": "m = \"\"\n\nfor item in _input.all():\n t = item.json.title\n l = item.json.link\n c = item.json.content\n a = item.json.creator\n \n m += f\"\"\"<article class=\"article\">\n <header class=\"article-header\">\n <h2 class=\"article-title\">{t}</h2>\n </header>\n\n <p class=\"summary\">{c}</p>\n\n <footer class=\"article-footer\">\n <a href=\"{l}\" class=\"article-read\">\n Lire l\u2019article \u2192\n </a>\n </footer>\n</article>\n\"\"\"\n\nreturn [{\"HTML\":{'html2': m}}]"
},
"typeVersion": 2
},
{
"id": "4ec09358-01bb-4488-80fe-e2624351c956",
"name": "Manga",
"type": "n8n-nodes-base.code",
"position": [
1376,
1536
],
"parameters": {
"language": "python",
"pythonCode": "m = \"\"\n\nfor item in _input.all():\n t = item.json.title\n l = item.json.link\n c = item.json.content\n \n m += f\"\"\"<article class=\"article\">\n <header class=\"article-header\">\n <h2 class=\"article-title\">{t}</h2>\n </header>\n\n <p class=\"summary\">{c}</p>\n\n <footer class=\"article-footer\">\n <a href=\"{l}\" class=\"article-read\">\n Lire l\u2019article \u2192\n </a>\n </footer>\n</article>\n\"\"\"\n\n \n\nreturn [{\"HTML\":{'html1': m}}]"
},
"typeVersion": 2
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "e969ddc4-c9fa-44fe-a947-151932c41794",
"connections": {
"Manga": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Movie": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Loop Over Items3",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Over Items4",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Over Items5",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "HTML Template",
"type": "main",
"index": 0
}
]
]
},
"Jeu video": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"RSS Read1": {
"main": [
[
{
"node": "Loop Over Items3",
"type": "main",
"index": 0
}
],
[]
]
},
"RSS Read2": {
"main": [
[
{
"node": "Loop Over Items4",
"type": "main",
"index": 0
}
]
]
},
"RSS Read3": {
"main": [
[
{
"node": "Loop Over Items5",
"type": "main",
"index": 0
}
]
]
},
"Split Out2": {
"main": [
[
{
"node": "Rss database",
"type": "main",
"index": 0
}
]
]
},
"Send a Mail": {
"main": [
[]
]
},
"Category Rss": {
"main": [
[
{
"node": "Split Out2",
"type": "main",
"index": 0
}
]
]
},
"Rss database": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"HTML Template": {
"main": [
[
{
"node": "Mail Campaign",
"type": "main",
"index": 0
},
{
"node": "Send a Mail",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items3": {
"main": [
[
{
"node": "Code in Python (Beta)",
"type": "main",
"index": 0
}
],
[
{
"node": "RSS Read1",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items4": {
"main": [
[
{
"node": "Code in Python (Beta)1",
"type": "main",
"index": 0
}
],
[
{
"node": "RSS Read2",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items5": {
"main": [
[
{
"node": "Code in Python (Beta)2",
"type": "main",
"index": 0
}
],
[
{
"node": "RSS Read3",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Category Rss",
"type": "main",
"index": 0
}
]
]
},
"Code in Python (Beta)": {
"main": [
[
{
"node": "Manga",
"type": "main",
"index": 0
}
]
]
},
"Code in Python (Beta)1": {
"main": [
[
{
"node": "Movie",
"type": "main",
"index": 0
}
]
]
},
"Code in Python (Beta)2": {
"main": [
[
{
"node": "Jeu video",
"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.
gmailOAuth2googleSheetsOAuth2ApisendInBlueApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
The workflow is triggered automatically every day at 12:00 PM using a Cron node.
Source: https://n8n.io/workflows/11806/ — 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.
Freelancers and agencies who track new Upwork leads via Vollna RSS and want clean logging to Google Sheets with instant Slack alerts.
YOUR_ID 4. Uses gmail, googleDrive, googleSheets, httpRequest. Scheduled trigger; 53 nodes.
Looking for a way to track GitHub bounty issues automatically and get notified in real time? This GitHub Bounty Tracker workflow monitors repositories for issues labeled 💎 Bounty, logs them in Google
This workflow automatically sends a beautifully designed HTML newsletter every Sunday at 8 AM, featuring products currently on sale from your Algolia-powered e-commerce store.
This n8n template demonstrates how to build a Auto Lead Gen & Outreach System for Local Businesses specifically designed to help businesses that don’t have a website yet.