AutomationFlowsEmail & Gmail › Gold-silver Ratio Tracker with Opportunity Alerts

Gold-silver Ratio Tracker with Opportunity Alerts

Gold-Silver Ratio Tracker with Opportunity Alerts. Uses httpRequest, gmail. Event-driven trigger; 25 nodes.

Event trigger★★★★☆ complexity25 nodesHTTP RequestGmail
Email & Gmail Trigger: Event Nodes: 25 Complexity: ★★★★☆ Added:

This workflow follows the Gmail → 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
{
  "id": "BCRIBqf5LAq1L939",
  "name": "Gold-Silver Ratio Tracker with Opportunity Alerts",
  "tags": [],
  "nodes": [
    {
      "id": "72898951-aa0b-4c13-b6d5-42fee3e27411",
      "name": "Fetch Silver Price (XAG)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1632,
        800
      ],
      "parameters": {
        "url": "=https://www.goldapi.io/api/XAG/{{$('Set Global Config').item.json.currency}}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-access-token",
              "value": "={{$('Set Global Config').item.json.goldApiKey}}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "343ddea2-0388-424a-b055-4ce9974042a0",
      "name": "Merge Gold & Silver Responses",
      "type": "n8n-nodes-base.merge",
      "position": [
        2304,
        496
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "07bb3346-094d-48de-9e93-2617df5d8071",
      "name": "Calculate Gold-Silver Ratio",
      "type": "n8n-nodes-base.code",
      "position": [
        2496,
        496
      ],
      "parameters": {
        "language": "pythonNative",
        "pythonCode": "# Extract prices from the input items\ngold = _items[0][\"json\"].get(\"goldPrice\")\nsilver = _items[1][\"json\"].get(\"silverPrice\")\n\n# Calculate the ratio\nif gold and silver:\n    ratio = round(gold / silver, 2)\nelse:\n    ratio = 0\n\n# Return the data in n8n's required format\nreturn [\n    {\n        \"json\": {\n            \"goldPrice\": gold,\n            \"silverPrice\": silver,\n            \"ratio\": ratio\n        }\n    }\n]"
      },
      "typeVersion": 2
    },
    {
      "id": "d63736d8-dfe3-40d1-a284-65a6b96b3c07",
      "name": "Ratio > BuySilver Threshold?",
      "type": "n8n-nodes-base.if",
      "position": [
        2976,
        496
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond-buy-silver",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{$json.ratio}}",
              "rightValue": "={{$('Set Global Config').item.json.buySilverThreshold}}"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.3
    },
    {
      "id": "084e180c-fb05-41ea-b87e-14aa8604d64d",
      "name": "Ratio < BuyGold Threshold?",
      "type": "n8n-nodes-base.if",
      "position": [
        3440,
        880
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cond-buy-gold",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": "={{$json.ratio}}",
              "rightValue": "={{$('Set Global Config').item.json.buyGoldThreshold}}"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.3
    },
    {
      "id": "88d13353-d370-4a83-b638-ef9ef772a400",
      "name": "Signal \u2014 HOLD",
      "type": "n8n-nodes-base.set",
      "position": [
        4016,
        944
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"signalType\": \"hold\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "f235b1ef-ba92-458f-88f9-d308b59e5d9d",
      "name": "Signal \u2014 BUY SILVER",
      "type": "n8n-nodes-base.set",
      "position": [
        4016,
        480
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"signalType\": \"silver\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "48d154ce-68aa-44a1-bf21-bdb596713dfa",
      "name": "Signal \u2014 BUY GOLD",
      "type": "n8n-nodes-base.set",
      "position": [
        4016,
        688
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"signalType\": \"gold\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "2b2eaa6b-774e-4914-bc64-68e3b4573402",
      "name": "Merge All Signal Branches",
      "type": "n8n-nodes-base.merge",
      "position": [
        4576,
        624
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "82e2931f-7541-437f-bd7f-7e9402e2a290",
      "name": "Format Final Alert Output",
      "type": "n8n-nodes-base.code",
      "position": [
        4832,
        640
      ],
      "parameters": {
        "jsCode": "const SIGNAL_CONFIG = {\n  silver: {\n    signal: \" OPPORTUNITY: ACCUMULATE SILVER\",\n    insight: \"Silver is historically undervalued relative to Gold based on current ratio levels.\",\n    interpretation:\n      \"The Gold-Silver ratio has exceeded the upper historical threshold, indicating that silver is trading at a significant discount relative to gold on a relative-value basis. Historically, elevated ratios have preceded silver outperformance. This signal suggests a potential accumulation opportunity in silver for investors with a medium-to-long-term horizon.\"\n  },\n  gold: {\n    signal: \" OPPORTUNITY: ACCUMULATE GOLD\",\n    insight: \"Gold is historically undervalued relative to Silver based on current ratio levels.\",\n    interpretation:\n      \"The Gold-Silver ratio has fallen below the lower historical threshold, indicating that gold is trading at a relative discount to silver. A compressed ratio has historically been associated with gold outperformance in subsequent periods. This signal suggests a potential accumulation opportunity in gold for risk-conscious investors.\"\n  },\n  hold: {\n    signal: \" NEUTRAL: HOLD \u2014 NO ACTION REQUIRED\",\n    insight: \"The Gold-Silver ratio is within the normal historical range. No relative-value opportunity is identified.\",\n    interpretation:\n      \"The Gold-Silver ratio is currently trading within its established historical band, suggesting no material mispricing between the two metals at this time. Investors are advised to maintain existing positions and continue monitoring for ratio breakouts above or below the configured thresholds.\"\n  }\n};\n\nconst newItems = [];\n\nfor (const item of $input.all()) {\n  const type = item.json.signalType;\n  const key = [\"silver\", \"gold\"].includes(type) ? type : \"hold\";\n  const config = SIGNAL_CONFIG[key];\n\n  newItems.push({\n    json: {\n      signal: config.signal,\n      insight: config.insight,\n      interpretation: config.interpretation,\n      generatedAt: new Date().toISOString()\n    }\n  });\n}\n\nreturn newItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "a6fe0a61-5f4f-4590-8a47-793674b8212b",
      "name": "Send Alert Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        5072,
        640
      ],
      "parameters": {
        "sendTo": "={{$('Set Global Config').item.json.alertEmail}}",
        "message": "=Dear Investor,\n\nPlease find below the latest automated analysis from the Gold-Silver Ratio Monitoring System.\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n  MARKET DATA SUMMARY\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n  Gold Price (INR)     :  {{ $('Ratio > BuySilver Threshold?').item.json.goldPrice }}\n  Silver Price (INR)   :  {{ $('Ratio > BuySilver Threshold?').item.json.silverPrice }}\n  Gold-Silver Ratio    :   {{ $('Ratio > BuySilver Threshold?').item.json.ratio }}\n  \n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n  SIGNAL & ANALYSIS\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n  Signal               :  {{$json.signal}}\n  Insight              :  {{$json.insight}}\n\n  Interpretation:\n  {{$json.interpretation}}\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n  THRESHOLD REFERENCE\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n  Buy Silver Threshold :  Ratio > 80  \u2192  Silver undervalued\n  Buy Gold Threshold   :  Ratio < 60  \u2192  Gold undervalued\n  Neutral Zone         :  60 \u2264 Ratio \u2264 80  \u2192  No action\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n  DISCLAIMER\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n  This report is generated automatically by the Gold-Silver Ratio\n  Monitoring System and is intended solely for informational purposes.\n  \n  The signals and analysis presented herein are based on pre-configured\n  quantitative thresholds and do NOT constitute financial advice,\n  investment recommendations, or an offer to buy or sell any security\n  or commodity.\n\n  Past ratio patterns are not indicative of future performance.\n  Always conduct your own due diligence and consult a SEBI-registered\n  financial advisor before making any investment decision.\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nThis is a system-generated communication. Please do not reply to this email.\n\nRegards,\nGold-Silver Ratio Monitoring System\nAutomated Market Intelligence | Powered by GoldAPI.io",
        "options": {},
        "subject": "= Gold-Silver Ratio Alert | {{$json.signal}} | Ratio:{{ $('Calculate Gold-Silver Ratio').item.json.ratio }}",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "48055dad-530f-494b-a050-6710a81c2be6",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 896,
        "height": 1008,
        "content": "# Gold-Silver Ratio Tracker with Opportunity Alerts\n### This workflow monitors gold and silver prices in real-time, calculates the Gold-Silver ratio, and generates automated investment signals. It fetches live prices from GoldAPI, computes the ratio, and evaluates it against predefined thresholds to determine whether gold or silver is undervalued. Based on this analysis, it generates a structured signal (Buy Gold, Buy Silver, or Hold) along with detailed insights and interpretation. Finally, it sends a formatted email alert with market data, signal explanation, and reference thresholds to the configured recipient.\n\n# Setup Steps\n\n## Configure Master Node\nSet up the Configuration node with your GoldAPI key, alert email, currency, and threshold values for buy signals.\n\n## Connect API Access\nEnsure your GoldAPI key is valid and added correctly in the Configuration node for both gold (XAU) and silver (XAG) requests.\n\n## Add Trigger\nUse the Manual Trigger for testing or replace it with a Cron node for automated periodic execution.\n\n## Fetch Market Data\nUse HTTP Request nodes to fetch real-time gold and silver prices from GoldAPI.\n\n## Format Price Data\nMap the API response to extract goldPrice and silverPrice fields for further processing.\n\n## Merge & Calculate Ratio\nMerge both price streams and calculate the Gold-Silver ratio using a Code node.\n\n## Apply Signal Logic\nUse IF nodes to compare the ratio against thresholds:\n- Ratio > threshold \u2192 Buy Silver  \n- Ratio < threshold \u2192 Buy Gold  \n- Otherwise \u2192 Hold  \n\n## Generate Signal Output\nAssign signal type and enrich it with insight and interpretation using a Code node.\n\n## Send Email Alert\nUse the Gmail node to send a detailed alert including prices, ratio, signal, and analysis.\n\n## Monitor & Adjust\nTrack signals over time and adjust thresholds in the Configuration node as needed."
      },
      "typeVersion": 1
    },
    {
      "id": "73991b7f-7964-4256-af8c-e365d7749d24",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        944,
        352
      ],
      "parameters": {
        "color": 7,
        "width": 448,
        "height": 336,
        "content": "## Trigger & Configuration\n\nInitializes the workflow and sets required variables like API key, thresholds, currency, and email.\nEnsures all downstream nodes use consistent configuration values."
      },
      "typeVersion": 1
    },
    {
      "id": "34aa433b-6fa3-4b82-98b1-5e565641c158",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        32
      ],
      "parameters": {
        "color": 7,
        "width": 432,
        "height": 368,
        "content": "##  Gold Price Fetching\n\nFetches real-time gold price (XAU) from the API.\nExtracts and formats the price into a usable field (goldPrice)."
      },
      "typeVersion": 1
    },
    {
      "id": "a67c8f4d-c5a4-421e-bf39-00dd1a3aca91",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        640
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 416,
        "content": "## Silver Price Fetching\n\nFetches real-time silver price (XAG) from the API.\nExtracts and formats the price into a usable field (silverPrice)."
      },
      "typeVersion": 1
    },
    {
      "id": "ad45466b-dcdb-4ed0-83be-517d97b93940",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2144,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 640,
        "height": 432,
        "content": "## Data Merge & Ratio Calculation\n\nCombines gold and silver data into a single dataset.\nCalculates the Gold-Silver ratio for analysis."
      },
      "typeVersion": 1
    },
    {
      "id": "9e61872e-3670-4a9d-8be6-4ea83623bfec",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2896,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 288,
        "height": 432,
        "content": "## Buy Silver Condition\n\nChecks if the ratio is above the upper threshold.\nIdentifies when silver is undervalued compared to gold."
      },
      "typeVersion": 1
    },
    {
      "id": "36911973-d052-4859-a463-278e68e56ed2",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3344,
        704
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 368,
        "content": "## Buy Gold Condition\n\nChecks if the ratio is below the lower threshold.\nIdentifies when gold is undervalued compared to silver."
      },
      "typeVersion": 1
    },
    {
      "id": "f631ce4e-552d-49db-ad07-11d1ef42b00b",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3904,
        256
      ],
      "parameters": {
        "color": 7,
        "width": 368,
        "height": 912,
        "content": "## Signal Assignment\n\nAssigns Buy Silver, Buy Gold, or Hold based on conditions.\nAdds structured insight and interpretation for the signal."
      },
      "typeVersion": 1
    },
    {
      "id": "ea4258b2-9e89-4b97-bf31-3063928b079d",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4496,
        464
      ],
      "parameters": {
        "color": 7,
        "width": 800,
        "height": 480,
        "content": "## Final Processing & Alert\n\nMerges all signals and formats the final output report.\nSends a detailed email alert with prices, ratio, and analysis."
      },
      "typeVersion": 1
    },
    {
      "id": "aaee4e44-e081-46a3-8235-bcad569369d2",
      "name": "Fetch Gold Price",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1648,
        208
      ],
      "parameters": {
        "url": "=https://www.goldapi.io/api/XAU/{{$json.currency}}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-access-token",
              "value": "={{$json.goldApiKey}}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "54bb743e-be4b-4683-b108-5cce114d8a0d",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        1008,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3d4d6f14-9001-4335-a944-9f41701145cb",
      "name": "Set Global Config",
      "type": "n8n-nodes-base.set",
      "position": [
        1232,
        512
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"goldApiKey\": \"\",\n  \"alertEmail\": \"user@example.com\",\n  \"buySilverThreshold\": 80,\n  \"buyGoldThreshold\": 60,\n  \"currency\": \"INR\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "fffb93c6-8d22-4118-80f1-802dd0fddc4c",
      "name": "Format Gold Price",
      "type": "n8n-nodes-base.set",
      "position": [
        1856,
        208
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "403c7d22-b117-4f13-aa7c-ab4add61ff8c",
              "name": "goldPrice",
              "type": "number",
              "value": "={{ $json.price }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3aaacbb0-09f2-46d9-887d-445c9981c345",
      "name": "Format Silver Price",
      "type": "n8n-nodes-base.set",
      "position": [
        1872,
        800
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1002307a-ac6d-41c8-b4b9-a7beb61f5237",
              "name": "silverPrice",
              "type": "number",
              "value": "={{ $json.price }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "executionOrder": "v1"
  },
  "versionId": "a5e3eef2-af5b-4539-bd99-141eab9c0d0e",
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Set Global Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Signal \u2014 HOLD": {
      "main": [
        [
          {
            "node": "Merge All Signal Branches",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Fetch Gold Price": {
      "main": [
        [
          {
            "node": "Format Gold Price",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Gold Price": {
      "main": [
        [
          {
            "node": "Merge Gold & Silver Responses",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Global Config": {
      "main": [
        [
          {
            "node": "Fetch Gold Price",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Silver Price (XAG)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Silver Price": {
      "main": [
        [
          {
            "node": "Merge Gold & Silver Responses",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Signal \u2014 BUY GOLD": {
      "main": [
        [
          {
            "node": "Merge All Signal Branches",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Signal \u2014 BUY SILVER": {
      "main": [
        [
          {
            "node": "Merge All Signal Branches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Silver Price (XAG)": {
      "main": [
        [
          {
            "node": "Format Silver Price",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Final Alert Output": {
      "main": [
        [
          {
            "node": "Send Alert Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge All Signal Branches": {
      "main": [
        [
          {
            "node": "Format Final Alert Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ratio < BuyGold Threshold?": {
      "main": [
        [
          {
            "node": "Signal \u2014 BUY GOLD",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Signal \u2014 HOLD",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Gold-Silver Ratio": {
      "main": [
        [
          {
            "node": "Ratio > BuySilver Threshold?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ratio > BuySilver Threshold?": {
      "main": [
        [
          {
            "node": "Signal \u2014 BUY SILVER",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Ratio < BuyGold Threshold?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Gold & Silver Responses": {
      "main": [
        [
          {
            "node": "Calculate Gold-Silver Ratio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

Gold-Silver Ratio Tracker with Opportunity Alerts. Uses httpRequest, gmail. Event-driven trigger; 25 nodes.

Source: https://github.com/weblineindia/n8n-Send-gold-silver-ratio-opportunity-alerts-with-GoldAPI-and-Gmail/blob/main/workflow-template.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

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

Email & Gmail

Gmail Workflow. Uses gmail, googleCalendar, executeWorkflowTrigger, whatsApp. Event-driven trigger; 61 nodes.

Gmail, Google Calendar, Execute Workflow Trigger +2
Email & Gmail

This workflow ingests proof-of-delivery and completion documents from Gmail or a webhook, extracts key fields with an OpenRouter vision model, reconciles them against Google Sheets dispatch data, arch

Gmail Trigger, HTTP Request, Google Sheets +2
Email & Gmail

Splitout Code. Uses manualTrigger, httpRequest, stickyNote, splitOut. Event-driven trigger; 46 nodes.

HTTP Request, Execute Workflow Trigger, Gmail +1
Email & Gmail

Automate CSV imports into HubSpot without the mess. Powered by n8n. Supercharged by Pollup AI.

HTTP Request, Execute Workflow Trigger, Gmail +1
Email & Gmail

Echo Brand Voice Analysis (Processor) - TASK-074 Dec 10 Fix. Uses formTrigger, httpRequest, executeWorkflowTrigger, moveBinaryData. Event-driven trigger; 40 nodes.

Form Trigger, HTTP Request, Execute Workflow Trigger +2