{
  "name": "Track Singapore COE prices with AI forecasting & smart buy recommendations via Telegram",
  "nodes": [
    {
      "id": "432d1c6a-17ae-44a4-adce-06152589e2f1",
      "name": "Schedule Trigger - Bi-Weekly COE Scraping",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        112,
        464
      ]
    },
    {
      "id": "c6e3d1b9-c26d-4007-a2b2-6303b0f637c7",
      "name": "Scrape COE Data from OneMotoring",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        400,
        432
      ]
    },
    {
      "id": "13595ddf-b04a-405a-a432-bcdc24b4d442",
      "name": "Extract COE Price Data",
      "type": "n8n-nodes-base.code",
      "position": [
        608,
        576
      ]
    },
    {
      "id": "7230f728-2dd1-435c-a96a-e3e843eac3e4",
      "name": "Store in Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1136,
        576
      ]
    },
    {
      "id": "9747556f-348f-42cd-b254-80b1cf954789",
      "name": "Retrieve Historical COE Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1376,
        784
      ]
    },
    {
      "id": "8b3ef486-ec56-4eab-be32-69adfa2509ce",
      "name": "Calculate Technical Indicators",
      "type": "n8n-nodes-base.code",
      "position": [
        1584,
        768
      ]
    },
    {
      "id": "62064423-11e3-4c12-890d-39febc727275",
      "name": "Prepare AI Prediction Prompt",
      "type": "n8n-nodes-base.set",
      "position": [
        1888,
        576
      ]
    },
    {
      "id": "4fc3d93a-3ccc-40bd-bf7f-bc3f235d2f2c",
      "name": "AI Agent - COE Analysis",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2640,
        544
      ]
    },
    {
      "id": "55d5e431-97e4-4094-8339-8490b48b8f0d",
      "name": "Generate Buy Recommendations",
      "type": "n8n-nodes-base.code",
      "position": [
        3200,
        752
      ]
    },
    {
      "id": "fe4d8755-6dab-4329-b760-9d22b9236d75",
      "name": "Format HTML Report",
      "type": "n8n-nodes-base.code",
      "position": [
        3728,
        224
      ]
    },
    {
      "id": "1576e59a-54ba-452c-938c-547410701201",
      "name": "Send Email Report",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        3952,
        384
      ]
    },
    {
      "id": "9e03ad9e-4bbb-4fbc-9ba5-4af04a292f67",
      "name": "Check for Buy Opportunities",
      "type": "n8n-nodes-base.if",
      "position": [
        3392,
        368
      ]
    },
    {
      "id": "3229f007-f192-4562-8827-d4ddf27fa55d",
      "name": "Send Telegram Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3728,
        368
      ]
    },
    {
      "id": "1483eee4-c8b9-459e-bc32-06daa16fed6e",
      "name": "Generate Dashboard Summary",
      "type": "n8n-nodes-base.set",
      "position": [
        3392,
        1328
      ]
    },
    {
      "id": "e8bc3153-c4ff-4a6a-a99d-48bd76e89479",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        2656,
        752
      ]
    },
    {
      "id": "06db176e-bf96-42d6-a1b0-7a896a4f3b32",
      "name": "Airtable - Store COE Data",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1120,
        720
      ]
    },
    {
      "id": "852583f1-d3e8-4178-8bd2-041dff8976cd",
      "name": "Data Validation Check",
      "type": "n8n-nodes-base.if",
      "position": [
        848,
        672
      ]
    },
    {
      "id": "6e63dc80-1123-4e59-bbdb-ada1db7fd8f8",
      "name": "Error Handler - Retry Scraping",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1120,
        912
      ]
    },
    {
      "id": "b9dad53a-81b4-4bf1-83f5-53561e2e8f04",
      "name": "Scrape with Retry Logic",
      "type": "n8n-nodes-base.code",
      "position": [
        400,
        624
      ]
    },
    {
      "id": "213dea78-48e3-4b49-9d97-2db358bd2a90",
      "name": "Extract Economic Indicators",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1728,
        912
      ]
    },
    {
      "id": "b78e4004-1b1f-4916-9b2f-16583905b966",
      "name": "Process Economic Data",
      "type": "n8n-nodes-base.code",
      "position": [
        1920,
        912
      ]
    },
    {
      "id": "452a530e-af62-4a66-bedc-9416449bf4e2",
      "name": "Enhanced AI Prompt with Economics",
      "type": "n8n-nodes-base.set",
      "position": [
        2400,
        848
      ]
    },
    {
      "id": "68c8abd0-8c25-4591-94c9-4222364d640f",
      "name": "Multi-Scenario Analysis",
      "type": "n8n-nodes-base.code",
      "position": [
        2976,
        816
      ]
    },
    {
      "id": "2ca62cf3-3060-4086-be65-4eb6202576f3",
      "name": "ROI Calculator",
      "type": "n8n-nodes-base.code",
      "position": [
        3392,
        656
      ]
    },
    {
      "id": "053b7e99-50c7-45ce-846c-e4d1f5d6ec2a",
      "name": "Check Significant Price Movement",
      "type": "n8n-nodes-base.if",
      "position": [
        3392,
        944
      ]
    },
    {
      "id": "069afeb1-8f92-4475-ac73-8be8a376be8d",
      "name": "Urgent Market Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3728,
        944
      ]
    },
    {
      "id": "e2540cb4-60ad-4689-8e3e-f791fb8fbd0c",
      "name": "Daily Prediction Update Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1120,
        1104
      ]
    },
    {
      "id": "dc79a47d-0b19-4a1c-94e0-30c983fccbf0",
      "name": "Check Market Volatility",
      "type": "n8n-nodes-base.if",
      "position": [
        3392,
        1136
      ]
    },
    {
      "id": "df67db2f-8535-4d28-a838-2ebe6d4c4b25",
      "name": "Enhanced Dashboard Report",
      "type": "n8n-nodes-base.code",
      "position": [
        3728,
        576
      ]
    },
    {
      "id": "48ef07ff-cf0a-4f8c-b86e-4b3ad76f48b8",
      "name": "Merge Economic Data",
      "type": "n8n-nodes-base.merge",
      "position": [
        2176,
        848
      ]
    },
    {
      "id": "87a9c973-2735-436f-b42c-aa7d9ac6ef28",
      "name": "Alternative Category Suggester",
      "type": "n8n-nodes-base.code",
      "position": [
        3728,
        768
      ]
    },
    {
      "id": "9c13a0c9-5903-4649-9ddb-60a31d11e9f0",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        0
      ],
      "parameters": {
        "width": 1408,
        "height": 352,
        "content": "## Introduction\nAutomates Singapore COE price tracking with AI forecasts and buy/wait recommendations. Weekly scraping collects LTA data, enriches with economic indicators, predicts 6-month trends, an"
      }
    },
    {
      "id": "3d015ecf-03a3-4892-83ac-3f053d099a60",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1712,
        0
      ],
      "parameters": {
        "width": 672,
        "height": 240,
        "content": "## Prerequisites\nOpenAI/NVIDIA API key, Google Sheets access, Telegram bot token or Gmail, basic COE category understanding\n\n## Use Cases\nFirst-time buyers timing purchases, fleet operators coordinati"
      }
    },
    {
      "id": "e9250a46-284e-4031-beb5-3fe4db34171c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2416,
        0
      ],
      "parameters": {
        "width": 528,
        "height": 208,
        "content": "## Customization\nAdd SMS alerts via Twilio, integrate loan calculators for total cost analysis\n\n## Benefits\nSaves 5+ hours monthly, captures 10–18% price dips, provides predictive insights (potential "
      }
    },
    {
      "id": "f15a58ad-3b4c-479b-ab7d-5fde49487373",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        368
      ],
      "parameters": {
        "width": 224,
        "height": 496,
        "content": "## Weekly COE Check Trigger\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLaunches workflow every Thursday 9AM SGT, right after LTA bidding closes\nWhy: Captures price data at the moment it matters most—fresh results mean your foreca"
      }
    },
    {
      "id": "9d882ef7-7853-4912-96bb-bd09d2cbc505",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        368
      ],
      "parameters": {
        "width": 448,
        "height": 592,
        "content": "## Scrape LTA COE Data\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nFetches official COE results with retry logic to handle connection issues\nWhy: LTA is the authoritative source; automated scraping eliminates manual "
      }
    },
    {
      "id": "e61894a5-ab0c-4556-91eb-0e41990e75e6",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        368
      ],
      "parameters": {
        "width": null,
        "height": 480,
        "content": "## Validate Data Completeness\nChecks that all COE categories arrived and flags any anomalies or missing records\nWhy: Bad data breaks forecasts—catching incomplete records here prevents misleading buy/"
      }
    },
    {
      "id": "45d278ef-4c62-4bbd-baf5-6e479d1f0afa",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        368
      ],
      "parameters": {
        "width": 288,
        "height": 896,
        "content": "## Store Data\nAppends timestamped COE records to your spreadsheet with category breakdown\nWhy: Creates permanent audit trail; you can always trace back why a recommendation was made, and historical da"
      }
    },
    {
      "id": "a2381f74-7fa3-4eb8-8537-6a906b577f30",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1328,
        384
      ],
      "parameters": {
        "width": 214,
        "height": 720,
        "content": "## Fetch Historical Baseline\nRetrieves previous 12+ months of COE data to establish trends\nWhy: AI needs context—knowing if prices are historically high or low makes 6-month forecasts meaningful, not "
      }
    },
    {
      "id": "58ce40c0-5080-4b0f-8080-333fe72d8fa2",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        384
      ],
      "parameters": {
        "width": 1312,
        "height": 720,
        "content": "## Market Indicators & AI Forecasting- Processing\n\nBuilds key indicators (averages, volatility, seasonality, trends) and uses them to predict COE prices 6 months out.\n**Why:** Converts raw data into f"
      }
    },
    {
      "id": "877a0f53-544d-4193-aabc-0cab7547e3ae",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2096,
        688
      ],
      "parameters": {
        "width": 480,
        "height": 352,
        "content": "\n## Merge Economic Indicators\nEnriches COE data with interest rates, vehicle import taxes, fuel costs, and market sentiment\nWhy: COE doesn't exist in a vacuum—economic context explains why prices move"
      }
    },
    {
      "id": "9e1a93a8-4fd9-443a-bb9f-35c5cb7461e4",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2896,
        384
      ],
      "parameters": {
        "width": 272,
        "height": 672,
        "content": "## Multi-Scenario Analysis\n\nGenerates three outcomes: best case (wait scenario), base case (realistic), worst case (buy now)\nWhy: Removes false certainty—you see the range of possibilities and can dec"
      }
    },
    {
      "id": "852fb988-0a1b-49b2-a690-30052e911113",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3200,
        16
      ],
      "parameters": {
        "width": 416,
        "height": 1488,
        "content": "## Threshold Comparison & COE Dashboard\n\nChecks forecasts against your custom buy/wait rules, then compiles prices, predictions, recommendations, and confidence levels into a single dashboard.\n**Why:*"
      }
    },
    {
      "id": "20ea90b4-1802-4093-bb10-bc9910441ea0",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3632,
        16
      ],
      "parameters": {
        "width": 464,
        "height": 1088,
        "content": "## Send Telegram/Email Alerts\nDelivers your recommendation, key price changes, and next review date via your preferred channel\nWhy: Information reaches you where you check it—whether you're a solo buy"
      }
    }
  ],
  "connections": {
    "ROI Calculator": {
      "main": [
        [
          {
            "node": "Enhanced Dashboard Report",
            "type": "main",
            "index": 0
          },
          {
            "node": "Alternative Category Suggester",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format HTML Report": {
      "main": [
        [
          {
            "node": "Send Email Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Economic Data": {
      "main": [
        [
          {
            "node": "Enhanced AI Prompt with Economics",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Validation Check": {
      "main": [
        [
          {
            "node": "Store in Google Sheets",
            "type": "main",
            "index": 0
          },
          {
            "node": "Airtable - Store COE Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Error Handler - Retry Scraping",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent - COE Analysis",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Process Economic Data": {
      "main": [
        [
          {
            "node": "Merge Economic Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Extract COE Price Data": {
      "main": [
        [
          {
            "node": "Store in Google Sheets",
            "type": "main",
            "index": 0
          },
          {
            "node": "Data Validation Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store in Google Sheets": {
      "main": [
        [
          {
            "node": "Retrieve Historical COE Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent - COE Analysis": {
      "main": [
        [
          {
            "node": "Generate Buy Recommendations",
            "type": "main",
            "index": 0
          },
          {
            "node": "Multi-Scenario Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Multi-Scenario Analysis": {
      "main": [
        [
          {
            "node": "Generate Buy Recommendations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape with Retry Logic": {
      "main": [
        [
          {
            "node": "Extract COE Price Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enhanced Dashboard Report": {
      "main": [
        [
          {
            "node": "Send Email Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check for Buy Opportunities": {
      "main": [
        [
          {
            "node": "Send Telegram Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Economic Indicators": {
      "main": [
        [
          {
            "node": "Process Economic Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Buy Recommendations": {
      "main": [
        [
          {
            "node": "Format HTML Report",
            "type": "main",
            "index": 0
          },
          {
            "node": "Check for Buy Opportunities",
            "type": "main",
            "index": 0
          },
          {
            "node": "Generate Dashboard Summary",
            "type": "main",
            "index": 0
          },
          {
            "node": "ROI Calculator",
            "type": "main",
            "index": 0
          },
          {
            "node": "Check Significant Price Movement",
            "type": "main",
            "index": 0
          },
          {
            "node": "Check Market Volatility",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare AI Prediction Prompt": {
      "main": [
        [
          {
            "node": "AI Agent - COE Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Historical COE Data": {
      "main": [
        [
          {
            "node": "Calculate Technical Indicators",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Technical Indicators": {
      "main": [
        [
          {
            "node": "Prepare AI Prediction Prompt",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge Economic Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Economic Indicators",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Prediction Update Trigger": {
      "main": [
        [
          {
            "node": "Retrieve Historical COE Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Significant Price Movement": {
      "main": [
        [
          {
            "node": "Urgent Market Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape COE Data from OneMotoring": {
      "main": [
        [
          {
            "node": "Extract COE Price Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enhanced AI Prompt with Economics": {
      "main": [
        [
          {
            "node": "AI Agent - COE Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger - Bi-Weekly COE Scraping": {
      "main": [
        [
          {
            "node": "Scrape COE Data from OneMotoring",
            "type": "main",
            "index": 0
          },
          {
            "node": "Scrape with Retry Logic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}