N
n8n Store
Workflow Market
📈 Hourly Monitoring of Crypto Rates with Alpha Vantage API and Google Sheets

📈 Hourly Monitoring of Crypto Rates with Alpha Vantage API and Google Sheets

by samirsaci0 views

描述

分类

💰 Finance🤖 AI & Machine Learning

使用的节点

n8n-nodes-base.telegramn8n-nodes-base.telegramn8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.httpRequestn8n-nodes-base.httpRequestn8n-nodes-base.googleSheetsn8n-nodes-base.googleSheetsn8n-nodes-base.scheduleTrigger
价格免费
浏览量0
最后更新11/28/2025
workflow.json
{
  "id": "LRLFh0lVw2OIPJdW",
  "meta": {
    "instanceId": "",
    "templateCredsSetupCompleted": true
  },
  "name": "📈 Hourly Monitoring of Crypto Rates with Alpha Vantage API and Google Sheets",
  "tags": [],
  "nodes": [
    {
      "id": "95d9375b-c423-4346-8dd4-3cba09a62caa",
      "name": "BTC Exchange Rate",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -520,
        -60
      ],
      "parameters": {
        "url": "https://www.alphavantage.co/query",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpQueryAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "function",
              "value": "CURRENCY_EXCHANGE_RATE"
            },
            {
              "name": "from_currency",
              "value": "BTC"
            },
            {
              "name": "to_currency",
              "value": "EUR"
            }
          ]
        }
      },
      "credentials": {
        "httpQueryAuth": {
          "id": "",
          "name": ""
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "5d2a06c6-d2d8-4f55-b9ea-615d5c88612a",
      "name": "Call Every Hour",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -860,
        40
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ede798c5-aec6-4040-9ed8-b9f2cf6ea66f",
      "name": "Save Rate BTC",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -320,
        -60
      ],
      "parameters": {
        "columns": {
          "value": {
            "Ask_Price": "={{ $json['Realtime Currency Exchange Rate']['9. Ask Price'] }}",
            "Bid_Price": "={{ $json['Realtime Currency Exchange Rate']['8. Bid Price'] }}",
            "Time_Zone": "={{ $json['Realtime Currency Exchange Rate']['7. Time Zone'] }}",
            "Exchange_Rate": "={{ $json['Realtime Currency Exchange Rate']['5. Exchange Rate'] }}",
            "Last_Refreshed": "={{ $json['Realtime Currency Exchange Rate']['6. Last Refreshed'] }}",
            "To_Currency_Code": "={{ $json['Realtime Currency Exchange Rate']['3. To_Currency Code'] }}",
            "To_Currency_Name": "={{ $json['Realtime Currency Exchange Rate']['4. To_Currency Name'] }}",
            "From_Currency_Code": "={{ $json['Realtime Currency Exchange Rate']['1. From_Currency Code'] }}",
            "From_Currency_Name": "={{ $json['Realtime Currency Exchange Rate']['2. From_Currency Name'] }}"
          },
          "schema": [
            {
              "id": "Last_Refreshed",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last_Refreshed",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time_Zone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Time_Zone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "From_Currency_Code",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "From_Currency_Code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "From_Currency_Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "From_Currency_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "To_Currency_Code",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "To_Currency_Code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "To_Currency_Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "To_Currency_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Exchange_Rate",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Exchange_Rate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last_Refreshed",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last_Refreshed",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time_Zone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Time_Zone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Bid_Price",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Bid_Price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ask_Price",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Ask_Price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "BTC"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1vtjhgdulJn8niwZE0RQeQL8L1kb00L4z2TOuQK_9mV0",
          "cachedResultUrl": "",
          "cachedResultName": "AlphaVantage"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "",
          "name": ""
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "2fb8320b-aeb4-4e23-91c5-ff2ceebc8970",
      "name": "Save Rate ETH",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -320,
        120
      ],
      "parameters": {
        "columns": {
          "value": {
            "Ask_Price": "={{ $json['Realtime Currency Exchange Rate']['9. Ask Price'] }}",
            "Bid_Price": "={{ $json['Realtime Currency Exchange Rate']['8. Bid Price'] }}",
            "Time_Zone": "={{ $json['Realtime Currency Exchange Rate']['7. Time Zone'] }}",
            "Exchange_Rate": "={{ $json['Realtime Currency Exchange Rate']['5. Exchange Rate'] }}",
            "Last_Refreshed": "={{ $json['Realtime Currency Exchange Rate']['6. Last Refreshed'] }}",
            "To_Currency_Code": "={{ $json['Realtime Currency Exchange Rate']['3. To_Currency Code'] }}",
            "To_Currency_Name": "={{ $json['Realtime Currency Exchange Rate']['4. To_Currency Name'] }}",
            "From_Currency_Code": "={{ $json['Realtime Currency Exchange Rate']['1. From_Currency Code'] }}",
            "From_Currency_Name": "={{ $json['Realtime Currency Exchange Rate']['2. From_Currency Name'] }}"
          },
          "schema": [
            {
              "id": "Last_Refreshed",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last_Refreshed",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time_Zone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Time_Zone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "From_Currency_Code",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "From_Currency_Code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "From_Currency_Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "From_Currency_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "To_Currency_Code",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "To_Currency_Code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "To_Currency_Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "To_Currency_Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Exchange_Rate",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Exchange_Rate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last_Refreshed",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last_Refreshed",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time_Zone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Time_Zone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Bid_Price",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Bid_Price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ask_Price",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Ask_Price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1591416661,
          "cachedResultUrl": "",
          "cachedResultName": "ETH"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1vtjhgdulJn8niwZE0RQeQL8L1kb00L4z2TOuQK_9mV0",
          "cachedResultUrl": "",
          "cachedResultName": "AlphaVantage"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "",
          "name": ""
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "b0630581-e5cc-4e64-bbb3-2c362b766a8a",
      "name": "ETH Exchange Rate",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -520,
        120
      ],
      "parameters": {
        "url": "https://www.alphavantage.co/query",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpQueryAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "function",
              "value": "CURRENCY_EXCHANGE_RATE"
            },
            {
              "name": "from_currency",
              "value": "ETH"
            },
            {
              "name": "to_currency",
              "value": "EUR"
            }
          ]
        }
      },
      "credentials": {
        "httpQueryAuth": {
          "id": "",
          "name": ""
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "329e3c49-9b8f-49ca-83da-5e7ec00f17f0",
      "name": "Notification BTC",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -80,
        -60
      ],
      "webhookId": "5f997b2e-aff9-427e-a92d-a0133903a3a4",
      "parameters": {
        "text": "=<b>🔄 BTC to EUR Rate Update</b>\n\n<b>From:</b> {{ $json[\"From_Currency_Name\"] }} ({{ $json[\"From_Currency_Code\"] }})\n<b>To:</b> {{ $json[\"To_Currency_Name\"] }} ({{ $json[\"To_Currency_Code\"] }})\n\n<b>💱 Exchange Rate:</b> {{ $json[\"Exchange_Rate\"] }}\n<b>📉 Bid:</b> {{ $json[\"Bid_Price\"] }}\n<b>📈 Ask:</b> {{ $json[\"Ask_Price\"] }}\n\n<b>🕒 Last Updated:</b> {{ $json[\"Last_Refreshed\"] }} ({{ $json[\"Time_Zone\"] }})",
        "chatId": "1698247520",
        "additionalFields": {
          "parse_mode": "HTML",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "BlqWlzuNU8B4t9Pw",
          "name": "Assistant Bot"
        }
      },
      "notesInFlow": true,
      "typeVersion": 1.2
    },
    {
      "id": "e9920828-9a99-4899-9313-037fc78933dc",
      "name": "Notification ETH",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -80,
        120
      ],
      "webhookId": "5f997b2e-aff9-427e-a92d-a0133903a3a4",
      "parameters": {
        "text": "=<b>🔄 ETH to EUR Rate Update</b>\n\n<b>From:</b> {{ $json[\"From_Currency_Name\"] }} ({{ $json[\"From_Currency_Code\"] }})\n<b>To:</b> {{ $json[\"To_Currency_Name\"] }} ({{ $json[\"To_Currency_Code\"] }})\n\n<b>💱 Exchange Rate:</b> {{ $json[\"Exchange_Rate\"] }}\n<b>📉 Bid:</b> {{ $json[\"Bid_Price\"] }}\n<b>📈 Ask:</b> {{ $json[\"Ask_Price\"] }}\n\n<b>🕒 Last Updated:</b> {{ $json[\"Last_Refreshed\"] }} ({{ $json[\"Time_Zone\"] }})",
        "chatId": "1698247520",
        "additionalFields": {
          "parse_mode": "HTML",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "",
          "name": ""
        }
      },
      "notesInFlow": true,
      "typeVersion": 1.2
    },
    {
      "id": "3d674add-ca49-4e6f-b3e4-7aaa82f67953",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        -500
      ],
      "parameters": {
        "color": 7,
        "width": 220,
        "height": 760,
        "content": "### 1. Workflow Trigger every hour\n\nTrigger the collection of ETH and BTC price every hour.\n\n#### How to setup?\n*Nothing to do.*"
      },
      "typeVersion": 1
    },
    {
      "id": "4095c6c9-9cbd-446c-884c-ed713760ddff",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -500
      ],
      "parameters": {
        "color": 7,
        "width": 920,
        "height": 760,
        "content": "### 2. Collect BTC and ETH price from Alpha Vantage Insight API\nThis starts by calling the CURRENCY_EXCHANGE_RATE function of the **Alpha Vantage Insight API** to get the exchange rate to euros.\n#### How to setup?\n- **Set up API credentials**\n  1. Get your free API key from [Alpha Vantage](https://www.alphavantage.co/support/#api-key)\n  2. Fill in the API key in the HTTP Request node using query parameters authentication\n- **Load records in the Google Sheet Node**:\n   1. Add your Google Sheet API credentials to access the Google Sheet file\n   2. Select the file using the list, an URL or an ID\n   3. Select the sheet in which you want to record your working sessions\n   4. Map the fields:  `From_Currency_Code`, `From_Currency_Name`, `To_Currency_Code`, `To_Currency_Name`, `Exchange_Rate`, `Bid_Price`, `Ask_Price`, `Last_Refreshed`, `Time_Zone`\t\t\t\t\t\t\t\t\t\t\t\t\n  [Learn more about the Google Sheet Node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets)\n- **Send Telegram notification**\n  1. Add your Telegram credentials\n  2. Fill in the Chat ID and message content\n  3. Use dynamic variables for formatting the exchange rate alert\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "cd5a0fe2-298c-40a5-b184-be90d8c220d1",
  "connections": {
    "Save Rate BTC": {
      "main": [
        [
          {
            "node": "Notification BTC",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Rate ETH": {
      "main": [
        [
          {
            "node": "Notification ETH",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Call Every Hour": {
      "main": [
        [
          {
            "node": "BTC Exchange Rate",
            "type": "main",
            "index": 0
          },
          {
            "node": "ETH Exchange Rate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "BTC Exchange Rate": {
      "main": [
        [
          {
            "node": "Save Rate BTC",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ETH Exchange Rate": {
      "main": [
        [
          {
            "node": "Save Rate ETH",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

相关工作流