Workflow n8n

Automatisation Mattermost avec n8n : publication d'articles RSS

Ce workflow n8n a pour objectif d'automatiser la publication d'articles provenant d'un flux RSS vers Mattermost, facilitant ainsi le partage d'informations au sein des équipes. Dans un contexte où la communication rapide et efficace est essentielle, ce type d'automatisation permet aux entreprises de rester à jour sur les dernières nouvelles et tendances de leur secteur. Les cas d'usage incluent la diffusion d'actualités, d'articles de blog ou de mises à jour importantes directement dans les canaux Mattermost, sans intervention manuelle.

  • Étape 1 : Le déclencheur est configuré via un nœud Cron, permettant de définir des horaires réguliers pour vérifier le flux RSS.
  • Étape 2 : Le nœud RSS Feed Read récupère les articles du flux spécifié.
  • Étape 3 : Ensuite, un nœud Function peut être utilisé pour traiter ou formater les données récupérées.
  • Étape 4 : Une condition est vérifiée avec un nœud IF pour déterminer si l'article doit être publié.
  • Étape 5 : Si la condition est remplie, un nœud HTTP Request envoie les données formatées à Mattermost pour publication. Ce workflow permet de gagner du temps, d'éviter les erreurs humaines et d'assurer une communication fluide au sein des équipes, renforçant ainsi l'efficacité opérationnelle.
Tags clés :automatisationMattermostRSScommunicationn8n
Catégorie: Scheduled · Tags: automatisation, Mattermost, RSS, communication, n8n0

Workflow n8n Mattermost, RSS, communication : vue d'ensemble

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

Workflow n8n Mattermost, RSS, communication : détail des nœuds

  • RSS Feed Read

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

  • HTTP Request

    Ce noeud effectue une requête HTTP vers l'URL fournie avec les options et paramètres spécifiés.

  • Cron

    Ce noeud déclenche le workflow à des intervalles définis selon la planification spécifiée.

  • Function

    Ce noeud exécute un code JavaScript personnalisé pour traiter des données.

  • IF

    Ce noeud évalue des conditions pour déterminer le chemin à suivre dans le workflow.

  • NoOp

    Ce noeud ne réalise aucune action mais permet de maintenir la structure du workflow.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "2",
  "name": "post to mattermost v2",
  "nodes": [
    {
      "name": "RSS Feed Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        580,
        150
      ],
      "parameters": {
        "url": "{HERE YOUR TINY TINY RSS PUBLIC FEED}"
      },
      "typeVersion": 1
    },
    {
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1170,
        90
      ],
      "parameters": {
        "url": "=https://{HERE YOUR MASTONDON INSTANCE URL}/api/v1/statuses?access_token={HERE YOUR MASTODON ACCESS TOKEN}",
        "options": {},
        "requestMethod": "POST",
        "queryParametersUi": {
          "parameter": [
            {
              "name": "status",
              "value": "={{$node[\"RSS Feed Read\"].json[\"title\"]}} \n{{$node[\"RSS Feed Read\"].json[\"link\"]}}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Cron",
      "type": "n8n-nodes-base.cron",
      "position": [
        400,
        150
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "mode": "everyX",
              "unit": "minutes",
              "value": 10
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Function",
      "type": "n8n-nodes-base.function",
      "position": [
        790,
        150
      ],
      "parameters": {
        "functionCode": "// Get the global workflow static data\nconst staticData = getWorkflowStaticData('global');\n\n// Access its data\nconst lastRssId = staticData.lastRssId\n\nlet list = []\n\n\nfor (const item of $items(\"RSS Feed Read\")){\n  let currentId = item.json[\"id\"].split('/').pop()\n  if(currentId == lastRssId) break;\n  list.push({'json': {\n    'id': currentId,\n    'lastId': lastRssId,\n    'title': item.json[\"title\"],\n    'url': item.json[\"link\"]\n  }})\n}\n\n\n// Get the last ID from Rss Feed\nlet currentRssId = $item(0).$node[\"RSS Feed Read\"].json[\"id\"].split('/').pop()\n\n// TODO: make a loop to get all the items beyond the last saved id\nif(!lastRssId || currentRssId != lastRssId)\n{  \n  // Update its data\n  staticData.lastRssId = currentRssId;\n  \n}\nelse { list = [{'json':{'id': 'NaN', 'lastId': staticData.lastRssId }}] }\nreturn list;\n\n"
      },
      "typeVersion": 1
    },
    {
      "name": "IF",
      "type": "n8n-nodes-base.if",
      "position": [
        960,
        150
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$node[\"Function\"].json[\"id\"]}}",
              "value2": "NaN",
              "operation": "notEqual"
            }
          ],
          "boolean": []
        }
      },
      "typeVersion": 1
    },
    {
      "name": "NoOp",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1180,
        280
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {},
  "connections": {
    "IF": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "NoOp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cron": {
      "main": [
        [
          {
            "node": "RSS Feed Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Function": {
      "main": [
        [
          {
            "node": "IF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Feed Read": {
      "main": [
        [
          {
            "node": "Function",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Mattermost, RSS, communication : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes de communication et marketing au sein d'entreprises de toutes tailles qui utilisent Mattermost pour la collaboration. Il est idéal pour les professionnels cherchant à automatiser le partage d'informations et à améliorer la réactivité de leur communication interne.

Workflow n8n Mattermost, RSS, communication : problème résolu

Ce workflow résout le problème de la diffusion manuelle d'informations en automatisant le processus de publication d'articles RSS dans Mattermost. Cela élimine les frustrations liées à la perte d'informations importantes et réduit le temps consacré à la recherche et au partage de contenu. Les utilisateurs bénéficient d'une communication plus rapide et efficace, ce qui leur permet de se concentrer sur des tâches à plus forte valeur ajoutée.

Workflow n8n Mattermost, RSS, communication : étapes du workflow

Étape 1 : Le workflow commence par un déclencheur Cron qui définit les horaires de vérification du flux RSS.

  • Étape 1 : Le nœud RSS Feed Read lit le contenu du flux RSS spécifié.
  • Étape 2 : Un nœud Function peut être utilisé pour transformer ou filtrer les données des articles récupérés.
  • Étape 3 : Ensuite, un nœud IF vérifie si les articles répondent à certaines conditions avant d'être publiés.
  • Étape 4 : Si les conditions sont remplies, un nœud HTTP Request envoie les articles formatés vers Mattermost pour publication.

Workflow n8n Mattermost, RSS, communication : guide de personnalisation

Pour personnaliser ce workflow, commencez par modifier l'URL du flux RSS dans le nœud RSS Feed Read pour y intégrer votre source d'actualités. Vous pouvez également ajuster les paramètres du nœud Function pour formater les messages selon vos besoins. Si vous souhaitez changer le canal de publication dans Mattermost, modifiez l'URL et les paramètres du nœud HTTP Request. Pour une meilleure sécurité, pensez à ajouter des authentifications dans les requêtes HTTP. Enfin, vous pouvez ajuster la fréquence de vérification dans le nœud Cron selon vos préférences.