{
  "id": "P9ohLaMoGT0yYe57",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Automatic Cryptocurrency Analysis and Reporting with Google Gemini and CoinGecko",
  "tags": [],
  "nodes": [
    {
      "id": "c2c0b002-e601-4f2e-874a-6440d793ed70",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -64,
        480
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 10
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "dfb47127-27ab-41f7-b581-56434324b577",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        -208
      ],
      "parameters": {
        "width": 224,
        "height": 1216,
        "content": "Coingecko API "
      },
      "typeVersion": 1
    },
    {
      "id": "ce888ae2-94c3-4092-87c1-27964c461b5a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        -208
      ],
      "parameters": {
        "color": 2,
        "width": 224,
        "height": 1216,
        "content": "Data Cleaning\n"
      },
      "typeVersion": 1
    },
    {
      "id": "74238cf8-6d5c-44e3-8b65-d16301d01ffe",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        -208
      ],
      "parameters": {
        "color": 3,
        "width": 224,
        "height": 1216,
        "content": "AI Promt"
      },
      "typeVersion": 1
    },
    {
      "id": "620bc9ee-9f43-409f-8101-95794fa33fd2",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        -208
      ],
      "parameters": {
        "color": 4,
        "width": 256,
        "height": 1216,
        "content": "AI Generate"
      },
      "typeVersion": 1
    },
    {
      "id": "8defb3ad-1cf1-4cd3-92cd-0c9a65fdb3ea",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        -208
      ],
      "parameters": {
        "color": 5,
        "width": 224,
        "height": 1216,
        "content": "Send Mail"
      },
      "typeVersion": 1
    },
    {
      "id": "9ced4102-d2dd-4d92-956b-5ae9e86090b5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        -688
      ],
      "parameters": {
        "color": 5,
        "width": 816,
        "height": 736,
        "content": "Hello,\n\nThis workflow is an automated system that fetches market data for your specified cryptocurrencies from the CoinGecko API, generates a professional analysis text based on this data, and then sends this analysis to you via email.\n\nWorkflow Purpose:\n\nRuns automatically every day at 10:00 AM.\n\nRetrieves real-time data for cryptocurrencies like BONK, PEPE, Radio Caca, and Stellar.\n\nAnalyzes this data using an AI model.\n\nSends the generated analysis via email to your specified address.\n\nHow to Customize:\n\nChange Cryptocurrency: To change the cryptocurrencies you want to analyze, you can edit the ids= part in the URL of each \"HTTP Request\" node. For example, you can change ids=bonk to ids=bitcoin to fetch Bitcoin data.\n\nExample: In the URL https://api.coingecko.com/api/v3/coins/markets?vs_currency=try&ids=bonk..., replace bonk with the id of the coin you want.\n\nTip: If you want to get analysis for more cryptocurrencies, you can expand your workflow by simply copying and pasting the existing groups of HTTP Request, Code, Basic LLM Chain, and Send a message nodes.\n\nChange AI Prompt: If you want to change the content and language of the analysis text, you can edit the prompt text in the \"AI Promp\" node that is connected to the \"Basic LLM Chain\" node. This allows you to completely adapt the analysis text to your own needs.\n\nChange AI Model: The Google Gemini Chat Model is used by default. If you prefer to use a different AI model, you can delete the \"Google Gemini Chat Model\" node and add another n8n AI model like ChatGPT, Deepseek, or Ollama in its place.\n\nChange Email Address: To change the email address where the analyses are sent, you can update the \"To\" and \"Bcc\" fields in the \"Send a message\" nodes with your own email addresses.\n\nNote: Since no API keys or sensitive information are used, this is a shareable template. You can use it with confidence."
      },
      "typeVersion": 1
    },
    {
      "id": "90e7daf7-997a-41a5-b880-89ac32f586d4",
      "name": "AI Promt1",
      "type": "n8n-nodes-base.set",
      "position": [
        672,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8c6010b7-384c-49d0-94ee-4a835e7c35af",
              "name": "chatInput",
              "type": "string",
              "value": "=Hello, below are some basic market data for Bonk Coin. Please write a short and professional analysis based on these.\n\nData:\n\nDate: {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }}\n\nCoin: {{ $json.name }} ({{ $json.symbol }})\n\nPrice: {{ $json.current_price }}\n\n24h High: {{ $json.high_24h }}\n\n24h Low: {{ $json.low_24h }}\n\n24h Change: {{ $json.price_change_percentage_24h }}\n\nVolume: {{ $json.total_volume }}\n\nATH: {{ $json.ath }} ({{ $json.ath_change_percentage }}%)\n\nATL: {{ $json.atl }} ({{ $json.atl_change_percentage }}%)\n\nSupply (circulating / total / max): {{ $json.circulating_supply }} / {{ $json.total_supply }} / {{ $json.max_supply }}\n\nPlease analyze with short and clear sentences under the following headings:\n\nPrice status and volatility\n\nLiquidity and volume commentary\n\nGeneral investor interest\n\nRisk/opportunity\n\nGeneral judgment (Positive / Negative / Neutral)\n\nLast sentence: a one-sentence recommendation for investors\n\nYou can use appropriate emojis without exaggeration.\n\nIntro example:\nHello, the {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} analysis for {{ $json.name }} is as follows,"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "70b795f2-64bc-4f9a-b492-b28735e41556",
      "name": "AI Promt2",
      "type": "n8n-nodes-base.set",
      "position": [
        672,
        320
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8c6010b7-384c-49d0-94ee-4a835e7c35af",
              "name": "chatInput",
              "type": "string",
              "value": "=Hello, below are some basic market data for Pepe Coin. Please write a short and professional analysis based on these.\n\nData:\n\nDate: {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }}\n\nCoin: {{ $json.name }} ({{ $json.symbol }})\n\nPrice: {{ $json.current_price }}\n\n24h High: {{ $json.high_24h }}\n\n24h Low: {{ $json.low_24h }}\n\n24h Change: {{ $json.price_change_percentage_24h }}\n\nVolume: {{ $json.total_volume }}\n\nATH: {{ $json.ath }} ({{ $json.ath_change_percentage }}%)\n\nATL: {{ $json.atl }} ({{ $json.atl_change_percentage }}%)\n\nSupply (circulating / total / max): {{ $json.circulating_supply }} / {{ $json.total_supply }} / {{ $json.max_supply }}\n\nPlease analyze with short and clear sentences under the following headings:\n\nPrice status and volatility\n\nLiquidity and volume commentary\n\nGeneral investor interest\n\nRisk/opportunity\n\nGeneral judgment (Positive / Negative / Neutral)\n\nLast sentence: a one-sentence recommendation for investors\n\nYou can use appropriate emojis without exaggeration.\n\nIntro example:\nHello, the {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} analysis for {{ $json.name }} is as follows,"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3cd335eb-e9d1-4ab5-93d1-15b4626a33f9",
      "name": "AI Promt3",
      "type": "n8n-nodes-base.set",
      "position": [
        672,
        608
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8c6010b7-384c-49d0-94ee-4a835e7c35af",
              "name": "chatInput",
              "type": "string",
              "value": "=Hello, below are some basic market data for Radio Caca Coin. Please write a short and professional analysis based on these.\n\nData:\n\nDate: {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }}\n\nCoin: {{ $json.name }} ({{ $json.symbol }})\n\nPrice: {{ $json.current_price }}\n\n24h High: {{ $json.high_24h }}\n\n24h Low: {{ $json.low_24h }}\n\n24h Change: {{ $json.price_change_percentage_24h }}\n\nVolume: {{ $json.total_volume }}\n\nATH: {{ $json.ath }} ({{ $json.ath_change_percentage }}%)\n\nATL: {{ $json.atl }} ({{ $json.atl_change_percentage }}%)\n\nSupply (circulating / total / max): {{ $json.circulating_supply }} / {{ $json.total_supply }} / {{ $json.max_supply }}\n\nPlease analyze with short and clear sentences under the following headings:\n\nPrice status and volatility\n\nLiquidity and volume commentary\n\nGeneral investor interest\n\nRisk/opportunity\n\nGeneral judgment (Positive / Negative / Neutral)\n\nLast sentence: a one-sentence recommendation for investors\n\nYou can use appropriate emojis without exaggeration.\n\nIntro example:\nHello, the {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} analysis for {{ $json.name }} is as follows,"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b1e0df43-c42c-481c-988b-c27b0b5e1d99",
      "name": "AI Promt4",
      "type": "n8n-nodes-base.set",
      "position": [
        672,
        880
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8c6010b7-384c-49d0-94ee-4a835e7c35af",
              "name": "chatInput",
              "type": "string",
              "value": "=Hello, below are some basic market data for Stellar Coin. Please write a short and professional analysis based on these.\n\nData:\n\nDate: {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }}\n\nCoin: {{ $json.name }} ({{ $json.symbol }})\n\nPrice: {{ $json.current_price }}\n\n24h High: {{ $json.high_24h }}\n\n24h Low: {{ $json.low_24h }}\n\n24h Change: {{ $json.price_change_percentage_24h }}\n\nVolume: {{ $json.total_volume }}\n\nATH: {{ $json.ath }} ({{ $json.ath_change_percentage }}%)\n\nATL: {{ $json.atl }} ({{ $json.atl_change_percentage }}%)\n\nSupply (circulating / total / max): {{ $json.circulating_supply }} / {{ $json.total_supply }} / {{ $json.max_supply }}\n\nPlease analyze with short and clear sentences under the following headings:\n\nPrice status and volatility\n\nLiquidity and volume commentary\n\nGeneral investor interest\n\nRisk/opportunity\n\nGeneral judgment (Positive / Negative / Neutral)\n\nLast sentence: a one-sentence recommendation for investors\n\nYou can use appropriate emojis without exaggeration.\n\nIntro example:\nHello, the {{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} analysis for {{ $json.name }} is as follows,"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "548cbc2a-9503-4bfd-8901-7dddfadb3348",
      "name": "Send Mail1",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        1232,
        0
      ],
      "parameters": {
        "subject": "={{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} | {{ $('Extract Crypto Data1').item.json.name }} Crypto Prediction System",
        "bodyContent": "={{ $json.text }}",
        "toRecipients": "[user@example.com]",
        "additionalFields": {}
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2
    },
    {
      "id": "c73e9d5f-cc59-40e6-8384-b66d905573df",
      "name": "Send Mail2",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        1232,
        320
      ],
      "parameters": {
        "subject": "={{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} | {{ $('Extract Crypto Data2').item.json.name }} Crypto Prediction System",
        "bodyContent": "={{ $json.text }}",
        "toRecipients": "[user@example.com]",
        "additionalFields": {}
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2
    },
    {
      "id": "ee8e3431-7234-4bad-a437-cbfa60eab7a0",
      "name": "Send Mail3",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        1232,
        608
      ],
      "parameters": {
        "subject": "={{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} | {{ $('Extract Crypto Data3').item.json.name }} Crypto Prediction System",
        "bodyContent": "={{ $json.text }}",
        "toRecipients": "[user@example.com]",
        "additionalFields": {}
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2
    },
    {
      "id": "1b329309-55da-479e-9dbc-27d2627b15ae",
      "name": "Send Mail4",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        1232,
        880
      ],
      "parameters": {
        "subject": "={{ new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul', hour12: false }).replace(',', '') }} | {{ $('Extract Crypto Data4').item.json.name }} Crypto Prediction System",
        "bodyContent": "={{ $json.text }}",
        "toRecipients": "[user@example.com]",
        "additionalFields": {}
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2
    },
    {
      "id": "4238bea5-f759-48b7-8c06-0df9a8553a5e",
      "name": "Extract Crypto Data1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        0
      ],
      "parameters": {
        "url": "https://api.coingecko.com/api/v3/coins/markets?vs_currency=try&ids=bonk&order=market_cap_desc&per_page=1&page=1",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "91a7f17d-ad55-4a45-9e25-f566e8e5f514",
      "name": "Extract Crypto Data2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        320
      ],
      "parameters": {
        "url": "https://api.coingecko.com/api/v3/coins/markets?vs_currency=try&ids=pepe&order=market_cap_desc&per_page=1&page=1",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "5d555bed-4db9-4ac1-b65f-93cb9264e34c",
      "name": "Extract Crypto Data3",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        608
      ],
      "parameters": {
        "url": "https://api.coingecko.com/api/v3/coins/markets?vs_currency=try&ids=radio-caca&order=market_cap_desc&per_page=1&page=1",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "5a0e3cb3-662a-48f8-897d-919f4a87cd0b",
      "name": "Extract Crypto Data4",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        880
      ],
      "parameters": {
        "url": "https://api.coingecko.com/api/v3/coins/markets?vs_currency=try&ids=stellar&order=market_cap_desc&per_page=1&page=1",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "702475c6-0253-471b-8fbf-5929f2fe151d",
      "name": "Data Cleaning1",
      "type": "n8n-nodes-base.code",
      "position": [
        448,
        0
      ],
      "parameters": {
        "jsCode": "const coin = items[0].json;\n\nfunction clean(value, decimals = null) {\n  if (value === undefined || value === null) {\n    return \"Belirlenemedi\";\n  }\n  if (typeof value === \"number\" && decimals !== null) {\n    return value.toFixed(decimals);\n  }\n  return value;\n}\n\nreturn [\n  {\n    json: {\n      name: clean(coin.name),\n      symbol: clean(coin.symbol?.toUpperCase()),\n      current_price: clean(coin.current_price, 8) + \" TL\",\n      high_24h: clean(coin.high_24h),\n      low_24h: clean(coin.low_24h),\n      price_change_percentage_24h: clean(coin.price_change_percentage_24h, 2) + \"%\",\n      total_volume: clean(coin.total_volume, 2) + \" TL\",\n      ath: clean(coin.ath, 8),\n      ath_change_percentage: clean(coin.ath_change_percentage, 2),\n      atl: clean(coin.atl, 8),\n      atl_change_percentage: clean(coin.atl_change_percentage, 2),\n      circulating_supply: clean(coin.circulating_supply),\n      total_supply: clean(coin.total_supply),\n      max_supply: clean(coin.max_supply)\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "092442c9-9ba1-43d9-b274-1abb978e372f",
      "name": "Data Cleaning2",
      "type": "n8n-nodes-base.code",
      "position": [
        448,
        320
      ],
      "parameters": {
        "jsCode": "const coin = items[0].json;\n\nfunction clean(value, decimals = null) {\n  if (value === undefined || value === null) {\n    return \"Belirlenemedi\";\n  }\n  if (typeof value === \"number\" && decimals !== null) {\n    return value.toFixed(decimals);\n  }\n  return value;\n}\n\nreturn [\n  {\n    json: {\n      name: clean(coin.name),\n      symbol: clean(coin.symbol?.toUpperCase()),\n      current_price: clean(coin.current_price, 8) + \" TL\",\n      high_24h: clean(coin.high_24h),\n      low_24h: clean(coin.low_24h),\n      price_change_percentage_24h: clean(coin.price_change_percentage_24h, 2) + \"%\",\n      total_volume: clean(coin.total_volume, 2) + \" TL\",\n      ath: clean(coin.ath, 8),\n      ath_change_percentage: clean(coin.ath_change_percentage, 2),\n      atl: clean(coin.atl, 8),\n      atl_change_percentage: clean(coin.atl_change_percentage, 2),\n      circulating_supply: clean(coin.circulating_supply),\n      total_supply: clean(coin.total_supply),\n      max_supply: clean(coin.max_supply)\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "d297a9e9-8f6c-432b-b094-0f4ba9779dd6",
      "name": "Data Cleaning3",
      "type": "n8n-nodes-base.code",
      "position": [
        448,
        608
      ],
      "parameters": {
        "jsCode": "const coin = items[0].json;\n\nfunction clean(value, decimals = null) {\n  if (value === undefined || value === null) {\n    return \"Belirlenemedi\";\n  }\n  if (typeof value === \"number\" && decimals !== null) {\n    return value.toFixed(decimals);\n  }\n  return value;\n}\n\nreturn [\n  {\n    json: {\n      name: clean(coin.name),\n      symbol: clean(coin.symbol?.toUpperCase()),\n      current_price: clean(coin.current_price, 8) + \" TL\",\n      high_24h: clean(coin.high_24h),\n      low_24h: clean(coin.low_24h),\n      price_change_percentage_24h: clean(coin.price_change_percentage_24h, 2) + \"%\",\n      total_volume: clean(coin.total_volume, 2) + \" TL\",\n      ath: clean(coin.ath, 8),\n      ath_change_percentage: clean(coin.ath_change_percentage, 2),\n      atl: clean(coin.atl, 8),\n      atl_change_percentage: clean(coin.atl_change_percentage, 2),\n      circulating_supply: clean(coin.circulating_supply),\n      total_supply: clean(coin.total_supply),\n      max_supply: clean(coin.max_supply)\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "2165cf39-5299-451d-9d9c-cb9c42753d51",
      "name": "Data Cleaning4",
      "type": "n8n-nodes-base.code",
      "position": [
        448,
        880
      ],
      "parameters": {
        "jsCode": "const coin = items[0].json;\n\nfunction clean(value, decimals = null) {\n  if (value === undefined || value === null) {\n    return \"Belirlenemedi\";\n  }\n  if (typeof value === \"number\" && decimals !== null) {\n    return value.toFixed(decimals);\n  }\n  return value;\n}\n\nreturn [\n  {\n    json: {\n      name: clean(coin.name),\n      symbol: clean(coin.symbol?.toUpperCase()),\n      current_price: clean(coin.current_price, 8) + \" TL\",\n      high_24h: clean(coin.high_24h),\n      low_24h: clean(coin.low_24h),\n      price_change_percentage_24h: clean(coin.price_change_percentage_24h, 2) + \"%\",\n      total_volume: clean(coin.total_volume, 2) + \" TL\",\n      ath: clean(coin.ath, 8),\n      ath_change_percentage: clean(coin.ath_change_percentage, 2),\n      atl: clean(coin.atl, 8),\n      atl_change_percentage: clean(coin.atl_change_percentage, 2),\n      circulating_supply: clean(coin.circulating_supply),\n      total_supply: clean(coin.total_supply),\n      max_supply: clean(coin.max_supply)\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "c33186d7-096c-4f36-ae0c-9ea3111eb7ca",
      "name": "AI Analysis1",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        880,
        0
      ],
      "parameters": {
        "batching": {}
      },
      "typeVersion": 1.7
    },
    {
      "id": "6de7b424-5172-431d-9ca4-966962f5dc8b",
      "name": "AI Analysis2",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        880,
        320
      ],
      "parameters": {
        "batching": {}
      },
      "typeVersion": 1.7
    },
    {
      "id": "f851921b-fe34-48b9-8ae2-3205af8b54d9",
      "name": "AI Analysis3",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        880,
        608
      ],
      "parameters": {
        "batching": {}
      },
      "typeVersion": 1.7
    },
    {
      "id": "50d16a6b-8bc5-4a2d-b4b8-245886e70d53",
      "name": "AI Analysis4",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        880,
        880
      ],
      "parameters": {
        "batching": {}
      },
      "typeVersion": 1.7
    },
    {
      "id": "a4b3e5f7-594a-4a60-b57f-45238ab894d9",
      "name": "Google Gemini Chat Model4",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        880,
        144
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-pro"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f5910e50-df15-414a-9147-077ad1ee79e0",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        880,
        496
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-pro"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e5a06fcd-1105-465f-a02e-3ad52a094f22",
      "name": "Google Gemini Chat Model5",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        880,
        768
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7a2f7e1a-6a2f-4c83-9647-88e8422363c7",
      "name": "Google Gemini Chat Model6",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        880,
        1056
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9748b836-5685-418d-aaad-fe1257987135",
  "connections": {
    "AI Promt1": {
      "main": [
        [
          {
            "node": "AI Analysis1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Promt2": {
      "main": [
        [
          {
            "node": "AI Analysis2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Promt3": {
      "main": [
        [
          {
            "node": "AI Analysis3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Promt4": {
      "main": [
        [
          {
            "node": "AI Analysis4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Mail1": {
      "main": [
        []
      ]
    },
    "AI Analysis1": {
      "main": [
        [
          {
            "node": "Send Mail1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Analysis2": {
      "main": [
        [
          {
            "node": "Send Mail2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Analysis3": {
      "main": [
        [
          {
            "node": "Send Mail3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Analysis4": {
      "main": [
        [
          {
            "node": "Send Mail4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Cleaning1": {
      "main": [
        [
          {
            "node": "AI Promt1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Cleaning2": {
      "main": [
        [
          {
            "node": "AI Promt2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Cleaning3": {
      "main": [
        [
          {
            "node": "AI Promt3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Cleaning4": {
      "main": [
        [
          {
            "node": "AI Promt4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Extract Crypto Data1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Crypto Data2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Crypto Data3",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Crypto Data4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Crypto Data1": {
      "main": [
        [
          {
            "node": "Data Cleaning1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Crypto Data2": {
      "main": [
        [
          {
            "node": "Data Cleaning2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Crypto Data3": {
      "main": [
        [
          {
            "node": "Data Cleaning3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Crypto Data4": {
      "main": [
        [
          {
            "node": "Data Cleaning4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Analysis2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model4": {
      "ai_languageModel": [
        [
          {
            "node": "AI Analysis1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model5": {
      "ai_languageModel": [
        [
          {
            "node": "AI Analysis3",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model6": {
      "ai_languageModel": [
        [
          {
            "node": "AI Analysis4",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}