Workflow n8n

Automatisation Telegram avec n8n : notifications RSS en temps réel

Ce workflow n8n a pour objectif d'automatiser l'envoi de notifications sur Telegram à partir d'un flux RSS. Il est particulièrement utile pour les entreprises qui souhaitent rester informées des dernières actualités ou mises à jour de contenu sans avoir à vérifier manuellement les sources. En utilisant ce workflow, les équipes peuvent recevoir des alertes instantanées sur des sujets d'intérêt, ce qui leur permet de réagir rapidement aux nouvelles informations. Le processus commence par un déclencheur Cron qui active le workflow à intervalles réguliers. Ensuite, le noeud 'RSS Feed Read' lit le flux RSS spécifié pour extraire les nouvelles entrées. Pour éviter les doublons, un noeud de fonction 'only get new RSS' est utilisé pour filtrer les articles déjà traités. Les nouvelles entrées sont ensuite divisées en lots à l'aide du noeud 'SplitInBatches'. Chaque lot est envoyé à différents canaux Telegram, comme 'Telegram_IT', 'Telegram_Security', et 'Telegram_M365', en fonction des conditions définies dans les noeuds 'IF-1' et 'IF-2'. Grâce à cette automatisation n8n, les entreprises peuvent améliorer leur réactivité et leur efficacité en matière de communication interne et de veille informationnelle.

Tags clés :automatisationTelegramRSSn8nnotifications
Catégorie: Scheduled · Tags: automatisation, Telegram, RSS, n8n, notifications0

Workflow n8n Telegram, RSS, notifications : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Telegram, RSS, notifications : détail des nœuds

  • RSS Feed Read

    Ce noeud lit les flux RSS à partir de l'URL spécifiée.

  • SplitInBatches

    Ce noeud divise les données en plusieurs lots selon la taille de lot définie.

  • Cron

    Ce noeud déclenche le workflow à des moments précis définis par les horaires.

  • only get new RSS

    Ce noeud filtre les articles RSS pour ne conserver que les nouveaux.

  • Telegram_IT

    Ce noeud envoie un message via Telegram au chat spécifié avec le texte donné.

  • Telegram_Security

    Ce noeud envoie un message via Telegram au chat spécifié pour des alertes de sécurité.

  • RSS Source

    Ce noeud traite les données RSS pour les préparer à l'utilisation dans le workflow.

  • Telegram_M365

    Ce noeud envoie un message via Telegram au chat spécifié pour des notifications liées à M365.

  • IF-2

    Ce noeud évalue des conditions pour déterminer le flux de données suivant.

  • IF-1

    Ce noeud évalue des conditions pour décider de la suite du traitement des données.

  • Clear Function

    Ce noeud exécute une fonction personnalisée pour traiter ou manipuler des données.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "name": "RSS Feed Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        420,
        -20
      ],
      "parameters": {
        "url": "={{$node[\"SplitInBatches\"].json[\"url\"]}}"
      },
      "typeVersion": 1
    },
    {
      "name": "SplitInBatches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        200,
        -20
      ],
      "parameters": {
        "options": {},
        "batchSize": 1
      },
      "typeVersion": 1
    },
    {
      "name": "Cron",
      "type": "n8n-nodes-base.cron",
      "position": [
        -240,
        -20
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "mode": "everyX",
              "unit": "minutes",
              "value": 10
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "only get new RSS",
      "type": "n8n-nodes-base.function",
      "position": [
        640,
        -20
      ],
      "parameters": {
        "functionCode": "const staticData = getWorkflowStaticData('global');\nconst newRSSIds = items.map(item => item.json[\"isoDate\"]);\nconst oldRSSIds = staticData.oldRSSIds; \n\nif (!oldRSSIds) {\n  staticData.oldRSSIds = newRSSIds;\n  return items;\n}\n\n\nconst actualNewRSSIds = newRSSIds.filter((id) => !oldRSSIds.includes(id));\nconst actualNewRSS = items.filter((data) => actualNewRSSIds.includes(data.json['isoDate']));\nstaticData.oldRSSIds = [...actualNewRSSIds, ...oldRSSIds];\n\nreturn actualNewRSS;\n"
      },
      "typeVersion": 1
    },
    {
      "name": "Telegram_IT",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1220,
        460
      ],
      "parameters": {
        "text": "={{$json[\"title\"]}}\n{{$json[\"link\"]}}",
        "chatId": "TelegramID",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "2",
          "name": "IT_RSS"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Telegram_Security",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1220,
        220
      ],
      "parameters": {
        "text": "={{$json[\"title\"]}}\n{{$json[\"link\"]}}",
        "chatId": "TelegramID",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "4",
          "name": "Security_RSS"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "RSS Source",
      "type": "n8n-nodes-base.function",
      "position": [
        -20,
        -20
      ],
      "parameters": {
        "functionCode": "return [\n  {\n    json: {\n      url: 'https://feeds.feedburner.com/UnikosHardware',\n    }\n  },\n  {\n    json: {\n      url: 'http://www.ithome.com.tw/rss.php',\n    }\n  },\n  {\n    json: {\n      url: 'http://feeds.feedburner.com/playpc',\n    }\n  },\n  {\n    json: {\n      url: 'https://lab.ocf.tw/feed/',\n    }\n  },\n  {\n    json: {\n      url: 'https://techcommunity.microsoft.com/plugins/custom/microsoft/o365/custom-blog-rss?tid=3754543230341459569&board=microsoft_365blog',\n    }\n  }\n];"
      },
      "typeVersion": 1
    },
    {
      "name": "Telegram_M365",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1220,
        -40
      ],
      "parameters": {
        "text": "={{$json[\"title\"]}}\n{{$json[\"link\"]}}",
        "chatId": "TelegramID",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "5",
          "name": "M365_RSS"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "IF-2",
      "type": "n8n-nodes-base.if",
      "position": [
        880,
        240
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json[\"title\"]}}",
              "value2": "資安|資訊安全|安全|外洩|監控|威脅|漏洞|封鎖|修補|攻擊|入侵|個資|隱私|私密|騙|社交工程|釣魚|駭|Security|security|Secure|secure",
              "operation": "regex"
            }
          ]
        },
        "combineOperation": "any"
      },
      "typeVersion": 1
    },
    {
      "name": "IF-1",
      "type": "n8n-nodes-base.if",
      "position": [
        880,
        -20
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json[\"link\"]}}",
              "value2": "techcommunity.microsoft.com",
              "operation": "contains"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Clear Function",
      "type": "n8n-nodes-base.function",
      "position": [
        -20,
        -180
      ],
      "parameters": {
        "functionCode": "// Get the global workflow static data\nconst staticData = getWorkflowStaticData('global');\n// Update its data\nstaticData.oldRSSIds = new Date().getTime();\n// Delete data\ndelete staticData.oldRSSIds;\n\nreturn [\n  {\n    json: {}\n  }\n]"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Cron": {
      "main": [
        [
          {
            "node": "RSS Source",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF-1": {
      "main": [
        [
          {
            "node": "Telegram_M365",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "IF-2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF-2": {
      "main": [
        [
          {
            "node": "Telegram_Security",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Telegram_IT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Source": {
      "main": [
        [
          {
            "node": "SplitInBatches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Feed Read": {
      "main": [
        [
          {
            "node": "SplitInBatches",
            "type": "main",
            "index": 0
          },
          {
            "node": "only get new RSS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SplitInBatches": {
      "main": [
        [
          {
            "node": "RSS Feed Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "only get new RSS": {
      "main": [
        [
          {
            "node": "IF-1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Telegram, RSS, notifications : pour qui est ce workflow ?

Ce workflow est destiné aux entreprises et équipes qui utilisent Telegram pour la communication interne et qui souhaitent automatiser la réception d'informations critiques à partir de flux RSS. Il est idéal pour les équipes de communication, de marketing et de veille stratégique, quel que soit leur niveau technique.

Workflow n8n Telegram, RSS, notifications : problème résolu

Ce workflow résout le problème de la surcharge d'informations et du manque de réactivité face aux nouvelles. En automatisant la lecture des flux RSS et l'envoi de notifications sur Telegram, il élimine le besoin de vérifications manuelles fréquentes, réduisant ainsi le risque de manquer des informations importantes. Les utilisateurs bénéficient d'une communication fluide et d'une meilleure gestion de l'information.

Workflow n8n Telegram, RSS, notifications : étapes du workflow

Étape 1 : Le workflow est déclenché par un Cron, qui le lance à des intervalles réguliers.

  • Étape 1 : Le noeud 'RSS Feed Read' récupère les nouvelles entrées du flux RSS spécifié.
  • Étape 2 : La fonction 'only get new RSS' filtre les articles déjà traités pour éviter les doublons.
  • Étape 3 : Les nouvelles entrées sont divisées en lots grâce au noeud 'SplitInBatches'.
  • Étape 4 : Chaque lot est envoyé aux différents canaux Telegram selon les conditions définies dans les noeuds 'IF-1' et 'IF-2'.
  • Étape 5 : Les notifications sont envoyées via les noeuds 'Telegram_IT', 'Telegram_Security', et 'Telegram_M365'.

Workflow n8n Telegram, RSS, notifications : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL du flux RSS dans le noeud 'RSS Feed Read'. Si vous souhaitez changer les canaux Telegram, il suffit de mettre à jour les IDs de chat dans les noeuds 'Telegram_IT', 'Telegram_Security', et 'Telegram_M365'. Vous pouvez également ajuster la fréquence d'exécution du Cron selon vos besoins. Pour une meilleure gestion, pensez à sécuriser les informations sensibles et à monitorer les performances du flux en ajoutant des noeuds de log ou de notification en cas d'erreur.