{
  "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": "![Vasyl Pavlyuchok](https://assets.zyrosite.com/mp86MKQeprTxrnEW/profile-pic-2025_10-Yan0j4jpxeUzzGlm.png)"
      },
      "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
          }
        ]
      ]
    }
  }
}