{
  "name": "Send crypto BUY/SELL alerts for top 5 coins with OpenAI, WhatsApp, Telegram, and email",
  "nodes": [
    {
      "id": "9f00df59-fc9a-44d4-ba06-73295cd0975b",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -480,
        0
      ]
    },
    {
      "id": "d2553808-944d-4c2f-93db-5611d93212e5",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -32,
        0
      ]
    },
    {
      "id": "669af83c-b185-40a9-beae-9319ff49856b",
      "name": "Calculate Signal node",
      "type": "n8n-nodes-base.code",
      "position": [
        256,
        144
      ]
    },
    {
      "id": "06d0c973-b4fa-4834-9280-9fce34d4018b",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        944,
        80
      ]
    },
    {
      "id": "5086dbc5-61db-4927-a900-fb2ef9920e7b",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        816,
        -304
      ]
    },
    {
      "id": "91ee8a76-3d50-473a-9a33-d3554eba2320",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1424,
        -128
      ]
    },
    {
      "id": "8edcf5c8-c286-4715-97e8-994e8ce29821",
      "name": "Send message",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1424,
        -592
      ]
    },
    {
      "id": "a239d9da-8838-490f-a743-27c223c5308f",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1424,
        -432
      ]
    },
    {
      "id": "f67db1e1-86dd-4392-9792-4b77d4bf2a97",
      "name": "Send email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1424,
        -288
      ]
    },
    {
      "id": "a7c8e91e-8697-4ba3-a4a7-e77662062035",
      "name": "Human-readable Message",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1008,
        -128
      ]
    },
    {
      "id": "18bccd75-8b79-4c12-8e5b-1cd3f56a0d32",
      "name": "Add user message",
      "type": "n8n-nodes-base.code",
      "position": [
        800,
        -128
      ]
    },
    {
      "id": "21aa15d9-08cb-4d20-a16c-e99238ab5a85",
      "name": "Sell output",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        544,
        -144
      ]
    },
    {
      "id": "fec65683-89e3-410b-a9af-ae9cfc039371",
      "name": "Check Signal Status",
      "type": "n8n-nodes-base.if",
      "position": [
        256,
        -128
      ]
    },
    {
      "id": "eef2b143-6946-49fd-8ce0-ab0894dc2278",
      "name": "Selected Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -272,
        0
      ]
    },
    {
      "id": "636fb7c6-5f88-4d9b-ad7f-09fcf7b393e4",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -688,
        0
      ]
    },
    {
      "id": "945bb13f-18a9-4a82-ac2d-2a176efeca09",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1280,
        -128
      ],
      "parameters": {
        "width": 400,
        "height": 464,
        "content": "## Overview\nThis workflow is designed to monitor the Top 5 cryptocurrencies in real-time, calculate trading signals (BUY, SELL, HOLD), and send human-readable alerts through multiple channels. It inte"
      }
    },
    {
      "id": "7e5c28e8-4f3a-4d5b-8e2c-13dd378cab2b",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -288
      ],
      "parameters": {
        "width": 384,
        "height": 208,
        "content": "## Fetch data and field select\n \nFetch the latest coin data from crypto APi (CoinGecko, Binance or CoinMarketCap)\nUse last 24h API endpoint to get last 24 data from selected coins\n\nSelect only relevan"
      }
    },
    {
      "id": "3059cb36-a1b1-4525-b2c6-d5f5d334d090",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        352
      ],
      "parameters": {
        "width": 384,
        "height": 240,
        "content": "## Calculate Signal Node\n \nThis node applies the trading rules to each coins like BUY, SELL, HOLD \n\nIf this percentage increased by 2% this will alert to SELL and if percentage drop by 2% this will al"
      }
    },
    {
      "id": "87b900ae-fbdc-4ecb-8ff7-09fabdc47227",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -400
      ],
      "parameters": {
        "width": 320,
        "height": 240,
        "content": "## Check Signal Status\n \nThis node will allow to proceed only if signal status is 'SELL' or 'BUY'\n\nHOLD coins will not be allowed to go further steps.\n\nYou can add logic for HOLD status coins if neede"
      }
    },
    {
      "id": "f80490a5-5f48-4ca6-a342-aace64bbb059",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        96
      ],
      "parameters": {
        "width": 320,
        "height": 192,
        "content": "## Decision Routing\n \nOnce get the signal results this will pass to alerting pipeline\n\nAdd user message node prepares a formatted message with the coin, signal, 24h changes and time"
      }
    },
    {
      "id": "0326aa58-5a7d-440b-8471-83843e97d3d8",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -576
      ],
      "parameters": {
        "width": 320,
        "height": 240,
        "content": "## AI Model\n \nUsing OpenAI API to enhances the alerts with human-readable insights and recommendations.\n\nConsolidated all the signals into a readable format for notifications channels"
      }
    },
    {
      "id": "db346a35-b6ad-4395-afa3-7355f1003cfb",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1728,
        -512
      ],
      "parameters": {
        "width": 320,
        "height": 240,
        "content": "## Notifications\n \nSend alert through multiple channels.\n\n1. Whatsapp\n2. Telegram\n3. Email\n\nprofessional multiple channel delivery."
      }
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Sell output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sell output": {
      "main": [
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Add user message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Selected Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Check Signal Status",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Calculate Signal node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Selected Fields": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add user message": {
      "main": [
        [
          {
            "node": "Human-readable Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Human-readable Message",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Check Signal Status": {
      "main": [
        [
          {
            "node": "Sell output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Signal node": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Human-readable Message": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}