Workflow n8n

Automatisation RSS avec n8n : envoi d'alertes par email

Ce workflow n8n a pour objectif d'automatiser la lecture de flux RSS et d'envoyer des alertes par email lorsque de nouveaux articles sont publiés. Il est particulièrement utile pour les entreprises qui souhaitent rester à jour sur les dernières actualités de leur secteur ou pour les équipes marketing qui veulent suivre les tendances. En intégrant cette automatisation n8n, les utilisateurs peuvent gagner un temps précieux en évitant de vérifier manuellement les flux RSS. Le processus commence par un déclencheur programmé qui s'active toutes les heures. Ensuite, le workflow lit les flux RSS définis dans une liste, en utilisant le nœud 'RSS Read'. Si des articles ont été publiés dans l'heure écoulée, le workflow passe à l'étape suivante. Les articles sont ensuite traités en lots grâce au nœud 'Loop Over Items'. Pour chaque article, un email est envoyé via le nœud 'Gmail', contenant le sujet et le message appropriés. Ce système d'alerte permet aux utilisateurs de ne manquer aucune information importante. En mettant en place ce workflow, les entreprises peuvent améliorer leur réactivité face aux nouvelles et optimiser leur veille informationnelle, ce qui se traduit par une meilleure prise de décision et une plus grande agilité. Tags clés : automatisation, RSS, email.

Catégorie: Scheduled · Tags: automatisation, RSS, email, n8n, veille informationnelle0

Vue d'ensemble du workflow n8n

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

Détail des nœuds du workflow n8n

  • Every 1 hour

    Déclenche le workflow toutes les heures.

  • Loop Over Items

    Divise les éléments en plusieurs lots pour un traitement par étapes.

  • No Operation, do nothing

    N'effectue aucune opération, servant de point de passage dans le workflow.

  • RSS Read

    Lit les flux RSS à partir de l'URL fournie.

  • Sticky Note2

    Crée une note autocollante avec les paramètres spécifiés.

  • Sticky Note3

    Crée une autre note autocollante avec des paramètres différents.

  • If published in the last hour

    Évalue si un élément a été publié dans la dernière heure.

  • Send email with each post

    Envoie un email pour chaque publication avec les détails spécifiés.

  • Split Out

    Sépare les données en fonction d'un champ spécifié.

  • List of RSS feeds

    Définit une liste de flux RSS à utiliser dans le workflow.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "id": "48a0524d-db39-4046-bad1-18684064cbac",
      "name": "Every 1 hour",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        40,
        600
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "triggerAtMinute": 30
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "bf9e2480-e879-4ebc-829f-b61f29251d29",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        680,
        600
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "f8e8a9a4-6104-4d4c-a400-5160e37f6c55",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        920,
        400
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "980351bb-685b-4392-bb28-a10bec1608fe",
      "name": "RSS Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "onError": "continueRegularOutput",
      "position": [
        920,
        620
      ],
      "parameters": {
        "url": "={{ $json.urls }}",
        "options": {}
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "7281072f-f773-468f-8599-4efa5832f8e2",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        260,
        760
      ],
      "parameters": {
        "color": 7,
        "width": 162,
        "height": 84,
        "content": "👆 Add your RSS feeds urls here."
      },
      "typeVersion": 1
    },
    {
      "id": "c1aece31-d2d5-4cf2-864e-1911e34056f3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        466
      ],
      "parameters": {
        "color": 5,
        "width": 447,
        "height": 104.61602497398542,
        "content": "### 👨‍🎤 Setup\n1. Add your email and email creds\n2. Add the RSS feed URLs you want to follow"
      },
      "typeVersion": 1
    },
    {
      "id": "8a932df6-4550-4f01-86a0-45a2857645c0",
      "name": "If published in the last hour",
      "type": "n8n-nodes-base.if",
      "position": [
        1120,
        620
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "97b4e257-2413-4c78-8b33-1f7523bfe0cd",
              "operator": {
                "type": "dateTime",
                "operation": "after"
              },
              "leftValue": "={{ DateTime.fromISO($json.isoDate) }}",
              "rightValue": "={{ DateTime.now().minus({hour: 1}) }}"
            },
            {
              "id": "b37ee746-6b2c-45ad-80db-fa2750ce9a58",
              "operator": {
                "type": "dateTime",
                "operation": "beforeOrEquals"
              },
              "leftValue": "={{ DateTime.fromISO($json.isoDate) }}",
              "rightValue": "={{ DateTime.now() }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "8bf89e60-5ea1-47b9-9249-bf2e258f9a2d",
      "name": "Send email with each post",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1360,
        600
      ],
      "parameters": {
        "sendTo": "SET YOUR EMAIL HERE",
        "message": "=Check out this new post from {{ $json.link.extractDomain() }} at {{ $json.link }}\n\n----\n\n {{ $json.contentSnippet }}",
        "options": {
          "appendAttribution": true
        },
        "subject": "=New post from {{ $json.link.extractDomain() }}: {{ $json.title }} "
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "7",
          "name": "Personal Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "8a344c1e-4f57-46b8-8736-d4d651188e57",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        480,
        600
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "urls"
      },
      "typeVersion": 1
    },
    {
      "id": "6b523a05-ba2e-4118-9061-7ef7fd152802",
      "name": "List of RSS feeds",
      "type": "n8n-nodes-base.set",
      "position": [
        260,
        600
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "257d7e0a-1c6e-42ca-825c-347fec574914",
              "name": "urls",
              "type": "array",
              "value": "[\"https://www.anildash.com/feed.xml\", \"https://sive.rs/en.atom\"]"
            }
          ]
        }
      },
      "typeVersion": 3.3
    }
  ],
  "pinData": {},
  "connections": {
    "RSS Read": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          },
          {
            "node": "If published in the last hour",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every 1 hour": {
      "main": [
        [
          {
            "node": "List of RSS feeds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "RSS Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "List of RSS feeds": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If published in the last hour": {
      "main": [
        [
          {
            "node": "Send email with each post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow est destiné aux équipes marketing, aux journalistes et aux entreprises qui souhaitent automatiser leur veille informationnelle. Il convient aux organisations de toutes tailles, avec un niveau technique intermédiaire requis pour sa mise en place.

Problème résolu

Ce workflow résout le problème de la veille manuelle des flux RSS, qui peut être chronophage et peu efficace. En automatisant ce processus, les utilisateurs éliminent les pertes de temps liées à la recherche d'informations et réduisent le risque de manquer des actualités importantes. Grâce à cette automatisation, ils reçoivent des alertes en temps réel, ce qui leur permet de rester informés et réactifs.

Étapes du workflow

Étape 1 : Le workflow est déclenché toutes les heures par le nœud 'Every 1 hour'. Étape 2 : Le nœud 'RSS Read' lit les flux RSS spécifiés. Étape 3 : Les articles sont ensuite traités en lots avec le nœud 'Loop Over Items'. Étape 4 : Pour chaque article, le nœud 'If published in the last hour' vérifie si l'article a été publié récemment. Étape 5 : Si c'est le cas, un email est envoyé via le nœud 'Send email with each post'. Étape 6 : Le workflow se termine par le nœud 'No Operation', qui ne fait rien mais permet de structurer le flux.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, commencez par modifier l'URL des flux RSS dans le nœud 'List of RSS feeds'. Vous pouvez également ajuster les paramètres d'envoi d'email dans le nœud 'Send email with each post', notamment le destinataire, le sujet et le contenu du message. Si vous souhaitez ajouter d'autres flux, il suffit d'ajouter des éléments dans la liste. Pour sécuriser le flux, pensez à configurer des alertes sur les erreurs potentielles et à monitorer les performances via les outils de suivi d'n8n.