This workflow corresponds to n8n.io template #11210 — we link there as the canonical source.
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 →
{
"nodes": [
{
"id": "dacccd39-09f7-487c-b2cb-65bb53011643",
"name": "Readme Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-992,
-752
],
"parameters": {
"color": 3,
"width": 514,
"height": 365,
"content": "## \u26a0\ufe0f SETUP REQUIRED (Read First)\nThis workflow uses an **n8n Data Table** to prevent duplicate messages. \n\n### 1. Create a Data Table\nGo to your n8n dashboard > Data Tables and create one named `mit_ai_news_sent` with these columns:\n* `creator` (String)\n* `title` (String)\n* `link` (String)\n* `pubDate` (Date)\n\n### 2. Connect the Nodes\nOpen the two orange nodes (Step 2) and select the table you just created."
},
"typeVersion": 1
},
{
"id": "0abcf325-9248-4acb-a0be-0718bfe11cbc",
"name": "Chapter 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
-240
],
"parameters": {
"color": 4,
"width": 640,
"height": 316,
"content": "## 1. Fetch & Filter\nGet MIT AI News and filter for the last 24h."
},
"typeVersion": 1
},
{
"id": "26be2d2a-597c-4839-955a-372d0ff4553d",
"name": "Chapter 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
-240
],
"parameters": {
"color": 5,
"width": 620,
"height": 316,
"content": "## 2. Deduplication Logic\nCheck if the link exists in the Data Table. \n* Found? Stop.\n* New? Add to table and proceed."
},
"typeVersion": 1
},
{
"id": "385711b4-4534-4ac4-aa23-c2a88975a715",
"name": "Chapter 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1296,
-240
],
"parameters": {
"color": 2,
"width": 260,
"height": 316,
"content": "## 3. Notify\nSend to Discord."
},
"typeVersion": 1
},
{
"id": "222f8604-597d-4376-8853-4fe983289cba",
"name": "Register New Article",
"type": "n8n-nodes-base.dataTable",
"position": [
912,
-80
],
"parameters": {
"columns": {
"value": {
"link": "={{ $json.link }}",
"title": "={{ $json.title }}",
"creator": "={{ $json.creator }}",
"pubDate": "={{ $json.pubDate }}"
},
"schema": [
{
"id": "creator",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "creator",
"defaultMatch": false
},
{
"id": "link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "link",
"defaultMatch": false
},
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false
},
{
"id": "pubDate",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "pubDate",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "EE8hjAxedWrTSdrl",
"cachedResultUrl": "/projects/ALnOdqzzsnAjR9Tg/datatables/EE8hjAxedWrTSdrl",
"cachedResultName": "mit_ai_news_sent"
}
},
"typeVersion": 1
},
{
"id": "98a8b3ca-0574-4b8c-988b-e995ea7cddf4",
"name": "Avoid Duplicated Articles",
"type": "n8n-nodes-base.dataTable",
"position": [
704,
-80
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "link",
"keyValue": "={{ $json.link }}"
},
{
"keyName": "title",
"keyValue": "={{ $json.title }}"
}
]
},
"matchType": "allConditions",
"operation": "rowNotExists",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "EE8hjAxedWrTSdrl",
"cachedResultUrl": "/projects/ALnOdqzzsnAjR9Tg/datatables/EE8hjAxedWrTSdrl",
"cachedResultName": "mit_ai_news_sent"
}
},
"typeVersion": 1
},
{
"id": "6f522075-8305-451f-ad38-bfbae26e8a74",
"name": "Filter 24h (articles)",
"type": "n8n-nodes-base.filter",
"position": [
240,
-80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "42b9e102-7683-45e8-9531-a5d31a19bcf5",
"operator": {
"type": "dateTime",
"operation": "afterOrEquals"
},
"leftValue": "={{ $json.pubDate }}",
"rightValue": "={{ (new Date(Date.now() - 24*60*60*1000)).toISOString() }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "fa404b59-71d8-411e-b3d1-924264069225",
"name": "Scheduled Daily Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-224,
-80
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9,
"triggerAtMinute": {}
}
]
}
},
"typeVersion": 1.2
},
{
"id": "ebb24d61-57d4-440b-98de-50d6b7274668",
"name": "MIT AI Articles",
"type": "n8n-nodes-base.discord",
"position": [
1376,
-80
],
"parameters": {
"content": "=Title: **{{ $json.title }}**\nAuthor: *{{ $json.creator }}*\nDate: `{{ $json.pubDate }}`\nLink: {{ $json.link }}",
"options": {},
"authentication": "webhook"
},
"credentials": {
"discordWebhookApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "e4a664fc-a069-4b7c-96d3-c071da8a6f05",
"name": "mit-artificial-intelligence (articles)",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
48,
-80
],
"parameters": {
"url": "https://news.mit.edu/topic/mitartificial-intelligence2-rss.xml",
"options": {}
},
"typeVersion": 1.2
},
{
"id": "a59876e3-2c48-4a7a-9629-a13c705acc97",
"name": "Cleaning Up Data",
"type": "n8n-nodes-base.set",
"position": [
432,
-80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3b3af223-c29b-41bd-8f94-e86ce7d6b5e1",
"name": "creator",
"type": "string",
"value": "={{ $json.creator }}"
},
{
"id": "f86ae80b-e21b-40a8-a097-214df06cdcef",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "47838673-54dd-4c6c-8eeb-27d704ad02ab",
"name": "pubDate",
"type": "string",
"value": "={{ $json.pubDate }}"
},
{
"id": "8dfb75c3-65a1-4fee-a77c-c09d385912dc",
"name": "link",
"type": "string",
"value": "={{ $json.link }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d25a8650-7dcb-4436-90cb-83a554c24418",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-304,
-240
],
"parameters": {
"height": 324,
"content": "## 0. Daily Trigger\nWorkflow executes daily at 9am, (you can change the interval and time of execution)"
},
"typeVersion": 1
},
{
"id": "165f799b-9f5f-488b-8897-104c2e0deee9",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-992,
-368
],
"parameters": {
"width": 508,
"height": 672,
"content": "## \ud83e\uddea Try It Out!\n\n### What this template does\n* **Fetches** the latest AI headlines from MIT News RSS feeds.\n* **Filters** articles ensuring they were published in the last 24 hours.\n* **Deduplicates** content using a local **n8n Data Table** (so you never get spam/repeats).\n* **Notifies** your team via a clean Discord message.\n\n### How to test it right now\n1. Ensure you have completed the **Red Setup Steps** above (Data Table & Discord Webhook).\n2. Click **Execute Workflow** at the bottom.\n3. Check your Discord channel!\n\n### Customization Tips\n* **Schedule:** Defaults to 9:00 AM daily. Double-click the *Scheduled Trigger* to change your timezone or frequency.\n* **Sources:** You can swap the RSS URL in the *Fetch* nodes for any other RSS feed (e.g., TechCrunch, Wired).\n* **Logic:** Need to filter for specific keywords? Add an `If` node after the RSS fetch.\n\n### Requirements\n* n8n (Self-hosted or Cloud)\n* Discord Account (for Webhook)\n\nHappy Automating! \ud83d\ude80"
},
"typeVersion": 1
},
{
"id": "cf68d4f3-e65a-4845-b518-d62415039df6",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-992,
336
],
"parameters": {
"color": 4,
"width": 512,
"height": 416,
"content": "## Hey, I'm Vasyl Pavlyuchok\nI design **AI-powered automation systems** for \nfounders and agencies. I build the systems that\nlet businesses run without you.\n\n### \ud83d\ude80 What I can help you with\n* **Killing repetitive admin** & manual data entry.\n* **Stopping lead leakage** in your pipelines.\n* **Speeding up client onboarding** workflows.\n* **Eliminating information chaos** across tools.\n\n### Let's stay in touch\n- **LinkedIn:** [Connect with me](https://www.linkedin.com/in/vasyl-pavlyuchok/) \n- **YouTube:** [Watch my n8n & AI videos](https://www.youtube.com/@vasylpavlyuchok) \n- **Email:** vasyl@techbooster.io \n\n*Automate the busywork. Keep your focus on strategy.*"
},
"typeVersion": 1
},
{
"id": "c0eec33b-36e8-4d0e-a4b6-e0198e61236f",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
336
],
"parameters": {
"color": 4,
"width": 160,
"height": 176,
"content": ""
},
"typeVersion": 1
},
{
"id": "1f6b4a9c-8ae5-49b8-8599-2ad612f832f9",
"name": "Wait 1sec",
"type": "n8n-nodes-base.wait",
"position": [
1104,
-80
],
"parameters": {
"amount": 1
},
"typeVersion": 1.1
}
],
"connections": {
"Wait 1sec": {
"main": [
[
{
"node": "MIT AI Articles",
"type": "main",
"index": 0
}
]
]
},
"Cleaning Up Data": {
"main": [
[
{
"node": "Avoid Duplicated Articles",
"type": "main",
"index": 0
}
]
]
},
"Register New Article": {
"main": [
[
{
"node": "Wait 1sec",
"type": "main",
"index": 0
}
]
]
},
"Filter 24h (articles)": {
"main": [
[
{
"node": "Cleaning Up Data",
"type": "main",
"index": 0
}
]
]
},
"Scheduled Daily Trigger": {
"main": [
[
{
"node": "mit-artificial-intelligence (articles)",
"type": "main",
"index": 0
}
]
]
},
"Avoid Duplicated Articles": {
"main": [
[
{
"node": "Register New Article",
"type": "main",
"index": 0
}
]
]
},
"mit-artificial-intelligence (articles)": {
"main": [
[
{
"node": "Filter 24h (articles)",
"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.
discordWebhookApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Stay ahead of the curve with the latest Artificial Intelligence research from MIT, delivered directly to your Discord server—clean, filtered, and duplicate-free.
Source: https://n8n.io/workflows/11210/ — 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 n8n template demonstrates how to automatically monitor and track username and nickname changes across your Discord server members. Perfect for community moderation, security monitoring, and maint
Wait Schedule. Uses spotify, supabase, compareDatasets, noOp. Scheduled trigger; 54 nodes.
This workflow is an automated employee time tracking and reporting system that monitors weekly work hours via TMetric, then delivers personalized summaries directly to each team member on Slack. It co
GNCA AI News Pipeline. Uses rssFeedRead, httpRequest, telegram, errorTrigger. Scheduled trigger; 29 nodes.
🌸 Affirmation Sender + Weekly Gratitude Digest v2