automation

Workflow d'agrégation RSS avec résumé IA

Workflow n8n qui agrège plusieurs flux RSS, génère un résumé intelligent avec Claude ou GPT-4o, et envoie une newsletter de veille quotidienne.

n8nautomatisationrssveilleianewsletteremail

Vue d'ensemble

Ce workflow lit chaque matin plusieurs flux RSS de sources pertinentes pour votre secteur, filtre les articles publiés dans les dernières 24 heures, génère un résumé concis avec l'IA, et vous envoie un digest par email. Plus besoin de parcourir manuellement des dizaines de sites.

Déclencheur : Cron (tous les matins à 7h) Sortie : Email de veille personnalisé avec résumés IA des articles clés

Gain de temps : 1 à 2 heures de veille manuelle quotidienne.

Prérequis

  • Instance n8n (cloud ou self-hosted)
  • Clé API OpenAI (GPT-4o-mini) ou clé API Anthropic (Claude Haiku)
  • Compte email configuré (Gmail, SMTP, ou Resend)
  • Liste des URLs de flux RSS à surveiller

Le workflow

{
  "meta": {
    "instanceId": "vault-template"
  },
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 7 * * *"
            }
          ]
        }
      },
      "name": "Déclencheur quotidien 7h",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1,
      "position": [250, 300]
    },
    {
      "parameters": {
        "jsCode": "return [\n  { json: { url: 'https://hnrss.org/frontpage', nom: 'Hacker News' } },\n  { json: { url: 'https://feeds.feedburner.com/TechCrunch', nom: 'TechCrunch' } },\n  { json: { url: 'https://www.indiehackers.com/feed.rss', nom: 'Indie Hackers' } }\n];"
      },
      "name": "Liste des flux RSS",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [450, 300]
    },
    {
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {
          "response": {
            "response": {
              "fullResponse": false
            }
          }
        }
      },
      "name": "Lire les flux RSS",
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1,
      "position": [650, 300]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": false,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "date-filter",
              "leftValue": "={{ new Date($json.pubDate).getTime() }}",
              "rightValue": "={{ Date.now() - 86400000 }}",
              "operator": {
                "type": "number",
                "operation": "gte"
              }
            }
          ],
          "combinator": "and"
        }
      },
      "name": "Filtrer dernières 24h",
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2,
      "position": [850, 300]
    },
    {
      "parameters": {
        "aggregate": "aggregateAllItemData",
        "options": {}
      },
      "name": "Regrouper les articles",
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [1050, 300]
    },
    {
      "parameters": {
        "model": "gpt-4o-mini",
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "Tu es un assistant de veille pour solopreneur francophone. Tu reçois une liste d'articles et tu rédiges un digest concis en français, structuré par thème, avec les points clés de chaque article en 2-3 phrases maximum. Sois direct et pratique."
            },
            {
              "role": "user",
              "content": "=Voici les articles du jour à résumer :\n\n{{ $json.data.map(a => `**${a.title}** (${a.source || ''})\n${a.contentSnippet || a.content || ''}`).join('\n\n') }}\n\nRédige un digest de veille structuré."
            }
          ]
        },
        "options": {
          "maxTokens": 1500
        }
      },
      "name": "Résumé IA",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1,
      "position": [1250, 300]
    },
    {
      "parameters": {
        "fromEmail": "[VOTRE_EMAIL]",
        "toEmail": "[VOTRE_EMAIL]",
        "subject": "=📰 Veille du {{ new Date().toLocaleDateString('fr-FR') }}",
        "emailType": "html",
        "message": "=<h2>Digest de veille — {{ new Date().toLocaleDateString('fr-FR', { weekday: 'long', day: 'numeric', month: 'long' }) }}</h2>\n\n<div style='font-family: Georgia, serif; line-height: 1.6;'>\n{{ $json.message.content.replace(/\\n/g, '<br>') }}\n</div>\n\n<hr>\n<p style='color: #888; font-size: 12px;'>Généré automatiquement par votre workflow n8n</p>"
      },
      "name": "Envoyer le digest",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 2,
      "position": [1450, 300]
    }
  ],
  "connections": {
    "Déclencheur quotidien 7h": {
      "main": [
        [{ "node": "Liste des flux RSS", "type": "main", "index": 0 }]
      ]
    },
    "Liste des flux RSS": {
      "main": [
        [{ "node": "Lire les flux RSS", "type": "main", "index": 0 }]
      ]
    },
    "Lire les flux RSS": {
      "main": [
        [{ "node": "Filtrer dernières 24h", "type": "main", "index": 0 }]
      ]
    },
    "Filtrer dernières 24h": {
      "main": [
        [{ "node": "Regrouper les articles", "type": "main", "index": 0 }]
      ]
    },
    "Regrouper les articles": {
      "main": [
        [{ "node": "Résumé IA", "type": "main", "index": 0 }]
      ]
    },
    "Résumé IA": {
      "main": [
        [{ "node": "Envoyer le digest", "type": "main", "index": 0 }]
      ]
    }
  }
}

Configuration étape par étape

1. Importer le workflow

Dans n8n, allez dans Workflows > Import from File et importez le JSON ci-dessus.

2. Personnaliser les flux RSS

Dans le noeud Liste des flux RSS, modifiez le code JavaScript pour inclure vos sources :

return [
  { json: { url: 'https://votre-source.com/feed.rss', nom: 'Nom de la source' } },
  { json: { url: 'https://autre-source.com/rss', nom: 'Autre source' } }
];

Quelques flux RSS utiles pour les solopreneurs :

  • https://hnrss.org/frontpage — Hacker News
  • https://www.indiehackers.com/feed.rss — Indie Hackers
  • https://feeds.feedburner.com/TechCrunch — TechCrunch
  • https://www.producthunt.com/feed — Product Hunt

3. Configurer l'IA

Dans le noeud Résumé IA :

  • Connectez vos credentials OpenAI (clé API dans n8n > Credentials > OpenAI)
  • Pour utiliser Claude à la place, remplacez le noeud par un noeud HTTP Request vers https://api.anthropic.com/v1/messages
  • Adaptez le prompt système selon votre secteur d'activité

4. Configurer l'envoi email

Dans le noeud Envoyer le digest :

  • Remplacez [VOTRE_EMAIL] par votre adresse email (expéditeur et destinataire)
  • Connectez vos credentials SMTP ou Gmail

5. Tester le workflow

Cliquez sur Execute Workflow pour tester manuellement. Vérifiez que le digest arrive dans votre boîte mail avec un résumé cohérent.

6. Activer le workflow

Cliquez sur Active pour lancer la veille automatique quotidienne à 7h.

Personnalisation

  • Changer l'heure : modifiez l'expression cron dans le déclencheur (0 8 * * * pour 8h, 0 6 * * 1-5 pour 6h en semaine seulement)
  • Envoyer vers Notion : remplacez le noeud email par un noeud Notion pour archiver les digests dans une base de données
  • Filtrer par mot-clé : ajoutez un noeud Filter entre "Lire les flux RSS" et "Filtrer dernières 24h" pour ne garder que les articles contenant certains termes
  • Ajouter des sources Atom : le noeud RSS Feed Read supporte aussi le format Atom, compatible avec la plupart des blogs modernes
  • Résumé hebdomadaire : changez le cron en 0 8 * * 1 pour un digest du lundi regroupant toute la semaine précédente