{
  "name": "📍 Daily nearby garage sales alerts via Telegram",
  "nodes": [
    {
      "id": "edb6065a-738e-41c8-9719-0ae928f8cace",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1200,
        -1005
      ]
    },
    {
      "id": "6ee2fbb2-3f5b-496d-97a3-74c9a33c5166",
      "name": "Get Brocabrac",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -540,
        -880
      ]
    },
    {
      "id": "1e824e88-b943-4b58-80c2-3761a821bd64",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        340,
        -880
      ]
    },
    {
      "id": "c11bbebc-cae5-4f55-a65c-3eaa943c117f",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        560,
        -880
      ]
    },
    {
      "id": "42a7ed20-b88c-4ae7-8299-e753a4311982",
      "name": "Every day at 7 AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1200,
        -800
      ]
    },
    {
      "id": "cabda7f6-6c14-4bbc-863f-403e129c1517",
      "name": "Get location",
      "type": "n8n-nodes-base.homeAssistant",
      "position": [
        -980,
        -880
      ]
    },
    {
      "id": "3098fb12-99a0-4bf8-9cbc-a782c1b62663",
      "name": "Set URL to parse",
      "type": "n8n-nodes-base.set",
      "position": [
        -760,
        -880
      ]
    },
    {
      "id": "de23ed8b-d907-4bbb-ac22-08378c48e457",
      "name": "Extract Date & Blocks",
      "type": "n8n-nodes-base.html",
      "position": [
        -320,
        -880
      ]
    },
    {
      "id": "44b70afd-e751-4817-b853-187e290db2b4",
      "name": "Get Rank & Distance",
      "type": "n8n-nodes-base.set",
      "position": [
        1000,
        -880
      ]
    },
    {
      "id": "e3da6c6a-0a45-4cb7-abd7-f4fc49555a06",
      "name": "Filter on close and bigger events",
      "type": "n8n-nodes-base.filter",
      "position": [
        800,
        -1660
      ]
    },
    {
      "id": "76ed047f-ddc9-4fff-b8f6-1c2b36f06be1",
      "name": "Any today?",
      "type": "n8n-nodes-base.if",
      "position": [
        -100,
        -880
      ]
    },
    {
      "id": "7c9021a5-6907-4956-9b86-c8d6a960fff5",
      "name": "Extract Garage Sales Events",
      "type": "n8n-nodes-base.html",
      "position": [
        120,
        -880
      ]
    },
    {
      "id": "ba984d37-184f-4a8d-b2aa-b06f78222292",
      "name": "Get each Garage Sale info",
      "type": "n8n-nodes-base.html",
      "position": [
        780,
        -880
      ]
    },
    {
      "id": "a790ab8e-746b-46ba-bcb3-a611662636df",
      "name": "Send an Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1500,
        -1660
      ]
    },
    {
      "id": "c05d53df-98f2-4f29-8b69-e3652e9443f6",
      "name": "Shape the response",
      "type": "n8n-nodes-base.set",
      "position": [
        1020,
        -1660
      ]
    },
    {
      "id": "ec425780-841b-451d-8160-b66890828fd4",
      "name": "Set the message",
      "type": "n8n-nodes-base.set",
      "position": [
        1240,
        -1660
      ]
    },
    {
      "id": "ea4f3e9d-291e-4557-b242-eea7dac2dd5c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -820,
        -1320
      ],
      "parameters": {
        "width": 640,
        "height": 660,
        "content": "## 1️⃣ Fetch & Parse Garage Sale Data\n### What happens:\n- An HTTP request retrieves the HTML content of the Brocabrac page for the current location.\n- The workflow extracts two pieces of data:\n  - Dat"
      }
    },
    {
      "id": "6692692d-c5f7-427f-a95b-ebe00042bb91",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -140,
        -1320
      ],
      "parameters": {
        "width": 1400,
        "height": 660,
        "content": "## 2️⃣ Process, Filter & Extract Relevant Events\nWhat happens:\n- Splits the list of garage sale entries and loops over each.\n- From each block, it extracts:\n  - City\n  - Distance\n  - Rank (event impor"
      }
    },
    {
      "id": "33aa481c-f216-4fee-aa0f-01fdd0db92ae",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        680,
        -2040
      ],
      "parameters": {
        "width": 1020,
        "height": 620,
        "content": "## 3️⃣ Format & Send Notifications via Telegram\n### What happens:\n- The remaining filtered events are formatted into a clean string like:\n  ```\n  City (Rank à Distance km)\n  ```\n- These are combined i"
      }
    },
    {
      "id": "05b97c78-ece0-4b20-8d4a-9814aaabaf4c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -1320
      ],
      "parameters": {
        "width": 520,
        "height": 660,
        "content": "## 0️⃣ Daily Trigger & Geolocation Setup\n### What happens:\n- The workflow is triggered either manually or automatically every day at 7 AM (Schedule Trigger node).\n- It fetches the current location of "
      }
    }
  ],
  "connections": {
    "Split Out": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Any today?": {
      "main": [
        [
          {
            "node": "Extract Garage Sales Events",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Get location": {
      "main": [
        [
          {
            "node": "Set URL to parse",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Brocabrac": {
      "main": [
        [
          {
            "node": "Extract Date & Blocks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Filter on close and bigger events",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get each Garage Sale info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set the message": {
      "main": [
        [
          {
            "node": "Send an Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set URL to parse": {
      "main": [
        [
          {
            "node": "Get Brocabrac",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every day at 7 AM": {
      "main": [
        [
          {
            "node": "Get location",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Shape the response": {
      "main": [
        [
          {
            "node": "Set the message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Rank & Distance": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Date & Blocks": {
      "main": [
        [
          {
            "node": "Any today?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get each Garage Sale info": {
      "main": [
        [
          {
            "node": "Get Rank & Distance",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Garage Sales Events": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter on close and bigger events": {
      "main": [
        [
          {
            "node": "Shape the response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Get location",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}