This workflow corresponds to n8n.io template #9015 — we link there as the canonical source.
This workflow follows the Agent → HTTP Request 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "2336bfd7-77f6-45e0-848e-c1aef2470b78",
"name": "Real Time Price",
"type": "n8n-nodes-base.httpRequest",
"position": [
624,
240
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "41c14484-9ba8-4db5-a023-dda9f24db01e",
"name": "Merge1",
"type": "n8n-nodes-base.merge",
"position": [
1104,
-640
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "74d5469b-252a-4b58-8f0b-244e9c1c45b2",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2464,
-336
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "4f2068dd-9b5d-48df-9e4e-92e10df58efd",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
2240,
-336
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "ba1c4ade-05ca-4687-9911-14d8e1a4d203",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1968,
-304
],
"parameters": {},
"typeVersion": 1
},
{
"id": "40de62de-c2c9-4dac-bb14-1ffeac4e89d8",
"name": "Telegram Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-1184,
-480
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "58420974-a4e0-4715-8a75-9d69e164ba92",
"name": "EMA 50 - 1D",
"type": "n8n-nodes-base.httpRequest",
"position": [
704,
-784
],
"parameters": {},
"executeOnce": false,
"retryOnFail": true,
"typeVersion": 4.1,
"alwaysOutputData": false,
"waitBetweenTries": 5000
},
{
"id": "3d56dde3-677e-471a-9713-3714447e6d31",
"name": "EMA 200 -1D",
"type": "n8n-nodes-base.httpRequest",
"position": [
704,
-576
],
"parameters": {},
"executeOnce": false,
"retryOnFail": true,
"typeVersion": 4.1,
"alwaysOutputData": false,
"waitBetweenTries": 5000
},
{
"id": "b0f0de9b-7337-45b0-a71c-34899a6d00b5",
"name": "RSI -1D",
"type": "n8n-nodes-base.httpRequest",
"position": [
704,
-384
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "de4b171d-9a98-4ada-b321-bcd9a9209641",
"name": "ATR -1D",
"type": "n8n-nodes-base.httpRequest",
"position": [
704,
-160
],
"parameters": {},
"executeOnce": false,
"retryOnFail": true,
"typeVersion": 4.1,
"alwaysOutputData": false,
"waitBetweenTries": 5000
},
{
"id": "40e0245d-6787-4bba-9673-f55978398cd4",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
-1504
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "52dbac73-cb72-43b6-8234-9993a68f113d",
"name": "Add Twelve Data API Key",
"type": "n8n-nodes-base.set",
"position": [
-256,
-480
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "d767045a-604f-4051-beb8-ac8f068ca31a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
-944
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "8138c180-2447-4795-b516-6954999e2d34",
"name": "Wait -65s",
"type": "n8n-nodes-base.wait",
"position": [
512,
-576
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "e158f50c-0a29-4acf-8211-dc19ac6ae06e",
"name": "Wait1 -65s",
"type": "n8n-nodes-base.wait",
"position": [
528,
-160
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "8ee5fc6c-c606-48eb-9d6b-b57e414f527a",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
-1312
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b8ec4952-d9fc-41d0-9810-d9947b14a165",
"name": "OHLC -1Day",
"type": "n8n-nodes-base.httpRequest",
"position": [
496,
-1168
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "2122dd68-8954-43d6-a903-014f758808af",
"name": "Calculate Support Resistance",
"type": "n8n-nodes-base.code",
"position": [
704,
-1168
],
"parameters": {},
"typeVersion": 2
},
{
"id": "e0f62383-7709-4c9e-831f-cce98314d583",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
96
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "61e73466-5a53-4b5c-bcfb-60afe8e4a937",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-736,
-688
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "cff78e80-5206-442c-888e-7b50d1016284",
"name": "Set Stock Ticker",
"type": "n8n-nodes-base.set",
"position": [
-624,
-480
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "4dc67d77-0e44-4288-a26c-5264a30615ad",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-368,
-688
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "930e82c3-253e-4c4b-a51b-2e291cddfda6",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1424,
-688
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b9839038-9591-4cd8-a5c0-b5ac43b39c25",
"name": "Organizing Data",
"type": "n8n-nodes-base.code",
"position": [
1376,
-576
],
"parameters": {},
"typeVersion": 2
},
{
"id": "df616779-b01b-454f-814e-444e7a670f4c",
"name": "Warp JSON",
"type": "n8n-nodes-base.code",
"position": [
1552,
-576
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ad940cc8-4f11-43ce-8bb7-4bef8ebc4a7a",
"name": "Technical Analysis Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2080,
-576
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 1.9
},
{
"id": "85c39fa9-bbaf-41a9-9b20-c1aca7facd0f",
"name": "Send Final Analysis",
"type": "n8n-nodes-base.telegram",
"position": [
3136,
-560
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "dfe507b6-e1b1-4f45-be0c-7eb31831e09c",
"name": "Send 1D Chart",
"type": "n8n-nodes-base.telegram",
"position": [
3648,
-560
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "13540280-0ead-48ce-b297-341cbf6763ad",
"name": "Get Chart URL",
"type": "n8n-nodes-base.httpRequest",
"position": [
2928,
-32
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "4ac66624-0762-4c0b-ba3c-09833db34cce",
"name": "Download Chart",
"type": "n8n-nodes-base.httpRequest",
"position": [
3216,
-32
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "b6777c9b-ff73-4161-b817-8be849ee6db1",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2784,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "eecca474-2293-43fb-854c-134ad6d8d5b0",
"name": "Sticky Note21",
"type": "n8n-nodes-base.stickyNote",
"position": [
3008,
-944
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e7c95385-e89f-4d58-9c5c-22ed05715c7b",
"name": "Sticky Note22",
"type": "n8n-nodes-base.stickyNote",
"position": [
3456,
-944
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e6782d73-b88c-46e2-82a4-8b1fced95cdc",
"name": "Sticky Note18",
"type": "n8n-nodes-base.stickyNote",
"position": [
1888,
-352
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "59317603-e2ab-4302-9a82-e1bdadd34576",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1312,
-656
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9465591a-1a0c-4a3a-9b87-8831fde95e79",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1968,
-736
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"Merge1": {
"main": [
[
{
"node": "Organizing Data",
"type": "main",
"index": 0
}
]
]
},
"ATR -1D": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 4
}
]
]
},
"RSI -1D": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 3
}
]
]
},
"Wait -65s": {
"main": [
[
{
"node": "EMA 200 -1D",
"type": "main",
"index": 0
}
]
]
},
"Warp JSON": {
"main": [
[
{
"node": "Technical Analysis Agent",
"type": "main",
"index": 0
}
]
]
},
"OHLC -1Day": {
"main": [
[
{
"node": "Calculate Support Resistance",
"type": "main",
"index": 0
}
]
]
},
"Wait1 -65s": {
"main": [
[
{
"node": "ATR -1D",
"type": "main",
"index": 0
}
]
]
},
"EMA 200 -1D": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 2
}
]
]
},
"EMA 50 - 1D": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
}
]
]
},
"Get Chart URL": {
"main": [
[
{
"node": "Download Chart",
"type": "main",
"index": 0
}
]
]
},
"Send 1D Chart": {
"main": [
[]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "Technical Analysis Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Download Chart": {
"main": [
[
{
"node": "Send 1D Chart",
"type": "main",
"index": 0
}
]
]
},
"Organizing Data": {
"main": [
[
{
"node": "Warp JSON",
"type": "main",
"index": 0
}
]
]
},
"Real Time Price": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 5
}
]
]
},
"Set Stock Ticker": {
"main": [
[
{
"node": "Add Twelve Data API Key",
"type": "main",
"index": 0
},
{
"node": "Get Chart URL",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "Set Stock Ticker",
"type": "main",
"index": 0
}
]
]
},
"Add Twelve Data API Key": {
"main": [
[
{
"node": "OHLC -1Day",
"type": "main",
"index": 0
},
{
"node": "Real Time Price",
"type": "main",
"index": 0
},
{
"node": "EMA 50 - 1D",
"type": "main",
"index": 0
},
{
"node": "Wait -65s",
"type": "main",
"index": 0
},
{
"node": "RSI -1D",
"type": "main",
"index": 0
},
{
"node": "Wait1 -65s",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Technical Analysis Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Technical Analysis Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Technical Analysis Agent": {
"main": [
[
{
"node": "Send Final Analysis",
"type": "main",
"index": 0
}
]
]
},
"Calculate Support Resistance": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n workflow template creates an intelligent stock technical analysis system that delivers professional-grade trading signals directly to your Telegram. Designed for retail traders, investors, and financial professionals who want to combine technical analysis with…
Source: https://n8n.io/workflows/9015/ — 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.
Creators, marketers, and brands that want to turn a single product photo into premium motion clips, then optionally publish to Instagram/TikTok/YouTube via LATE. No editing skills required.
Product to Social Video (xCodeWraith Edition). Uses telegram, agentTool, telegramTrigger, httpRequest. Event-driven trigger; 83 nodes.
Digital marketers, content creators, social media managers, and businesses who want to use AI marketing automation for YouTube Shorts without spending hours on production. This AI workflow helps anyon
This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos — all triggered from a simple Telegram chat and managed via Google Sheets.
LinkedIn URL → Scrape → Match → Screen → Decide, all automated