AutomationFlowsAI & RAG › Telegram Forex Signals to MT5 via Claude AI

Telegram Forex Signals to MT5 via Claude AI

Original n8n title: Execute Forex Trading Signals From Telegram on Metatrader 5 with Claude

ByCj Elijah Garay @elijahbuilds-ai on n8n.io

This n8n template is the missing link between your Telegram trading signal channels and MetaTrader 5. It listens to your Telegram bot, uses AI to detect and parse trading signals in real time, then forwards them directly to your MT5 instance via the signal handler webhook — no…

Webhook trigger★★★★☆ complexityAI-powered16 nodesChain LlmHTTP RequestAnthropic ChatOutput Parser Structured
AI & RAG Trigger: Webhook Nodes: 16 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Chainllm → 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 →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "8c329388-758b-4d65-accb-7aff8f179c5c",
      "name": "Instructions1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        1072
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "febab5d6-3a82-4c5b-9c7e-e3d3476522a2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        1328
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d2021c39-c947-4cbd-8fec-b84199fb0ac9",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        1184
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "278f904b-ab83-40a5-875c-475472ed68cc",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        1184
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0ea8e25c-75dc-4cf0-93be-29c73380addd",
      "name": "Receive from Forwarder",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -256,
        1488
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "be601e6e-8812-49ca-9820-9e75a4df634e",
      "name": "Extract Message",
      "type": "n8n-nodes-base.code",
      "position": [
        -48,
        1488
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "f60e2325-c3e9-452c-8cd4-009e015540d5",
      "name": "Has text?",
      "type": "n8n-nodes-base.if",
      "position": [
        224,
        1488
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "d68a6345-c58f-4610-b814-550c88080468",
      "name": "Analyze Signal",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        432,
        1312
      ],
      "parameters": {},
      "typeVersion": 1.4
    },
    {
      "id": "9ac4d184-e526-445f-8340-8af1c2491c53",
      "name": "Respond (Empty)",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        432,
        1632
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "720fa4b4-8ffa-4ea8-b217-ae60caf4a027",
      "name": "Parse LLM Response",
      "type": "n8n-nodes-base.code",
      "position": [
        848,
        1488
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "e5c3651c-ce02-4664-a83d-eba090a3da0a",
      "name": "Is Signal?",
      "type": "n8n-nodes-base.if",
      "position": [
        1024,
        1488
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "82e67f38-8dbc-4802-b43e-12e4d8ce1f1d",
      "name": "Send to MT5 Handler",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1264,
        1376
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "3a00ee2e-d3ec-4c7b-bc9b-15ace439c3f5",
      "name": "Respond (Signal Sent)",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1488,
        1376
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "b762b7e1-1dbf-4758-a038-a8dfd3dd97ff",
      "name": "Respond (Skipped)",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1264,
        1616
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "1275b9fa-695a-47f6-a5fb-b8545fe59cc9",
      "name": "Anthropic Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        432,
        1472
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "c9e0a2fa-7fbb-424c-a4f9-5713ee81b69b",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        576,
        1472
      ],
      "parameters": {},
      "typeVersion": 1.2
    }
  ],
  "connections": {
    "Has text?": {
      "main": [
        [
          {
            "node": "Analyze Signal",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond (Empty)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Signal?": {
      "main": [
        [
          {
            "node": "Send to MT5 Handler",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond (Skipped)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Signal": {
      "main": [
        [
          {
            "node": "Parse LLM Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Message": {
      "main": [
        [
          {
            "node": "Has text?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse LLM Response": {
      "main": [
        [
          {
            "node": "Is Signal?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send to MT5 Handler": {
      "main": [
        [
          {
            "node": "Respond (Signal Sent)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Analyze Signal",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Receive from Forwarder": {
      "main": [
        [
          {
            "node": "Extract Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Analyze Signal",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

This n8n template is the missing link between your Telegram trading signal channels and MetaTrader 5. It listens to your Telegram bot, uses AI to detect and parse trading signals in real time, then forwards them directly to your MT5 instance via the signal handler webhook — no…

Source: https://n8n.io/workflows/14235/ — 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

Tired of grinding out YouTube content? This n8n workflow turns AI into your personal video factory—creating engaging, faceless shorts on autopilot. Perfect for creators, marketers, or side-hustlers lo

HTTP Request, Google Drive, Google Sheets +6
AI & RAG

Faceless YouTube Generator. Uses httpRequest, limit, googleDrive, googleSheets. Webhook trigger; 49 nodes.

HTTP Request, Google Drive, Google Sheets +7
AI & RAG

This workflow is a powerful, fully automated web query and semantic reranking system that allows users to perform precise, detailed searches, intelligently rank search results and provide high-quality

Output Parser Autofixing, Output Parser Structured, Chain Llm +4
AI & RAG

⏺ 🚀 How it works

Agent, Anthropic Chat, Output Parser Structured +6
AI & RAG

Content - Newsletter Agent. Uses formTrigger, chainLlm, outputParserStructured, httpRequest. Event-driven trigger; 91 nodes.

Form Trigger, Chain Llm, Output Parser Structured +8