{
  "name": "Create and manage short URLs with Telegram bot, MongoDB and Nginx redirects",
  "nodes": [
    {
      "id": "3699e2c1-9b17-4975-adfa-40c5955f1d51",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        0,
        -105
      ]
    },
    {
      "id": "ab26cb35-e5cd-4011-a2f1-3b3630155799",
      "name": "Insert shortCode",
      "type": "n8n-nodes-base.mongoDb",
      "position": [
        1460,
        220
      ]
    },
    {
      "id": "0aa4998d-d44d-49ff-8620-ffc299a90a82",
      "name": "New link",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1680,
        220
      ]
    },
    {
      "id": "ce0adffc-a7cb-4d40-ba1a-312a817d1646",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -180
      ],
      "parameters": {
        "width": 1180,
        "height": 280,
        "content": "## Validating\n"
      }
    },
    {
      "id": "591e81f5-d1ad-45dc-af47-6e94f1558315",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -480
      ],
      "parameters": {
        "width": 1180,
        "height": 280,
        "content": "## Link not valid\n\n"
      }
    },
    {
      "id": "792a1a83-6c38-4d18-ab7e-45a54b7fe64c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        120
      ],
      "parameters": {
        "width": 2000,
        "height": 280,
        "content": "## Creating new link\n\n"
      }
    },
    {
      "id": "63434047-e655-4490-aac0-3f2a98461b3d",
      "name": "Exist?",
      "type": "n8n-nodes-base.mongoDb",
      "position": [
        440,
        220
      ]
    },
    {
      "id": "035410fc-07fe-41ac-9acd-d8c7e86de9d5",
      "name": "no exist?",
      "type": "n8n-nodes-base.if",
      "position": [
        1020,
        220
      ]
    },
    {
      "id": "687c1422-6ade-4279-929e-05279d815d6e",
      "name": "exist?",
      "type": "n8n-nodes-base.set",
      "position": [
        660,
        220
      ]
    },
    {
      "id": "024156e2-423c-476d-bd74-6ad6b18631d3",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -20,
        640
      ]
    },
    {
      "id": "af608dbd-b6f4-47ea-8eb9-7c7095fcc72d",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        420
      ],
      "parameters": {
        "width": 1420,
        "height": 580,
        "content": "## Handle Redirects\n"
      }
    },
    {
      "id": "aaa66b70-a6c4-472a-8ad5-78ddddaa6b60",
      "name": "Is it reply?",
      "type": "n8n-nodes-base.if",
      "position": [
        220,
        -100
      ]
    },
    {
      "id": "76ecf7ff-0ce6-4d0c-8f88-ccfe6b9c10ed",
      "name": "Reply Data",
      "type": "n8n-nodes-base.set",
      "position": [
        220,
        220
      ]
    },
    {
      "id": "fd5152fa-fa5a-4408-be08-e1ae6c78c791",
      "name": "askShortCode",
      "type": "n8n-nodes-base.telegram",
      "position": [
        880,
        -100
      ]
    },
    {
      "id": "3bc6b432-0e8b-49b8-89fa-4b232b6bd1b1",
      "name": "Clean Data",
      "type": "n8n-nodes-base.code",
      "position": [
        0,
        220
      ]
    },
    {
      "id": "e6b64f7a-4f51-42b0-8c2e-1dff1e09defa",
      "name": "askShortCode1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1240,
        -80
      ]
    },
    {
      "id": "e3dfe8fe-85a4-4682-b8d8-25f27f55d402",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        -180
      ],
      "parameters": {
        "width": 800,
        "height": 280,
        "content": "## Link exist, ask another one\n\n"
      }
    },
    {
      "id": "e3b0449e-d305-412c-8521-d395df67c329",
      "name": "Valid URL",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1080,
        540
      ]
    },
    {
      "id": "7cd09931-b212-42f0-ae34-4fbb3c78b47e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -740,
        -180
      ],
      "parameters": {
        "width": 640,
        "height": 1180,
        "content": "## Workflow 1: Create Short URL\n\nI. Main Message & Reply Detection\n\n- Telegram Trigger: Receives all Telegram messages.\n- Is it Reply? (IF): Checks if message is a reply.\n- True: Reply (-> Code)\n- Fal"
      }
    },
    {
      "id": "3c327cb0-c695-4792-840b-4964cb1a3a6e",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        420
      ],
      "parameters": {
        "width": 560,
        "height": 580,
        "content": "## Workflow 2: URL Redirect Handler\n\n- Webhook (Webhook Trigger): Receives short URL requests from web server.\n- Data2 (Set): Extracts short code from webhook URL.\nExist?2 (MongoDB - Find): Finds orig"
      }
    },
    {
      "id": "721bf395-5f9c-406c-a734-682c6f5f4a97",
      "name": "take URL",
      "type": "n8n-nodes-base.code",
      "position": [
        440,
        -105
      ]
    },
    {
      "id": "2dfc05a3-b928-4277-ba3c-38e1fb7fd944",
      "name": "Not Valid URL?",
      "type": "n8n-nodes-base.if",
      "position": [
        660,
        -105
      ]
    },
    {
      "id": "f38169f6-efdb-4e1a-b0b9-6740ef59f693",
      "name": "Not Valid URL1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        440,
        -380
      ]
    },
    {
      "id": "e1e5911c-afae-4cdf-a043-01e3dad1f598",
      "name": "take short code",
      "type": "n8n-nodes-base.set",
      "position": [
        200,
        640
      ]
    },
    {
      "id": "daff4473-50f5-4cf2-8ae4-0734fb0523ca",
      "name": "short code exist?",
      "type": "n8n-nodes-base.mongoDb",
      "position": [
        420,
        640
      ]
    },
    {
      "id": "5102ca6d-e5d5-4828-88f0-4e761cd77825",
      "name": "short code exist?1",
      "type": "n8n-nodes-base.set",
      "position": [
        640,
        640
      ]
    },
    {
      "id": "3cd11299-1aef-4b29-87e1-f6370e227056",
      "name": "If short code exist",
      "type": "n8n-nodes-base.if",
      "position": [
        860,
        640
      ]
    },
    {
      "id": "a7649e38-53a9-4023-bfaf-433b6c7ec473",
      "name": "404 page",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1080,
        740
      ]
    },
    {
      "id": "2987203f-83e2-4fd7-abde-25916d7d73bb",
      "name": "shortCode Data",
      "type": "n8n-nodes-base.set",
      "position": [
        1240,
        220
      ]
    }
  ],
  "connections": {
    "Exist?": {
      "main": [
        [
          {
            "node": "exist?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "exist?": {
      "main": [
        [
          {
            "node": "no exist?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "take short code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "take URL": {
      "main": [
        [
          {
            "node": "Not Valid URL?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "no exist?": {
      "main": [
        [
          {
            "node": "shortCode Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "askShortCode1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean Data": {
      "main": [
        [
          {
            "node": "Reply Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reply Data": {
      "main": [
        [
          {
            "node": "Exist?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is it reply?": {
      "main": [
        [
          {
            "node": "Clean Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "take URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "askShortCode": {
      "main": [
        []
      ]
    },
    "Not Valid URL?": {
      "main": [
        [
          {
            "node": "Not Valid URL1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "askShortCode",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "shortCode Data": {
      "main": [
        [
          {
            "node": "Insert shortCode",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "take short code": {
      "main": [
        [
          {
            "node": "short code exist?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insert shortCode": {
      "main": [
        [
          {
            "node": "New link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Is it reply?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "short code exist?": {
      "main": [
        [
          {
            "node": "short code exist?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "short code exist?1": {
      "main": [
        [
          {
            "node": "If short code exist",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If short code exist": {
      "main": [
        [
          {
            "node": "Valid URL",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "404 page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}