This workflow corresponds to n8n.io template #4740 — we link there as the canonical source.
This workflow follows the Agent → OpenAI Chat recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "f8Zow3PmilvRq85m",
"name": "Binance SM News and Sentiment Analyst Webhook Tool",
"tags": [],
"nodes": [
{
"id": "1d71285d-a4bf-456a-a356-b9fa8b74c9d3",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1020,
1220
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "300cab6c-63ee-4271-a63e-b3afb135bdcf",
"name": "Set Query",
"type": "n8n-nodes-base.set",
"position": [
-460,
1040
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9128e9e7-d1b8-4e89-8422-849b8dd519d8",
"name": "query",
"type": "string",
"value": "={{ $json.output }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d7307bc3-f7c2-4db1-8674-5c6025ce7e2a",
"name": "Crypto News & Sentiment Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-960,
1040
],
"parameters": {
"text": "={{$json.body.message}}",
"options": {
"systemMessage": "Your job is to analyze the keyword of the question and output it as a single word. The keyword will always be the name of a cryptocurrency."
},
"promptType": "define"
},
"typeVersion": 1.8
},
{
"id": "c4ad1805-cb48-45a3-b850-4960f59299f0",
"name": "RSS Cointelegraph",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
200
],
"parameters": {
"url": "https://cointelegraph.com/rss",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "5fc71ef5-a376-41a0-9213-15cc4527b049",
"name": "RSS Bitcoinmagazine",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
360
],
"parameters": {
"url": "https://bitcoinmagazine.com/.rss/full/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "bdbf7bab-c3a6-4f65-bbb9-a6cd83763dc5",
"name": "RSS Coindesk",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
520
],
"parameters": {
"url": "https://www.coindesk.com/arc/outboundfeeds/rss/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "836d7edd-62c5-4819-aa30-c48c4b1f005d",
"name": "RSS Bitcoinist",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
680
],
"parameters": {
"url": "https://bitcoinist.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "a0778852-e86b-41e5-a3f8-6d4352e397a1",
"name": "RSS Newsbtc",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
840
],
"parameters": {
"url": "https://www.newsbtc.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "d5c5cc4f-ef15-40af-be33-31ce2dbdc45e",
"name": "RSS Cryptopotato",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
1200
],
"parameters": {
"url": "https://cryptopotato.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "5f02ad60-9b0a-49fc-afd7-558ac5aeee2d",
"name": "RSS 99bitcoins",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
1380
],
"parameters": {
"url": "https://99bitcoins.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "cc5373ab-931a-4b95-a1d4-6d21fa18273a",
"name": "RSS Cryptobriefing",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
1560
],
"parameters": {
"url": "https://cryptobriefing.com/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "e5baa2ef-0455-42b0-a597-dedd551ae1aa",
"name": "RSS Crypto.news",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
160,
1720
],
"parameters": {
"url": "https://crypto.news/feed/",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "2cb96040-0e47-41b5-9c32-8362d397333c",
"name": "Merge All Articles",
"type": "n8n-nodes-base.merge",
"position": [
840,
880
],
"parameters": {
"numberInputs": 10
},
"typeVersion": 3.1
},
{
"id": "a1f53681-504a-445a-9aa1-35c40f174e0c",
"name": "Filter by Query",
"type": "n8n-nodes-base.code",
"position": [
1080,
1020
],
"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": "3b886f03-884f-4c9a-bb74-46be78c941fe",
"name": "Build Prompt",
"type": "n8n-nodes-base.code",
"position": [
1400,
1020
],
"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": "936b9c46-0ea4-498a-9dbb-b4f6b62cf70f",
"name": "Summarize News & Sentiment (GPT-4o)",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1680,
1020
],
"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\u2010industry news analyst. Summarize sentiment clearly and concisely."
}
]
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "2c1b4212-3675-416d-a0f4-f1bce7b1581b",
"name": "Prepare Telegram Message",
"type": "n8n-nodes-base.set",
"position": [
2100,
1020
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "565fb705-ac83-4a96-9343-2e29e348cc4f",
"name": "summary",
"type": "string",
"value": "={{ $json.message.content }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ae4eacc3-281d-4c40-a1c8-fbd580fb49a8",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
900
],
"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": "ea8734d6-5f17-4587-88aa-fcd342a563c5",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"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": "214d3fa9-d3f2-4e8a-bfab-5d4deb2881cf",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
680
],
"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": "c6942449-1e0b-4bca-b1e0-411a3deaf26d",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1320,
840
],
"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": "7f401bd0-f14d-49d6-9d4a-fcb6e01bd64c",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1640,
800
],
"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": "f60cb8e4-8d3f-4112-a200-6affb3b80cb3",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
2040,
760
],
"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": "e19e48b4-36cb-4b0b-87c5-0bae7f6068d7",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-1440,
1040
],
"parameters": {
"path": "a41af97d-6bd6-44d2-b79e-dca6df1e6e7e",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "7fae635b-2c8d-44e5-ac2a-b8a458653905",
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
2440,
1020
],
"parameters": {
"options": {},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.2
},
{
"id": "96b562cd-1a55-40ef-aa0c-5d553d7f9818",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1500,
740
],
"parameters": {
"color": 4,
"height": 480,
"content": "## Webhook Trigger\nNode: Webhook\nAccepts **incoming HTTP POST requests**.\nExpected body format:\n\njson\n{ \"message\": \"<symbol>\" }\n\nThis kicks off the **full news + sentiment analysis process** for a given crypto asset."
},
"typeVersion": 1
},
{
"id": "8422e6bb-320e-4b5b-b392-2ba3adb215b7",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2380,
760
],
"parameters": {
"color": 4,
"height": 480,
"content": "## Return Results to Caller\nNode: Respond to Webhook\n**Sends the final formatted message** back to the parent workflow that triggered the call."
},
"typeVersion": 1
},
{
"id": "f323030f-c92f-4bff-a5df-f498aa70d9c4",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2780,
-360
],
"parameters": {
"width": 1340,
"height": 2360,
"content": "# \ud83d\udcf0 Binance SM News and Sentiment Analyst Webhook Tool \u2013 Documentation\n\nA sentiment intelligence sub-agent that aggregates crypto news from top-tier RSS feeds, filters it based on a given token, and generates a market sentiment summary + headline list formatted for Telegram.\n\n---\n\n## \ud83c\udfaf Purpose\n\nThis tool is responsible for:\n\n* Accepting a webhook request with a token symbol (e.g., `DOGE`, `SOL`)\n* Aggregating recent articles from 9+ major crypto news feeds\n* Filtering for articles relevant to the symbol\n* Summarizing the sentiment and key headlines using GPT-4o\n* Returning a Telegram-friendly formatted response to the caller\n\n---\n\n## \ud83d\udee0\ufe0f Architecture & Key Components\n\n| Component | Role |\n| ---------------------------------- | -------------------------------------------------------------- |\n| \ud83d\udd17 `Webhook` | Triggered externally with `{ message: \"BTC\" }` |\n| \ud83e\udde0 `Crypto News & Sentiment Agent` | Uses GPT to extract the correct crypto keyword |\n| \ud83d\udd04 RSS Feed Readers | Pull from Cointelegraph, Coindesk, NewsBTC, Bitcoinist, etc. |\n| \ud83d\udce6 `Merge All Articles` | Combines articles into one stream |\n| \ud83e\uddf9 `Filter by Query` | Keeps only the news relevant to the requested token |\n| \ud83d\udcdd `Build Prompt` | Builds natural-language prompt to send to GPT |\n| \ud83e\udde0 `Summarize News & Sentiment` | GPT-4o summarizes the filtered articles with sentiment scoring |\n| \ud83e\uddfe `Prepare Telegram Message` | Formats the final summary in clean, Telegram-readable style |\n| \ud83d\udce4 `Respond to Webhook` | Returns the message to the triggering parent workflow |\n\n---\n\n## \ud83d\udce5 Webhook Input\n\n> Expects a simple HTTP POST to the webhook endpoint:\n\n```json\n{\n \"message\": \"ETH\"\n}\n```\n\nThis triggers a full pipeline execution, resulting in a text summary like:\n\n---\n\n## \ud83d\udce4 Sample Output Format\n\n```\n\ud83d\udce3 ETH Sentiment: Neutral\n\n\u2022 BlackRock\u2019s tokenized fund expands to Ethereum mainnet (CoinDesk) \n\u2022 Ethereum fees remain high, analysts call for L2 migration (NewsBTC) \n\u2022 Vitalik warns about centralized risks in staking (Cointelegraph)\n```\n\n---\n\n## \ud83d\udd0d Use Cases\n\n| Scenario | Outcome |\n| ------------------------------------------ | ---------------------------------------------------- |\n| Sentiment summary for BTC | Fetches 8\u201312 filtered headlines, extracts tone |\n| Daily news pulse for SOL | Shows project-related news with brief sentiment flag |\n| Enhances technical analysis interpretation | Adds macro/emotional context to trend setups |\n| Telegram bot asks for XRP sentiment | Sends full response back to user instantly |\n\n---\n\n## \ud83d\udcda How to Install\n\n### 1. Import & Activate\n\n1. Load the `.json` into your n8n instance\n2. Enable the webhook\n3. Link to parent agent (`Financial Analyst`, `Quant Agent`)\n\n### 2. Set Credentials\n\n* Requires a working **OpenAI API Key** (for GPT-4o)\n* No authentication required for RSS sources\n\n### 3. Connect to Caller\n\nAny external workflow (like your `Quant AI Agent`) can call this by:\n\n* Using HTTP Request Node\n* POSTing to this webhook with `{ message: \"BTC\" }` in the body\n\n---\n\n## \ud83e\uddfe Licensing & Support\n\n\ud83d\udd17 **Don Jayamaha \u2013 LinkedIn**\n[http://linkedin.com/in/donjayamahajr](http://linkedin.com/in/donjayamahajr)\n\n\u00a9 2025 Treasurium Capital Limited Company. All rights reserved.\nThis system\u2014including workflow architecture, prompt design, and logic structure\u2014is protected under U.S. copyright law. Unauthorized resale or reproduction is prohibited.\n\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "9c17a79d-f8a4-413e-a486-2e89229994cf",
"connections": {
"Webhook": {
"main": [
[
{
"node": "Crypto News & Sentiment Agent",
"type": "main",
"index": 0
}
]
]
},
"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
}
]
]
},
"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": "Respond to Webhook",
"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
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
A sentiment intelligence sub-agent for the Binance Spot Market Quant AI Agent. It aggregates crypto news from major sources, filters by token keyword (e.g., BTC, ETH), and produces a Telegram-ready summary including market sentiment and top headlines—powered by GPT-4o.
Source: https://n8n.io/workflows/4740/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
BoomerBobBot.TP. Uses agent, telegramTrigger, telegram, memoryBufferWindow. Event-driven trigger; 95 nodes.
CLINICAINTEGRAL_secretary. Uses postgres, mcpClientTool, googleDriveTool, toolWorkflow. Webhook trigger; 89 nodes.
Remi 1.1. Uses lmChatOpenAi, memoryPostgresChat, openAi, postgres. Webhook trigger; 89 nodes.
This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La
We’ve released Version 4 of our AI Powered Blog Automation workflow. We heard your complains and made a complete redesign built for serious content creators.