AutomationFlowsAI & RAG › Automated Cryptocurrency Trading Bot with Ict Methodology, Gpt-4o & Coinbase

Automated Cryptocurrency Trading Bot with Ict Methodology, Gpt-4o & Coinbase

ByTegar karunia ilham @tegarkaruniailham on n8n.io

An advanced automated trading bot that implements ICT (Inner Circle Trader) methodology and Smart Money Concepts for cryptocurrency trading. This workflow combines AI-powered market analysis with automated trade execution through Coinbase Advanced Trading API. Kill Zone…

Event trigger★★★★☆ complexityAI-powered15 nodesHTTP RequestOpenAINotionTelegramTelegram Trigger
AI & RAG Trigger: Event Nodes: 15 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #8453 — we link there as the canonical source.

This workflow follows the HTTP Request → Notion 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 →

Download .json
{
  "id": "9PtOUaYw4Zjidh7R",
  "name": "Trading Bot ICT 2025 Smart money consept",
  "tags": [
    {
      "id": "HDMvd0JxSiPqNcVr",
      "name": "ICT Trading 2025",
      "createdAt": "2025-09-10T12:59:25.097Z",
      "updatedAt": "2025-09-10T12:59:25.097Z"
    },
    {
      "id": "JFX49nScpUTSlj2e",
      "name": "Kill Zones",
      "createdAt": "2025-09-10T12:59:25.107Z",
      "updatedAt": "2025-09-10T12:59:25.107Z"
    },
    {
      "id": "QBD39tQncdB9LzoI",
      "name": "Trading Bot",
      "createdAt": "2025-09-10T11:29:08.848Z",
      "updatedAt": "2025-09-10T11:29:08.848Z"
    },
    {
      "id": "jWhPdotlyC6ID0K9",
      "name": "Coinbase Advanced",
      "createdAt": "2025-09-10T11:29:08.852Z",
      "updatedAt": "2025-09-10T11:29:08.852Z"
    },
    {
      "id": "lPCaLfjvN74ZUTkg",
      "name": "GPT-4o",
      "createdAt": "2025-09-04T18:40:59.048Z",
      "updatedAt": "2025-09-04T18:40:59.048Z"
    },
    {
      "id": "qfh0lhvaNqmtBlcD",
      "name": "GPT-4o Analysis",
      "createdAt": "2025-09-10T11:29:08.999Z",
      "updatedAt": "2025-09-10T11:29:08.999Z"
    },
    {
      "id": "svS2JxK6BXOs6gS4",
      "name": "Smart Money Concepts",
      "createdAt": "2025-09-10T12:59:25.112Z",
      "updatedAt": "2025-09-10T12:59:25.112Z"
    }
  ],
  "nodes": [
    {
      "id": "f6cfc332-9bba-40dc-9a51-d36028f825f6",
      "name": "Extract ICT Signal Data",
      "type": "n8n-nodes-base.set",
      "position": [
        0,
        0
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "rsi",
              "value": "={{ $json.rsi || null }}"
            },
            {
              "name": "macd",
              "value": "={{ $json.macd || null }}"
            },
            {
              "name": "volume",
              "value": "={{ $json.volume || null }}"
            }
          ],
          "string": [
            {
              "name": "symbol",
              "value": "={{ $json.symbol || $json.text?.match(/\\b[A-Z]{3,6}-[A-Z]{3,6}\\b/)?.[0] || 'BTC-USD' }}"
            },
            {
              "name": "action",
              "value": "={{ $json.action || ($json.text?.toLowerCase().includes('buy') ? 'BUY' : $json.text?.toLowerCase().includes('sell') ? 'SELL' : 'HOLD') }}"
            },
            {
              "name": "price",
              "value": "={{ $json.price || '0' }}"
            },
            {
              "name": "timestamp",
              "value": "={{ $now }}"
            },
            {
              "name": "source",
              "value": "={{ $json.source || 'Telegram_ICT' }}"
            },
            {
              "name": "quantity",
              "value": "={{ $json.quantity || '10' }}"
            },
            {
              "name": "session_time",
              "value": "={{ $now.format('HH:mm') }}"
            },
            {
              "name": "trading_session",
              "value": "={{ $now.hour() >= 0 && $now.hour() < 3 ? 'Asian_KZ' : $now.hour() >= 7 && $now.hour() < 10 ? 'London_KZ' : $now.hour() >= 12 && $now.hour() < 14 ? 'NY_KZ' : $now.hour() >= 15 && $now.hour() < 17 ? 'London_Close_KZ' : 'Off_Hours' }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "737077e0-e256-45a2-a474-5de2c1b1ef3c",
      "name": "ICT Session Validator",
      "type": "n8n-nodes-base.code",
      "position": [
        0,
        224
      ],
      "parameters": {
        "jsCode": "\n// ICT Session Validator - Enhanced kill zone detection\nconst inputData = $input.first().json;\nconst currentHour = new Date().getUTCHours();\nconst currentMinute = new Date().getUTCMinutes();\nconst currentTime = currentHour + (currentMinute / 60);\n\n// ICT Kill Zones 2025 (GMT times)\nconst killZones = {\n    Asian: { start: 0, end: 3, name: 'Asian_KZ', priority: 'MEDIUM', characteristics: 'Range-bound, low volatility' },\n    London: { start: 7, end: 10, name: 'London_KZ', priority: 'HIGH', characteristics: 'Trend establishment, highest volatility' },\n    NewYork: { start: 12, end: 14, name: 'NY_KZ', priority: 'HIGH', characteristics: 'Continuation moves, overlap energy' },\n    LondonClose: { start: 15, end: 17, name: 'London_Close_KZ', priority: 'MEDIUM', characteristics: 'Retracement opportunities' }\n};\n\nlet activeKillZone = 'Off_Hours';\nlet killZoneActive = false;\nlet currentZoneInfo = null;\n\nfor (const [zoneName, zone] of Object.entries(killZones)) {\n    if (currentTime >= zone.start && currentTime < zone.end) {\n        activeKillZone = zone.name;\n        killZoneActive = true;\n        currentZoneInfo = zone;\n        break;\n    }\n}\n\n// Enhanced session data\nconst enhancedData = {\n    ...inputData,\n    session_validation: {\n        current_kill_zone: activeKillZone,\n        kill_zone_active: killZoneActive,\n        zone_priority: currentZoneInfo?.priority || 'LOW',\n        zone_characteristics: currentZoneInfo?.characteristics || 'Outside trading hours',\n        gmt_time: `${currentHour.toString().padStart(2, '0')}:${currentMinute.toString().padStart(2, '0')}`,\n        trading_allowed: killZoneActive,\n        session_strength: killZoneActive ? (activeKillZone.includes('London') || activeKillZone.includes('NY') ? 0.9 : 0.6) : 0.1\n    }\n};\n\nreturn [{ json: enhancedData }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "4c0c50b2-8abc-4fb5-b5de-0eef53ee9ca8",
      "name": "Get Coinbase Market Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        448
      ],
      "parameters": {
        "url": "https://api.coinbase.com/api/v3/brokerage/products/{{ $json.symbol }}",
        "options": {
          "timeout": 10000
        },
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "coinbaseAdvancedApi"
      },
      "typeVersion": 4.1
    },
    {
      "id": "2fbf1cab-ef41-4e0f-b542-2da47fae8174",
      "name": "ICT AI Analysis",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        288,
        448
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {
          "maxTokens": 1000,
          "temperature": 0.3
        },
        "messages": {
          "values": [
            {
              "role": "user",
              "content": "You are an expert ICT (Inner Circle Trader) analyst. Analyze the provided trading signal using ICT 2025 methodology and Smart Money Concepts.\n\nInput Data: {{ JSON.stringify($json, null, 2) }}\n\nProvide analysis in this exact JSON format:\n{\n  \"signal_quality\": \"HIGH|MEDIUM|LOW\",\n  \"confidence_score\": 0-100,\n  \"risk_level\": \"LOW|MEDIUM|HIGH\", \n  \"recommendation\": \"BUY|SELL|HOLD\",\n  \"reasoning\": \"Detailed ICT analysis explanation\",\n  \"stop_loss\": numerical_value,\n  \"take_profit\": numerical_value,\n  \"ict_analysis\": {\n    \"session_alignment\": true/false,\n    \"session_strength\": 0.0-1.0,\n    \"structure_break\": \"BOS|CHOCH|NONE\",\n    \"liquidity_grab\": true/false,\n    \"fair_value_gap\": true/false,\n    \"order_block_present\": true/false,\n    \"kill_zone_active\": true/false,\n    \"institutional_sentiment\": \"BULLISH|BEARISH|NEUTRAL\",\n    \"entry_model\": \"Breaker|Order Block|Fair Value Gap|Liquidity Grab\",\n    \"session_quality\": \"HIGH|MEDIUM|LOW\",\n    \"market_structure\": \"BULLISH|BEARISH|RANGING\",\n    \"smart_money_flow\": \"INTO|OUT OF|NEUTRAL\"\n  }\n}\n\nFocus on:\n1. Current Kill Zone analysis ({{ $json.session_validation.current_kill_zone }})\n2. Session strength and timing ({{ $json.session_validation.session_strength }})\n3. Market structure and liquidity levels\n4. Smart money concepts and institutional behavior\n5. Risk management based on ICT principles"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "11d8f1ff-efa1-423c-b070-036235f269c9",
      "name": "Parse ICT AI Analysis",
      "type": "n8n-nodes-base.code",
      "position": [
        288,
        224
      ],
      "parameters": {
        "jsCode": "\n// Enhanced ICT Analysis Parser with comprehensive error handling\nconst signalData = $input.first().json;\nlet aiResponseText;\n\ntry {\n    // Get AI response with multiple fallback attempts\n    const aiResponse = $('ICT AI Analysis').first().json;\n    aiResponseText = aiResponse.message?.content || aiResponse.content || aiResponse.text;\n\n    if (!aiResponseText) {\n        throw new Error('No AI response content found');\n    }\n\n    // Parse AI analysis JSON with enhanced fallback\n    let aiAnalysis;\n    try {\n        aiAnalysis = JSON.parse(aiResponseText);\n    } catch {\n        // Extract JSON from markdown or create fallback\n        const jsonMatch = aiResponseText.match(/```(?:json)?\\s*({[\\s\\S]*?})\\s*```/);\n        if (jsonMatch) {\n            aiAnalysis = JSON.parse(jsonMatch[1]);\n        } else {\n            // Create ICT-informed fallback analysis\n            aiAnalysis = {\n                signal_quality: signalData.session_validation?.trading_allowed ? 'MEDIUM' : 'LOW',\n                confidence_score: signalData.session_validation?.session_strength * 100 || 30,\n                risk_level: signalData.session_validation?.zone_priority === 'HIGH' ? 'MEDIUM' : 'HIGH',\n                recommendation: signalData.action || 'HOLD',\n                reasoning: `Fallback ICT analysis - Session: ${signalData.session_validation?.current_kill_zone}`,\n                stop_loss: parseFloat(signalData.price || 0) * 0.98,\n                take_profit: parseFloat(signalData.price || 0) * 1.02,\n                ict_analysis: {\n                    session_alignment: signalData.session_validation?.trading_allowed || false,\n                    session_strength: signalData.session_validation?.session_strength || 0.1,\n                    structure_break: 'NONE',\n                    liquidity_grab: false,\n                    fair_value_gap: false,\n                    order_block_present: false,\n                    kill_zone_active: signalData.session_validation?.kill_zone_active || false,\n                    institutional_sentiment: 'NEUTRAL',\n                    entry_model: 'Fallback',\n                    session_quality: signalData.session_validation?.zone_priority || 'LOW'\n                }\n            };\n        }\n    }\n\n    // Enhance with session data\n    if (aiAnalysis.ict_analysis) {\n        aiAnalysis.ict_analysis = {\n            ...aiAnalysis.ict_analysis,\n            current_kill_zone: signalData.session_validation?.current_kill_zone,\n            zone_characteristics: signalData.session_validation?.zone_characteristics,\n            gmt_time: signalData.session_validation?.gmt_time\n        };\n    }\n\n    // Create final enhanced signal\n    const enhancedSignal = {\n        ...signalData,\n        ai_analysis: aiAnalysis,\n        coinbase_data: $('Get Coinbase Market Data').first()?.json || {},\n        enhanced_metadata: {\n            processing_time: new Date().toISOString(),\n            workflow_version: '3.0_ICT_2025',\n            ai_model: 'gpt-4o',\n            ict_session: signalData.session_validation?.current_kill_zone,\n            session_valid: signalData.session_validation?.trading_allowed || false,\n            analysis_quality: 'ENHANCED'\n        }\n    };\n\n    return [{ json: enhancedSignal }];\n\n} catch (error) {\n    console.error('ICT Analysis parsing error:', error);\n\n    return [{\n        json: {\n            ...signalData,\n            ai_analysis: {\n                signal_quality: 'LOW',\n                confidence_score: 0,\n                risk_level: 'HIGH',\n                recommendation: 'HOLD',\n                reasoning: `Analysis error: ${error.message}`,\n                stop_loss: null,\n                take_profit: null,\n                ict_analysis: {\n                    session_alignment: false,\n                    session_strength: 0,\n                    structure_break: 'ERROR',\n                    error: true,\n                    current_kill_zone: signalData.session_validation?.current_kill_zone || 'Unknown'\n                }\n            },\n            error: {\n                type: 'ICT_PARSING_ERROR',\n                message: error.message,\n                timestamp: new Date().toISOString()\n            }\n        }\n    }];\n}\n"
      },
      "typeVersion": 2
    },
    {
      "id": "afe2dec4-0b10-42ce-8ae8-898c3fbad56f",
      "name": "ICT Quality & Session Filter",
      "type": "n8n-nodes-base.if",
      "position": [
        272,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "quality-check",
              "operator": {
                "type": "string",
                "operation": "notEqual"
              },
              "leftValue": "={{ $json.ai_analysis?.signal_quality }}",
              "rightValue": "LOW"
            },
            {
              "id": "confidence-check",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.ai_analysis?.confidence_score }}",
              "rightValue": 60
            },
            {
              "id": "session-check",
              "operator": {
                "type": "boolean",
                "operation": "equal"
              },
              "leftValue": "={{ $json.session_validation?.trading_allowed }}",
              "rightValue": true
            },
            {
              "id": "ict-structure-check",
              "operator": {
                "type": "boolean",
                "operation": "equal"
              },
              "leftValue": "={{ $json.ai_analysis?.ict_analysis?.session_alignment }}",
              "rightValue": true
            }
          ],
          "combineOperation": "all"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5e266bbc-1f9d-45b6-9dab-27c3b7102d51",
      "name": "Execute ICT Trade",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        528,
        0
      ],
      "parameters": {
        "url": "https://api.coinbase.com/api/v3/brokerage/orders",
        "method": "POST",
        "options": {
          "timeout": 30000
        },
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "product_id",
              "value": "={{ $json.symbol }}"
            },
            {
              "name": "side",
              "value": "={{ $json.action.toLowerCase() }}"
            },
            {
              "name": "order_configuration",
              "value": "={{ { \"market_market_ioc\": { \"quote_size\": $json.quantity || \"10\" } } }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "nodeCredentialType": "coinbaseAdvancedApi"
      },
      "typeVersion": 4.1
    },
    {
      "id": "dd9eedee-05ed-4949-931f-c744ade93245",
      "name": "Create ICT Trading Record",
      "type": "n8n-nodes-base.notion",
      "position": [
        784,
        0
      ],
      "parameters": {
        "simple": false,
        "resource": "databasePage",
        "databaseId": "{{ $vars.NOTION_TRADING_DB_ID }}",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Symbol",
              "type": "title",
              "title": "={{ $json.symbol }}"
            },
            {
              "key": "Action",
              "type": "select",
              "select": "={{ $json.action }}"
            },
            {
              "key": "Confidence",
              "type": "number",
              "number": "={{ $json.ai_analysis.confidence_score }}"
            },
            {
              "key": "Kill Zone",
              "type": "rich_text",
              "rich_text": "={{ $json.session_validation.current_kill_zone }}"
            },
            {
              "key": "Price",
              "type": "number",
              "number": "={{ parseFloat($json.price || 0) }}"
            },
            {
              "key": "Timestamp",
              "date": "={{ $json.timestamp }}",
              "type": "date"
            },
            {
              "key": "Session Strength",
              "type": "number",
              "number": "={{ $json.session_validation.session_strength }}"
            },
            {
              "key": "Risk Level",
              "type": "select",
              "select": "={{ $json.ai_analysis.risk_level }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3fc15630-1c74-49aa-b899-85ed2bd44078",
      "name": "Generate ICT Notification",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        992,
        0
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {
          "maxTokens": 500,
          "temperature": 0.7
        },
        "messages": {
          "values": [
            {
              "role": "user",
              "content": "Create a professional Telegram notification for this ICT trading signal:\n\nSignal Data: {{ JSON.stringify($json, null, 2) }}\n\nCreate a formatted message with:\n- Appropriate emojis and formatting\n- Key ICT analysis points\n- Clear action and confidence level\n- Session and timing information\n- Risk management details\n\nMake it concise but informative, suitable for Telegram with Markdown formatting."
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "51f7928d-9f4c-4308-bbea-42e45e0b42da",
      "name": "Send ICT Telegram Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1200,
        0
      ],
      "parameters": {
        "text": "{{ $('Generate ICT Notification').first().json.message.content || $json.fallback_notification || '\ud83c\udfaf ICT Trade Executed\\n\\n\ud83d\udcca Symbol: ' + $json.symbol + '\\n\ud83c\udfaf Action: ' + $json.action + '\\n\u23f0 Kill Zone: ' + $json.ai_analysis.ict_analysis.current_kill_zone + '\\n\ud83d\udcc8 Confidence: ' + $json.ai_analysis.confidence_score + '%\\n\\n\ud83d\ude80 Trade processed successfully!' }}",
        "chatId": "{{ $vars.TELEGRAM_CHAT_ID }}",
        "additionalFields": {
          "parse_mode": "Markdown",
          "disable_web_page_preview": true
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "763a0244-1745-45b9-81b0-9456ce29774b",
      "name": "Log ICT Rejected Signal",
      "type": "n8n-nodes-base.notion",
      "position": [
        528,
        224
      ],
      "parameters": {
        "simple": false,
        "resource": "databasePage",
        "databaseId": "{{ $vars.NOTION_REJECTED_DB_ID }}",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Symbol",
              "type": "title",
              "title": "={{ $json.symbol }}"
            },
            {
              "key": "Rejection Reason",
              "type": "rich_text",
              "rich_text": "={{ $json.ai_analysis.reasoning }}"
            },
            {
              "key": "Confidence Score",
              "type": "number",
              "number": "={{ $json.ai_analysis.confidence_score }}"
            },
            {
              "key": "Session",
              "type": "rich_text",
              "rich_text": "={{ $json.session_validation.current_kill_zone }}"
            },
            {
              "key": "Timestamp",
              "date": "={{ $json.timestamp }}",
              "type": "date"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "68fcbc92-0c1c-430e-a313-c6796567e460",
      "name": "ICT Telegram Signal Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -240,
        240
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "9a011a37-59af-4609-b419-b3847ab865ba",
      "name": "ICT Webhook Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        784,
        224
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"status\": \"success\", \"message\": \"ICT signal processed\", \"symbol\": $json.symbol, \"action\": $json.action, \"kill_zone\": $json.ai_analysis?.ict_analysis?.current_kill_zone, \"confidence\": $json.ai_analysis?.confidence_score, \"session_strength\": $json.ai_analysis?.ict_analysis?.session_strength, \"ict_factors\": { \"structure_break\": $json.ai_analysis?.ict_analysis?.structure_break, \"liquidity_grab\": $json.ai_analysis?.ict_analysis?.liquidity_grab, \"fair_value_gap\": $json.ai_analysis?.ict_analysis?.fair_value_gap, \"order_block\": $json.ai_analysis?.ict_analysis?.order_block_present } } }}"
      },
      "typeVersion": 1
    },
    {
      "id": "4324e565-28fa-44de-a513-f3ff833660ec",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1008,
        224
      ],
      "parameters": {
        "url": "{{ $vars.WEBHOOK_URL || 'https://webhook.site/your-webhook-id' }}",
        "method": "POST",
        "options": {
          "timeout": 10000
        },
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "signal_data",
              "value": "={{ JSON.stringify($json) }}"
            },
            {
              "name": "timestamp",
              "value": "={{ $now }}"
            },
            {
              "name": "workflow_id",
              "value": "ICT_Trading_Bot_2025"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "fee94b74-4331-40be-b183-e44ac7496552",
      "name": "Get a chat",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1200,
        224
      ],
      "parameters": {
        "chatId": "{{ $vars.TELEGRAM_CHAT_ID || '-1001234567890' }}",
        "resource": "chat",
        "additionalFields": {}
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bb7e4921-396a-47db-97d2-53e23aa215b7",
  "connections": {
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Get a chat",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ICT AI Analysis": {
      "main": [
        [
          {
            "node": "Parse ICT AI Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execute ICT Trade": {
      "main": [
        [
          {
            "node": "Create ICT Trading Record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ICT Webhook Response": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ICT Session Validator": {
      "main": [
        [
          {
            "node": "Get Coinbase Market Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse ICT AI Analysis": {
      "main": [
        [
          {
            "node": "ICT Quality & Session Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract ICT Signal Data": {
      "main": [
        [
          {
            "node": "ICT Session Validator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log ICT Rejected Signal": {
      "main": [
        [
          {
            "node": "ICT Webhook Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send ICT Telegram Alert": {
      "main": [
        [
          {
            "node": "ICT Webhook Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Coinbase Market Data": {
      "main": [
        [
          {
            "node": "ICT AI Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create ICT Trading Record": {
      "main": [
        [
          {
            "node": "Generate ICT Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate ICT Notification": {
      "main": [
        [
          {
            "node": "Send ICT Telegram Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ICT Telegram Signal Trigger": {
      "main": [
        [
          {
            "node": "Extract ICT Signal Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ICT Quality & Session Filter": {
      "main": [
        [
          {
            "node": "Execute ICT Trade",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log ICT Rejected Signal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

An advanced automated trading bot that implements ICT (Inner Circle Trader) methodology and Smart Money Concepts for cryptocurrency trading. This workflow combines AI-powered market analysis with automated trade execution through Coinbase Advanced Trading API. Kill Zone…

Source: https://n8n.io/workflows/8453/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Meet your automated Lead Gen Specialist. This workflow streamlines cold outreach by scraping local businesses, qualifying them with AI, and delivering them to your sales team instantly via an interact

HTTP Request, Notion, OpenAI +2
AI & RAG

This n8n template automates the transformation of raw meeting notes into structured tasks and documents using GPT (or another model) , syncing them to Notion and TickTick via a Telegram bot. Automate

Item Lists, Telegram Trigger, N8N Nodes Ticktick +4
AI & RAG

Ask questions like “How much did I spend on food last month?” and get instant answers from your financial data — directly in Telegram.

Telegram Trigger, OpenAI, Google Sheets +2
AI & RAG

Build a Telegram bot that helps users find AliExpress products using natural language requests. The bot uses OpenAI to optimize search queries, Decodo to scrape product listings, and AI analysis to se

Telegram Trigger, OpenAI, Telegram +3
AI & RAG

Voice Note -> Veo 3 AD. Uses telegramTrigger, telegram, openAi, httpRequest. Event-driven trigger; 49 nodes.

Telegram Trigger, Telegram, OpenAI +3