Automatisation Telegram avec n8n : analyse des nouvelles crypto
Ce workflow n8n a pour objectif d'automatiser l'analyse des nouvelles et des sentiments liés aux cryptomonnaies, en utilisant des flux RSS provenant de différentes sources d'actualités. Dans un contexte où les informations sur les cryptomonnaies évoluent rapidement, ce processus permet aux entreprises et aux passionnés de rester informés sans avoir à surveiller manuellement chaque source. Le workflow commence par un déclencheur Telegram qui permet d'envoyer une requête pour analyser un nom de crypto ou d'entreprise. Ensuite, plusieurs nœuds RSS sont utilisés pour récupérer des articles de différentes plateformes telles que Cointelegraph, Bitcoinmagazine et Coindesk. Chaque article est ensuite fusionné pour créer un ensemble cohérent d'informations. Un modèle de langage OpenAI est utilisé pour analyser le contenu et générer un résumé des sentiments. Les résultats sont ensuite préparés et envoyés via Telegram, offrant ainsi une réponse rapide et pertinente. En intégrant ce workflow, les utilisateurs peuvent réduire le temps passé à rechercher des informations et améliorer leur réactivité face aux nouvelles tendances du marché. Cela représente une valeur ajoutée significative pour les entreprises souhaitant optimiser leur veille stratégique dans le secteur des cryptomonnaies.
Workflow n8n Telegram, cryptomonnaies, RSS : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Telegram, cryptomonnaies, RSS : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "8v4dynjkHSLVGJSG",
"meta": {
"instanceId": "a5283507e1917a33cc3ae615b2e7d5ad2c1e50955e6f831272ddd5ab816f3fb6",
"templateCredsSetupCompleted": true
},
"name": "Crypto News & Sentiment",
"tags": [],
"nodes": [
{
"id": "e10ed4da-ab3e-4ff0-b489-a3ed9e88e042",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1340,
1520
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "yUizd8t0sD5wMYVG",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "edb76989-766a-43e6-bf49-3896a1d257dd",
"name": "Set Query",
"type": "n8n-nodes-base.set",
"position": [
-780,
1340
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9128e9e7-d1b8-4e89-8422-849b8dd519d8",
"name": "query",
"type": "string",
"value": "={{ $json.output }}"
},
{
"id": "b6adc989-7d3c-4dbb-a659-603591cf1f58",
"name": "sessionId",
"type": "string",
"value": "={{ $('Adds the sessionId').item.json.sessionId }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0ef0571a-d0c2-4f05-898e-1aed56b02d56",
"name": "Crypto News & Sentiment Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1280,
1340
],
"parameters": {
"text": "={{ $('Send Crypto or Company Name for Analysis').item.json.message.text }}",
"options": {
"systemMessage": "Your job is to analyze the keyword of the question and output it as a single word."
},
"promptType": "define"
},
"typeVersion": 1.8
},
{
"id": "8f7859fa-e80c-4c0e-b8b5-5593d5108f5f",
"name": "RSS Cointelegraph",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
500
],
"parameters": {
"url": "https://cointelegraph.com/rss",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "5ce9dc61-de8e-4b3a-a0e2-4c077a28e0d4",
"name": "RSS Bitcoinmagazine",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
660
],
"parameters": {
"url": "https://bitcoinmagazine.com/.rss/full/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "d2491728-8a51-4384-adfa-8636f8d8cacd",
"name": "RSS Coindesk",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
820
],
"parameters": {
"url": "https://www.coindesk.com/arc/outboundfeeds/rss/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "60b17a68-b7b0-444f-8bbc-4d9ccfba6892",
"name": "RSS Bitcoinist",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
980
],
"parameters": {
"url": "https://bitcoinist.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "82b50de0-68a7-4660-b6d9-fa01922c2492",
"name": "RSS Newsbtc",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
1140
],
"parameters": {
"url": "https://www.newsbtc.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "90f9a5be-8eb2-4073-9c18-50478ba4890b",
"name": "RSS Cryptopotato",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
1500
],
"parameters": {
"url": "https://cryptopotato.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "6428c19d-c66c-4577-b6ca-8c0c82a757fa",
"name": "RSS 99bitcoins",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
1680
],
"parameters": {
"url": "https://99bitcoins.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "b2fc6584-cd64-4b90-91cf-b9bfdc483203",
"name": "RSS Cryptobriefing",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
1860
],
"parameters": {
"url": "https://cryptobriefing.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "8be5859b-bb82-4ece-9aa5-5bfbc27e4cca",
"name": "RSS Crypto.news",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-160,
2020
],
"parameters": {
"url": "https://crypto.news/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "b5f393de-a3da-47a4-8a19-ebf53c29051d",
"name": "Merge All Articles",
"type": "n8n-nodes-base.merge",
"position": [
520,
1180
],
"parameters": {
"numberInputs": 10
},
"typeVersion": 3.1
},
{
"id": "ce4da50f-ecff-4d13-a90d-e62db6bc3ef9",
"name": "Filter by Query",
"type": "n8n-nodes-base.code",
"position": [
760,
1320
],
"parameters": {
"jsCode": "const term = $node[\"Set Query\"].json.query.toLowerCase();\nreturn items.filter(item => {\n const j = item.json;\n const title = (j.title || \"\").toLowerCase();\n const snippet = (j.contentSnippet || j.description || \"\").toLowerCase();\n const fullContent = (j.content || \"\").toLowerCase();\n return title.includes(term)\n || snippet.includes(term)\n || fullContent.includes(term);\n});"
},
"typeVersion": 2
},
{
"id": "566e842f-8e2c-491c-87b5-5f1d322a9de8",
"name": "Build Prompt",
"type": "n8n-nodes-base.code",
"position": [
1080,
1320
],
"parameters": {
"jsCode": "const q = $node[\"Set Query\"].json.query;\nconst list = items\n .map(i => `- ${i.json.title} (${i.json.link})`)\n .join(\"\\n\");\nconst prompt = `\nYou are a crypto-industry news analyst.\nSummarize current news and market sentiment for **${q}** based on these articles:\n${list}\n\nAnswer in 3 parts:\n1. Summary of News\n2. Market Sentiment\n3. Links to reference news articles\n`;\nreturn [{ json: { prompt } }];"
},
"typeVersion": 2
},
{
"id": "2f5b2eb5-bc2e-432d-b0c8-44c6822b831b",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
2080,
1020
],
"parameters": {
"color": 3,
"width": 300,
"height": 580,
"content": "## Send Telegram Response\n\nSends the final AI-generated summary to the user.\n⚠️ Replace chatId with a dynamic value like << Telegram ID here >> to ensure it sends to the right user."
},
"typeVersion": 1
},
{
"id": "d9f178d6-b834-4a18-b8a5-ab1261b99ca6",
"name": "Adds the sessionId",
"type": "n8n-nodes-base.set",
"position": [
-1740,
1340
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "87c63e75-94e4-432c-b15f-8762aa340215",
"name": "sessionId",
"type": "string",
"value": "={{ $json.message.chat.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "4dd3e531-ab2a-4930-a127-08adb5bde409",
"name": "Summarize News & Sentiment (GPT-4o)",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1360,
1320
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"content": "={{ $node[\"Build Prompt\"].json.prompt }}"
},
{
"role": "assistant",
"content": "You are a crypto‐industry news analyst. Summarize sentiment clearly and concisely."
}
]
}
},
"credentials": {
"openAiApi": {
"id": "yUizd8t0sD5wMYVG",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "b0da1d25-9c17-49a1-85f4-82425e7c9f91",
"name": "Prepare Telegram Message",
"type": "n8n-nodes-base.set",
"position": [
1780,
1320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "565fb705-ac83-4a96-9343-2e29e348cc4f",
"name": "summary",
"type": "string",
"value": "={{ $json.message.content }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "95cb909b-51f4-4661-9db5-e8181a7efffe",
"name": "Sends Response",
"type": "n8n-nodes-base.telegram",
"position": [
2180,
1320
],
"webhookId": "8018c16f-426e-4a8b-8fbf-55cc013d1226",
"parameters": {
"text": "={{ $json.summary }}",
"chatId": "<< Add Telegram ID here >>",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "YDlV4LtcNcmNqk4y",
"name": "Crypto_News_and_Sentiment_bot"
}
},
"typeVersion": 1.2
},
{
"id": "a783bddf-7d70-4345-88f3-c474a50bdea0",
"name": "Send Crypto or Company Name for Analysis",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-2180,
1340
],
"webhookId": "37a1f055-1670-472d-9850-d89555b7ed47",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "YDlV4LtcNcmNqk4y",
"name": "Crypto_News_and_Sentiment_bot"
}
},
"typeVersion": 1.2
},
{
"id": "d847a178-c0f2-482b-8773-ac0362435dfd",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2320,
1200
],
"parameters": {
"color": 4,
"width": 380,
"height": 360,
"content": "## Telegram Setup \nThis bot listens for incoming messages in Telegram. To use it, create a bot with @BotFather and paste your bot token into the credentials."
},
"typeVersion": 1
},
{
"id": "75ee14cf-6236-4f45-b864-b422f18c8214",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1860,
1220
],
"parameters": {
"width": 360,
"height": 320,
"content": "## Initialize Chat Session\nStores the user's chat ID as sessionId, which is used to manage conversation memory across steps."
},
"typeVersion": 1
},
{
"id": "674f2555-752d-4ffc-894c-efd705f32887",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1440,
1200
],
"parameters": {
"color": 6,
"width": 600,
"height": 460,
"content": "## Extract Keyword \nThis AI agent parses the user input and returns a single-word keyword to help match relevant news articles."
},
"typeVersion": 1
},
{
"id": "bece27b1-bc60-44f7-bdc9-6ec61f7a2e5b",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
300
],
"parameters": {
"color": 5,
"width": 460,
"height": 1980,
"content": "## News Aggregators\nPulls articles from major crypto news sources. You can add more RSS feeds here to expand coverage."
},
"typeVersion": 1
},
{
"id": "7f7a2949-4147-4ab9-bb52-99c1bb2205ed",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
440,
980
],
"parameters": {
"color": 2,
"width": 480,
"height": 760,
"content": "## Merge & Filter News\nCombines all RSS articles and filters them using the extracted keyword to match only relevant results."
},
"typeVersion": 1
},
{
"id": "d19d53c0-7d23-4ccb-9a68-dc2855e5b73d",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1000,
1140
],
"parameters": {
"color": 7,
"width": 260,
"height": 360,
"content": "## Prepare AI Prompt\nConstructs the input prompt for GPT-4o with a list of filtered articles. Output includes summary, sentiment, and article links."
},
"typeVersion": 1
},
{
"id": "17607891-ed84-4cca-ad3d-c398e5652a8c",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1320,
1100
],
"parameters": {
"color": 3,
"width": 340,
"height": 440,
"content": "## Summarize News & Sentiment (GPT-4o)\nUses OpenAI GPT-4o to generate a concise summary of the news, analyze market sentiment, and return formatted results.\n\n"
},
"typeVersion": 1
},
{
"id": "9d47eb56-4469-4f42-84a1-6f76bb7fa598",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1720,
1060
],
"parameters": {
"color": 6,
"height": 460,
"content": "## Format for Telegram\n\nExtracts the AI summary and prepares it for Telegram delivery. Change the variable if you want to include other data.\n\n\n"
},
"typeVersion": 1
},
{
"id": "7c02860b-f865-4ff9-baeb-0903a76278d9",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
320
],
"parameters": {
"width": 520,
"content": "## ✅ How to Use This Template\n \n🛠 1. Connect your Telegram bot\n🤖 2. Add your OpenAI credentials\n📰 3. Customize the RSS feeds (optional)\n✅ 4. Start your bot and send a query like “Bitcoin” or “NFT”"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "ae250264-5df8-4341-b198-5272baeadc38",
"connections": {
"Set Query": {
"main": [
[
{
"node": "RSS Cointelegraph",
"type": "main",
"index": 0
},
{
"node": "RSS Bitcoinmagazine",
"type": "main",
"index": 0
},
{
"node": "RSS Coindesk",
"type": "main",
"index": 0
},
{
"node": "RSS Bitcoinist",
"type": "main",
"index": 0
},
{
"node": "RSS Newsbtc",
"type": "main",
"index": 0
},
{
"node": "RSS Cryptopotato",
"type": "main",
"index": 0
},
{
"node": "RSS 99bitcoins",
"type": "main",
"index": 0
},
{
"node": "RSS Cryptobriefing",
"type": "main",
"index": 0
},
{
"node": "RSS Crypto.news",
"type": "main",
"index": 0
}
]
]
},
"RSS Newsbtc": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 4
}
]
]
},
"Build Prompt": {
"main": [
[
{
"node": "Summarize News & Sentiment (GPT-4o)",
"type": "main",
"index": 0
}
]
]
},
"RSS Coindesk": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 2
}
]
]
},
"RSS 99bitcoins": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 7
}
]
]
},
"RSS Bitcoinist": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 3
}
]
]
},
"Filter by Query": {
"main": [
[
{
"node": "Build Prompt",
"type": "main",
"index": 0
}
]
]
},
"RSS Crypto.news": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 9
}
]
]
},
"RSS Cryptopotato": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 6
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Crypto News & Sentiment Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"RSS Cointelegraph": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 0
}
]
]
},
"Adds the sessionId": {
"main": [
[
{
"node": "Crypto News & Sentiment Agent",
"type": "main",
"index": 0
}
]
]
},
"Merge All Articles": {
"main": [
[
{
"node": "Filter by Query",
"type": "main",
"index": 0
}
]
]
},
"RSS Cryptobriefing": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 8
}
]
]
},
"RSS Bitcoinmagazine": {
"main": [
[
{
"node": "Merge All Articles",
"type": "main",
"index": 1
}
]
]
},
"Prepare Telegram Message": {
"main": [
[
{
"node": "Sends Response",
"type": "main",
"index": 0
}
]
]
},
"Crypto News & Sentiment Agent": {
"main": [
[
{
"node": "Set Query",
"type": "main",
"index": 0
}
]
]
},
"Summarize News & Sentiment (GPT-4o)": {
"main": [
[
{
"node": "Prepare Telegram Message",
"type": "main",
"index": 0
}
]
]
},
"Send Crypto or Company Name for Analysis": {
"main": [
[
{
"node": "Adds the sessionId",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Telegram, cryptomonnaies, RSS : pour qui est ce workflow ?
Ce workflow s'adresse aux entreprises et aux professionnels du secteur des cryptomonnaies qui souhaitent automatiser la veille d'informations. Les utilisateurs peuvent être des analystes de marché, des traders ou des passionnés de crypto, avec un niveau technique intermédiaire. Idéal pour les équipes de taille petite à moyenne qui cherchent à optimiser leur temps.
Workflow n8n Telegram, cryptomonnaies, RSS : problème résolu
Ce workflow résout le problème de la surcharge d'informations dans le domaine des cryptomonnaies. Les utilisateurs n'ont plus besoin de consulter manuellement plusieurs sources d'actualités, ce qui leur permet de gagner un temps précieux. En automatisant l'analyse des sentiments et des nouvelles, les entreprises peuvent également réduire le risque de manquer des informations cruciales qui pourraient influencer leurs décisions d'investissement.
Workflow n8n Telegram, cryptomonnaies, RSS : étapes du workflow
Étape 1 : Le workflow est déclenché par un message envoyé via Telegram.
- Étape 1 : Le nœud 'Set Query' définit la requête pour l'analyse.
- Étape 2 : Les nœuds RSS récupèrent les articles des principales sources d'actualités crypto.
- Étape 3 : Les articles sont fusionnés dans un seul ensemble d'informations.
- Étape 4 : Un modèle de langage OpenAI analyse le contenu et génère un résumé des sentiments.
- Étape 5 : Les résultats sont préparés pour être envoyés via Telegram, offrant une réponse rapide à l'utilisateur.
Workflow n8n Telegram, cryptomonnaies, RSS : guide de personnalisation
Pour personnaliser ce workflow, commencez par modifier l'URL des flux RSS dans les nœuds correspondants pour inclure d'autres sources d'actualités si nécessaire. Vous pouvez également ajuster les paramètres du modèle OpenAI pour affiner les résultats de l'analyse des sentiments. Si vous souhaitez intégrer d'autres outils, envisagez d'ajouter des nœuds supplémentaires pour des notifications par email ou des mises à jour sur d'autres plateformes. Enfin, assurez-vous de sécuriser votre webhook Telegram pour éviter tout accès non autorisé.