{ "meta": { "instanceId": "workflow-dba67c68", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:56.342809", "updatedAt": "2025-09-29T07:07:56.342822", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "nodes": [ { "id": "1340d672-61c8-403e-89a7-f28e3afbc0e7", "name": "Window Buffer Memory", "type": "n8n-nodes-base.noOp", "position": [ 1760, 540 ], "parameters": { "sessionKey": "YOUR_CREDENTIAL_HERE", "sessionIdType": "customKey" }, "typeVersion": 1.3, "notes": "This memoryBufferWindow node performs automated tasks as part of the workflow." }, { "id": "3c770b79-d6c5-4512-94fa-7719af6d0620", "name": "Get Chart", "type": "n8n-nodes-base.noOp", "position": [ 1900, 560 ], "parameters": { "name": "getChart", "workflowId": { "__rl": true, "mode": "list", "value": "LCT4zHJr8LcjM6a7", "cachedResultName": "Trading Agent" }, "description": "Call this tool to get an analysis of a requested stock. The URL that is output from this tool must be returned in markdown format. For example, ![](url)\n\nIt'll be obligatory to pass ticker and chart style. Both can be specified by user. If chart style is not specified by user, use \"candle\" as default. Possible options for style: [bar, candle, line, area, heikinAshi, hollowCandle, baseline, hiLo, column]", "workflowInputs": { "value": { "ticker": "={{ $fromAI(\"ticker\") }}", "chart_style": "={{ $fromAI(\"chart_style\") }}" }, "schema": [ { "id": "ticker", "type": "string", "display": true, "removed": false, "required": false, "displayName": "ticker", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "chart_style", "type": "string", "display": true, "removed": false, "required": false, "displayName": "chart_style", "defaultMatch": false, "canBeUsedToMatch": true } ], "mappingMode": "defineBelow", "matchingColumns": [], "attemptToConvertTypes": false, "convertFieldsToString": false } }, "typeVersion": 2, "notes": "This toolWorkflow node performs automated tasks as part of the workflow." }, { "id": "a44b48ac-9bfc-4988-81d7-177357971558", "name": "AI Agent", "type": "n8n-nodes-base.noOp", "position": [ 1660, 320 ], "parameters": { "text": "={{ $json.text }}", "options": { "systemMessage": "=# Overview  \n\nYou are an AI agent specializing in analyzing stocks. You can perform technical analysis using the **GetChart** tool to generate stock graphs.  \n\n\n# Instructions \n\n1. Begin by offering a warm and professional greeting.\n2. Maintain a conversational style when discussing finance and stock markets.\n3. If a user requests technical analysis of a stock, supplying its ticker:\n- Send only the stock ticker to the GetChart tool.\n- Present the chart's analysis and insights in a conversational format.\n4. When addressing financial subjects, provide thorough, easy-to-understand explanations suitable for the user's knowledge.\n5. Refrain from giving direct financial recommendations(buy or sell) or making predictions.\n\n\n## Tools  \n\n- **GetChart**: Used for generating stock graphs based on provided tickers.  \n\n## Standard Operating Procedure\n\n1. Interact with the user: Maintain a professional and approachable demeanor.\n2. Conduct stock analysis:\n- Upon request for technical analysis, send the stock's ticker symbol to the GetChart tool.\n- Present the chart's findings in an easy-to-understand, conversational manner.\n3. Clarify financial topics: Simplify intricate terms into accessible explanations suitable for the user's knowledge level.\n4. Refrain from offering financial recommendations: Deliver information and analysis without suggesting specific actions.\n5. Verify user understanding: Ask clarifying questions to ensure all needs are met." }, "promptType": "define" }, "typeVersion": 1.7, "notes": "This agent node performs automated tasks as part of the workflow." }, { "id": "a6d405f0-52c5-4937-85cd-7ef6e4a596b6", "name": "Telegram Trigger", "type": "n8n-nodes-base.telegramTrigger", "position": [ 760, 320 ], "webhookId": "dbf7f0b7-5cdd-45a3-8c91-39f0665aba76", "parameters": { "updates": [ "message" ], "additionalFields": {} }, "credentials": { "telegramApi": { "id": "UajcuBAYm5PEbptW", "name": "Telegram Philipp" } }, "typeVersion": 1.1, "notes": "This telegramTrigger node performs automated tasks as part of the workflow." }, { "id": "22bd61a2-45cb-4074-a027-28a9a0d327f5", "name": "Send Analysis", "type": "n8n-nodes-base.telegram", "position": [ 2040, 320 ], "webhookId": "949b8c67-29b9-4714-8a42-b0e59e91ae10", "parameters": { "text": "={{ $json.output }}", "chatId": "=335458847", "additionalFields": { "appendAttribution": false } }, "credentials": { "telegramApi": { "id": "UajcuBAYm5PEbptW", "name": "Telegram Philipp" } }, "typeVersion": 1.2, "notes": "This telegram node performs automated tasks as part of the workflow." }, { "id": "6f18a794-c302-47c3-8516-d14597408ae7", "name": "Workflow Input Trigger", "type": "n8n-nodes-base.executeWorkflowTrigger", "position": [ 780, 960 ], "parameters": { "workflowInputs": { "values": [ { "name": "ticker" }, { "name": "chart_style" } ] } }, "typeVersion": 1.1, "notes": "This executeWorkflowTrigger node performs automated tasks as part of the workflow." }, { "id": "102a021b-c0bb-4bdb-bca1-a4f0f7a84687", "name": "response", "type": "n8n-nodes-base.set", "position": [ 2040, 960 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "fdf7e016-7082-4146-9038-454139023990", "name": "response", "type": "string", "value": "={{ $('Technical Analysis').item.json.choices[0].message.content }}" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "ba96d38a-5a12-44a0-927f-5893cd91ac9b", "name": "Download Chart", "type": "n8n-nodes-base.httpRequest", "position": [ 1440, 960 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {} }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "7deaf5b4-0280-46d2-b9f8-4d14a67f60b6", "name": "Get Chart URL", "type": "n8n-nodes-base.httpRequest", "position": [ 1220, 960 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "method": "POST", "options": { "response": { "response": { "responseFormat": "json" } } }, "jsonBody": "={\n \"style\": \"{{ $json.chart_style }}\",\n \"theme\": \"light\",\n \"interval\": \"1W\",\n \"symbol\": \"NASDAQ:{{ $json.ticker }}\",\n \"override\": {\n \"showStudyLastValue\": false\n },\n \"studies\": [\n {\n \"name\": \"Volume\",\n \"forceOverlay\": true\n },\n{\n \"name\": \"Relative Strength Index\"\n },\n{\n \"name\": \"Stochastic RSI\"\n}\n ]\n}", "sendBody": true, "sendHeaders": true, "specifyBody": "json", "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "headerParameters": { "parameters": [ { "name": "Content-Type", "value": "application/json" } ] } }, "credentials": { "httpHeaderAuth": { "id": "Go406nynVPn88QIS", "name": "Header Auth account 3" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "46ebe865-b13b-4d7d-8acf-a10d78ba4b5b", "name": "Send Chart", "type": "n8n-nodes-base.telegram", "position": [ 1840, 960 ], "webhookId": "a42b988a-cd3a-4cf0-8975-7a38c8b510ba", "parameters": { "file": "={{ $('Get Chart URL').item.json.url }}", "chatId": "335458847", "operation": "sendPhoto", "additionalFields": {} }, "credentials": { "telegramApi": { "id": "UajcuBAYm5PEbptW", "name": "Telegram Philipp" } }, "typeVersion": 1.2, "notes": "This telegram node performs automated tasks as part of the workflow." }, { "id": "e5a62237-af1e-42dd-befd-51aa0e0a0c08", "name": "OpenAI Chat Model", "type": "n8n-nodes-base.noOp", "position": [ 1600, 540 ], "parameters": { "model": { "__rl": true, "mode": "list", "value": "gpt-4o", "cachedResultName": "gpt-4o" }, "options": {} }, "credentials": { "openAiApi": { "id": "9RivS2BmSh1DDBFm", "name": "OpenAI Philipp" } }, "typeVersion": 1.2, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "id": "c3d63b6f-5908-4e64-9063-1910024b0ed4", "name": "Switch", "type": "n8n-nodes-base.switch", "position": [ 940, 320 ], "parameters": { "rules": { "values": [ { "outputKey": "YOUR_CREDENTIAL_HERE", "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "operator": { "type": "string", "operation": "exists", "singleValue": true }, "leftValue": "={{ $json.message.voice.file_id }}", "rightValue": "" } ] }, "renameOutput": true }, { "outputKey": "YOUR_CREDENTIAL_HERE", "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "8c844924-b2ed-48b0-935c-c66a8fd0c778", "operator": { "type": "string", "operation": "exists", "singleValue": true }, "leftValue": "={{ $json.message.text }}", "rightValue": "" } ] }, "renameOutput": true } ] }, "options": {} }, "typeVersion": 3.2, "notes": "This switch node performs automated tasks as part of the workflow." }, { "id": "1d27102b-47c9-4aa7-a93c-71699326960d", "name": "Transcribe", "type": "n8n-nodes-base.noOp", "position": [ 1460, 240 ], "parameters": { "options": {}, "resource": "audio", "operation": "transcribe" }, "credentials": { "openAiApi": { "id": "9RivS2BmSh1DDBFm", "name": "OpenAI Philipp" } }, "typeVersion": 1.6, "notes": "This openAi node performs automated tasks as part of the workflow." }, { "id": "1252b926-9965-4499-a539-3c7e2a7eb151", "name": "Download File", "type": "n8n-nodes-base.telegram", "position": [ 1300, 240 ], "webhookId": "83bb7385-33f6-4105-8294-1a91c0ebbee5", "parameters": { "fileId": "={{ $json.message.voice.file_id }}", "resource": "file" }, "credentials": { "telegramApi": { "id": "UajcuBAYm5PEbptW", "name": "Telegram Philipp" } }, "typeVersion": 1.2, "notes": "This telegram node performs automated tasks as part of the workflow." }, { "id": "3777f861-d933-4a95-af74-2e787beda709", "name": "Set Text", "type": "n8n-nodes-base.set", "position": [ 1360, 440 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "fe7ecc99-e1e8-4a5e-bdd6-6fce9757b234", "name": "text", "type": "string", "value": "={{ $json.message.text }}" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "5630eed3-7b99-400f-ad54-bf72c7e52570", "name": "Set Values", "type": "n8n-nodes-base.set", "position": [ 1000, 960 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "cf5f7210-5b54-4f4a-abf7-87873be82df4", "name": "ticker", "type": "string", "value": "={{ $json.ticker }}" }, { "id": "12a27443-a009-4bd5-b33f-bcec74aa74c7", "name": "chart_style", "type": "string", "value": "={{ $json.chart_style }}" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "534cad9e-b3b8-4435-9db4-d7d22adfa305", "name": "Technical Analysis", "type": "n8n-nodes-base.noOp", "position": [ 1640, 960 ], "parameters": { "text": "=# Professional Role\n\nYou are a financial analyst, specializing in the interpretive analysis of stock charts. Your primary responsibility is to scrutinize provided financial charts and deliver comprehensive assessments of their technical dimensions. This includes examining candlestick formations, Moving Average Convergence Divergence (MACD) metrics, trading volume patterns, **Relative Strength Index (RSI), Stochastic RSI**, and prevailing market sentiment. Your analysis should be a thorough dissection of the chart, pinpointing critical areas and offering practical insights.\n\nWhen evaluating a stock chart, ensure the inclusion of the following:\n\n1. **Candlestick Pattern Interpretation**:\n - Recognize and articulate the significance of any notable candlestick formations (e.g., bullish engulfing, doji, hammer).\n - Provide commentary on the prevailing market direction (upward, downward, or lateral).\n - Identify potential zones for price surges or retracements.\n\n2. **Relative Strength Index (RSI) Examination**:\n - **Extract the numerical RSI value from the chart.**\n - Describe the current RSI value and its market positioning (e.g., overbought, oversold, neutral) **based on the extracted value.**\n - Explain how the extracted RSI value and its trend either support or oppose the ongoing price trend.\n - Identify any divergences between RSI values and price movement **that can be discerned from the chart.**\n\n3. **Stochastic RSI Scrutiny(Stoch RSI)**:\n - **Extract the numerical values of the Stochastic RSI's K and D lines from the chart.**\n - Detail the present values of the K and D lines **based on the extracted numerical data.**\n - Analyze any crossovers or divergences observed between the K and D lines **based on the extracted values and their visual representation.**\n - Explain how the extracted Stochastic RSI readings and their relationship either support or oppose the prevailing market momentum.\n\n\nDeliver your analysis with clarity, precision, and an emphasis on data. Your objective is to furnish traders and investors with actionable information that facilitates well-informed decision-making. Always justify your conclusions with clear reasoning derived from the chart.", "modelId": { "__rl": true, "mode": "list", "value": "gpt-4o", "cachedResultName": "GPT-4O" }, "options": { "detail": "auto" }, "resource": "image", "simplify": false, "inputType": "base64", "operation": "analyze" }, "credentials": { "openAiApi": { "id": "9RivS2BmSh1DDBFm", "name": "OpenAI Philipp" } }, "typeVersion": 1.8, "notes": "This openAi node performs automated tasks as part of the workflow." }, { "id": "92b4c7c2-8f0e-48a1-8ecf-01f74e612657", "name": "Webhook", "type": "n8n-nodes-base.webhook", "position": [ 1300, 60 ], "webhookId": "12a80fbc-ac59-48f3-b6fd-683d7c420995", "parameters": { "path": "12a80fbc-ac59-48f3-b6fd-683d7c420995", "options": {}, "httpMethod": "POST", "responseMode": "lastNode" }, "typeVersion": 2, "notes": "This webhook node performs automated tasks as part of the workflow." }, { "id": "e1d42095-3bcf-4841-b18c-6f8165576bc7", "name": "Set Text1", "type": "n8n-nodes-base.set", "position": [ 1460, 60 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "fe7ecc99-e1e8-4a5e-bdd6-6fce9757b234", "name": "text", "type": "string", "value": "={{ $json.body.text }}" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "5f0649d2-3f7d-42b8-a630-5dfb03035052", "name": "Save Ticker", "type": "n8n-nodes-base.airtableTool", "position": [ 2020, 540 ], "parameters": { "base": { "__rl": true, "mode": "list", "value": "appXcdIeEEGCEUIti", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Trading" }, "table": { "__rl": true, "mode": "list", "value": "tblD0HsMed7uPgPsZ", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Tickers" }, "columns": { "value": { "Name": "={{ $fromAI(\"ticker\") }}" }, "schema": [ { "id": "Name", "type": "string", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "Name", "defaultMatch": false, "canBeUsedToMatch": true } ], "mappingMode": "defineBelow", "matchingColumns": [ "Name" ], "attemptToConvertTypes": false, "convertFieldsToString": false }, "options": {}, "operation": "create", "descriptionType": "manual", "toolDescription": "Use the tool when user asks to save ticker for future reports" }, "credentials": { "airtableTokenApi": { "id": "XT7hvl1w201jtBhx", "name": "Philipp Key 2" } }, "typeVersion": 2.1, "notes": "This airtableTool node performs automated tasks as part of the workflow." }, { "id": "b4bf95da-8be0-447c-9b83-b1a60ab95d41", "name": "Loop Over Items", "type": "n8n-nodes-base.splitInBatches", "position": [ 1200, 1340 ], "parameters": { "options": {} }, "typeVersion": 3, "notes": "This splitInBatches node performs automated tasks as part of the workflow." }, { "id": "e7061b7f-8058-430d-bc3c-92efdfa84131", "name": "Schedule Trigger", "type": "n8n-nodes-base.scheduleTrigger", "position": [ 800, 1340 ], "parameters": { "rule": { "interval": [ {} ] } }, "typeVersion": 1.2, "notes": "This scheduleTrigger node performs automated tasks as part of the workflow." }, { "id": "4adbd0b3-8246-43a2-b1fb-114add46f35d", "name": "Run Agent", "type": "n8n-nodes-base.httpRequest", "position": [ 1380, 1420 ], "parameters": { "url": "{{ $env.WEBHOOK_URL }}", "method": "POST", "options": {}, "sendBody": true, "sendHeaders": true, "bodyParameters": { "parameters": [ { "name": "=text", "value": "=Please analyze {{ $json.Name }} stocks" } ] }, "headerParameters": { "parameters": [ { "name": "content-type", "value": "application/json" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "59c87621-13bb-46fe-94ab-c631654ba0e0", "name": "Get tokens", "type": "n8n-nodes-base.airtable", "position": [ 1000, 1340 ], "parameters": { "base": { "__rl": true, "mode": "list", "value": "appXcdIeEEGCEUIti", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Trading" }, "table": { "__rl": true, "mode": "list", "value": "tblD0HsMed7uPgPsZ", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Tickers" }, "options": {}, "operation": "search" }, "credentials": { "airtableTokenApi": { "id": "XT7hvl1w201jtBhx", "name": "Philipp Key 2" } }, "typeVersion": 2.1, "notes": "This airtable node performs automated tasks as part of the workflow." }, { "id": "4d44a382-8dd6-4a83-8a02-6e060feb24a8", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 720, 20 ], "parameters": { "color": 4, "width": 1540, "height": 780, "content": "## Scenario 1 - AI Agent" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "60e58a9c-07d1-497a-b65b-8346e7d3f0ca", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ 720, 1220 ], "parameters": { "width": 1540, "height": 420, "content": "## Scenario 2 - Scheduled analyses" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "330b32f3-a965-497d-ac1f-807416cfb297", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 720, 840 ], "parameters": { "width": 1540, "height": 320, "content": "## Scenario 1 - Get Chart " }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "91e34e31-7a13-43b5-934d-af714b238ac7", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [ 760, 500 ], "parameters": { "height": 80, "content": "### Replace Telegram connection" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "fdca89e7-3e31-49f2-b0ed-d703fed3803e", "name": "Sticky Note5", "type": "n8n-nodes-base.stickyNote", "position": [ 1700, 700 ], "parameters": { "height": 80, "content": "### Replace Chat ID" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "01c9ecc5-6326-45b9-9f2a-863e4518893f", "name": "Sticky Note6", "type": "n8n-nodes-base.stickyNote", "position": [ 1160, 860 ], "parameters": { "color": 3, "width": 220, "height": 80, "content": "### Replace API key (header = x-api-key) and chart settings" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "322d6cc7-4793-455f-a112-e5e0f1df21d5", "name": "Sticky Note7", "type": "n8n-nodes-base.stickyNote", "position": [ 1780, 860 ], "parameters": { "color": 3, "width": 220, "height": 80, "content": "### Replace Chat ID" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "b33faeeb-d109-4984-927c-fa32878a6384", "name": "Sticky Note8", "type": "n8n-nodes-base.stickyNote", "position": [ 1980, 220 ], "parameters": { "color": 3, "width": 220, "height": 80, "content": "### Replace Chat ID" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "6c11f9e9-f83e-42d3-9c31-3d9c4007b23a", "name": "Sticky Note11", "type": "n8n-nodes-base.stickyNote", "position": [ 260, 620 ], "parameters": { "color": 7, "width": 330.5152611046425, "height": 239.5888196628349, "content": "### ... or watch set up video [11 min]\n[![Youtube Thumbnail]({{ $env.WEBHOOK_URL }}]({{ $env.WEBHOOK_URL }}\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "09704bed-c71b-4dd1-a843-eb5c2fdb568d", "name": "Sticky Note9", "type": "n8n-nodes-base.stickyNote", "position": [ -40, 620 ], "parameters": { "color": 7, "width": 280, "height": 586, "content": "### Setup\n\n1. **Prepare Airtable**:\n - Create simple table to store tickers.\n\n2. **Prepare Telegram Bot**:\n - Ensure your Telegram bot is set up correctly and listening for new messages.\n\n3. **Replace Credentials**:\n - Update all nodes with the correct credentials and API keys for services involved.\n\n4. **Configure API Endpoints**:\n - Ensure chart service URLs are correctly set to interact with the corresponding APIs properly.\n\n5. **Start Interaction**:\n - Message your bot to initiate analysis; specify ticker symbols and desired chart styles as required." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "85425ad0-4def-42bb-93e6-107102b86de6", "name": "Sticky Note12", "type": "n8n-nodes-base.stickyNote", "position": [ -40, 20 ], "parameters": { "color": 7, "width": 636, "height": 577, "content": "![5min Logo]({{ $env.WEBHOOK_URL }}\n## How to build AI Agent for Technical Analysis with N8N\n**Made by [Mark Shcherbakov]({{ $env.WEBHOOK_URL }} from community [5minAI]({{ $env.WEBHOOK_URL }}\n\nMany traders desire real-time analysis of stock data but lack the technical expertise or tools to perform in-depth analysis. This workflow allows users to easily interact with an AI trading agent through Telegram for seamless stock analysis, chart generation, and technical evaluation, all while eliminating the need for manual interventions.\n\nThis workflow utilizes n8n to construct an end-to-end automation process for stock analysis through Telegram communication. The setup involves:\n- Receiving messages via a Telegram bot.\n- Processing audio or text messages for trading queries.\n- Transcribing audio using OpenAI API for interpretation.\n- Gathering and displaying charts based on user-specified parameters.\n- Performing technical analysis on generated charts.\n- Sending back the analyzed results through Telegram.\n\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "pinData": {}, "connections": { "ba96d38a-5a12-44a0-927f-5893cd91ac9b": { "main": [ [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-b10c2078", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-56452005", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-aa97abcb", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-7b970a94", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-74e5b2c2", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-2073e7b6", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-a13d7b2c", "type": "main", "index": 0 } ], [ { "node": "error-handler-ba96d38a-5a12-44a0-927f-5893cd91ac9b-3ebf74dd", "type": "main", "index": 0 } ] ] }, "7deaf5b4-0280-46d2-b9f8-4d14a67f60b6": { "main": [ [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-d29f6d8a", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-75310139", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-09cf1b84", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-f2036522", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-c2a6e34e", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-996bbb7e", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-0e4d026f", "type": "main", "index": 0 } ], [ { "node": "error-handler-7deaf5b4-0280-46d2-b9f8-4d14a67f60b6-285f2528", "type": "main", "index": 0 } ] ] }, "92b4c7c2-8f0e-48a1-8ecf-01f74e612657": { "main": [ [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-fe043285", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-ece35fdb", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-a05b8072", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-4cd75241", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-260217f7", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-2a9c16f6", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-41cf01fd", "type": "main", "index": 0 } ], [ { "node": "error-handler-92b4c7c2-8f0e-48a1-8ecf-01f74e612657-9a080808", "type": "main", "index": 0 } ] ] }, "4adbd0b3-8246-43a2-b1fb-114add46f35d": { "main": [ [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-c5ef850d", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-a41720bf", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-9712d97f", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-817ba6f2", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-012c46ef", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-ca4a62a3", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-a6d06593", "type": "main", "index": 0 } ], [ { "node": "error-handler-4adbd0b3-8246-43a2-b1fb-114add46f35d-674c4e7f", "type": "main", "index": 0 } ] ] }, "a6d405f0-52c5-4937-85cd-7ef6e4a596b6": { "main": [ [ { "node": "error-handler-a6d405f0-52c5-4937-85cd-7ef6e4a596b6-717ccc11", "type": "main", "index": 0 } ] ] }, "22bd61a2-45cb-4074-a027-28a9a0d327f5": { "main": [ [ { "node": "error-handler-22bd61a2-45cb-4074-a027-28a9a0d327f5-1d56269c", "type": "main", "index": 0 } ] ] }, "46ebe865-b13b-4d7d-8acf-a10d78ba4b5b": { "main": [ [ { "node": "error-handler-46ebe865-b13b-4d7d-8acf-a10d78ba4b5b-0372df73", "type": "main", "index": 0 } ] ] }, "e5a62237-af1e-42dd-befd-51aa0e0a0c08": { "main": [ [ { "node": "error-handler-e5a62237-af1e-42dd-befd-51aa0e0a0c08-ed8b40aa", "type": "main", "index": 0 } ] ] }, "1d27102b-47c9-4aa7-a93c-71699326960d": { "main": [ [ { "node": "error-handler-1d27102b-47c9-4aa7-a93c-71699326960d-0e46ee66", "type": "main", "index": 0 } ] ] }, "1252b926-9965-4499-a539-3c7e2a7eb151": { "main": [ [ { "node": "error-handler-1252b926-9965-4499-a539-3c7e2a7eb151-c41529b9", "type": "main", "index": 0 } ] ] }, "534cad9e-b3b8-4435-9db4-d7d22adfa305": { "main": [ [ { "node": "error-handler-534cad9e-b3b8-4435-9db4-d7d22adfa305-3e12f08d", "type": "main", "index": 0 } ] ] } }, "name": "Memorybufferwindow Workflow", "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "description": "Automated workflow: Memorybufferwindow Workflow. This workflow integrates 18 different services: webhook, telegramTrigger, httpRequest, stickyNote, telegram. It contains 50 nodes and follows best practices for error handling and security.", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Memorybufferwindow Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }