{
  "name": "Get domain expiry reminders with Google Sheets, WHOIS, Telegram, and Ollama AI",
  "nodes": [
    {
      "id": "492d0f7b-d236-48c7-8fb9-71d16c85b371",
      "name": "Cron (Daily 08:00)",
      "type": "n8n-nodes-base.cron",
      "position": [
        -1456,
        176
      ]
    },
    {
      "id": "9b136e36-0690-4405-a14c-332f92bd1fca",
      "name": "Google Sheets (Read Domains)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1248,
        176
      ]
    },
    {
      "id": "f0b10084-f6f9-4df7-8ce0-c642c37f8d54",
      "name": "IF (Should Notify)",
      "type": "n8n-nodes-base.if",
      "position": [
        432,
        384
      ]
    },
    {
      "id": "d14930f6-4c3c-4c40-9ef6-f8f1b3c1afca",
      "name": "Telegram (Send Reminder)",
      "type": "n8n-nodes-base.telegram",
      "position": [
        768,
        576
      ]
    },
    {
      "id": "c8df8d0c-4920-4130-9b76-2766564920f0",
      "name": "Google Sheets (Update last_notified)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        768,
        288
      ]
    },
    {
      "id": "cb1ff5dc-ec64-4a8e-94ff-20c3576d5ae6",
      "name": "Ollama Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOllama",
      "position": [
        -368,
        592
      ]
    },
    {
      "id": "e504e8cc-7c9b-44dc-9d8b-eb362d07ec4a",
      "name": "Information Extractor",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        -352,
        384
      ]
    },
    {
      "id": "47caa6d0-d2a8-4719-8ee5-cd9852f5dcb3",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2000,
        -128
      ],
      "parameters": {
        "width": 460,
        "height": 688,
        "content": "This workflow automatically monitors domain expiration dates and sends reminders\nvia Telegram when a domain is close to expiring.\n\nIt is designed for individuals or teams managing multiple domains and"
      }
    },
    {
      "id": "4df337a2-8653-4851-be30-7b4c5cc259b7",
      "name": "Split In Batches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1040,
        176
      ]
    },
    {
      "id": "b811ec6e-fa64-4ecf-9dc1-b42d969401b2",
      "name": "Replace Me",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1072,
        416
      ]
    },
    {
      "id": "8fb104a2-0815-4ea6-9bbd-2258fca5570d",
      "name": "Get raw data html from whois.com",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -864,
        384
      ]
    },
    {
      "id": "4516c799-7502-4853-8a74-1636daf0541c",
      "name": "Mappings row data",
      "type": "n8n-nodes-base.set",
      "position": [
        208,
        384
      ]
    },
    {
      "id": "857d5a5a-10d0-418e-9801-05c911f6ad86",
      "name": "Get Date & Time Diff",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        -32,
        384
      ]
    },
    {
      "id": "2db873dd-6f5a-4471-8ac8-edca4f435a14",
      "name": "Extract HTML",
      "type": "n8n-nodes-base.html",
      "position": [
        -592,
        384
      ]
    },
    {
      "id": "b055c729-6374-4f66-b2b5-fa0e0e42f3ac",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1504,
        80
      ],
      "parameters": {
        "width": 608,
        "height": 336,
        "content": "## Domain Source & Schedule\nLoads domain data daily from Google Sheets.\n"
      }
    },
    {
      "id": "9b9536b2-36b3-4178-beae-d85b2170ff89",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        288
      ],
      "parameters": {
        "width": 800,
        "height": 416,
        "content": "## Fetch & Extract Domain Data\nRetrieves WHOIS data and extracts expiration details using AI.\n"
      }
    },
    {
      "id": "07b4a91c-09fb-4ba1-b9b9-8fe953fe2183",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        192
      ],
      "parameters": {
        "width": 544,
        "height": 560,
        "content": "## Notify & Update Records\nSends a Telegram reminder and updates the last notification date."
      }
    },
    {
      "id": "6409e12e-0851-4f34-9d16-10fc9d12490e",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        288
      ],
      "parameters": {
        "width": 672,
        "height": 272,
        "content": "## Expiration Check\nCalculates remaining days and decides whether a reminder is needed."
      }
    }
  ],
  "connections": {
    "Replace Me": {
      "main": [
        [
          {
            "node": "Split In Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract HTML": {
      "main": [
        [
          {
            "node": "Information Extractor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split In Batches": {
      "main": [
        [
          {
            "node": "Get raw data html from whois.com",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Mappings row data": {
      "main": [
        [
          {
            "node": "IF (Should Notify)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ollama Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Information Extractor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Cron (Daily 08:00)": {
      "main": [
        [
          {
            "node": "Google Sheets (Read Domains)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF (Should Notify)": {
      "main": [
        [
          {
            "node": "Google Sheets (Update last_notified)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Telegram (Send Reminder)",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Get Date & Time Diff": {
      "main": [
        [
          {
            "node": "Mappings row data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Information Extractor": {
      "main": [
        [
          {
            "node": "Get Date & Time Diff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram (Send Reminder)": {
      "main": [
        [
          {
            "node": "Replace Me",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets (Read Domains)": {
      "main": [
        [
          {
            "node": "Split In Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get raw data html from whois.com": {
      "main": [
        [
          {
            "node": "Extract HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets (Update last_notified)": {
      "main": [
        [
          {
            "node": "Replace Me",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}