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 Newshttps://www.indiehackers.com/feed.rss— Indie Hackershttps://feeds.feedburner.com/TechCrunch— TechCrunchhttps://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-5pour 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 * * 1pour un digest du lundi regroupant toute la semaine précédente