{
  "name": "Customer financial report delivery system with Telegram and Google Sheets",
  "nodes": [
    {
      "id": "d0054cc3-5af6-4dec-84ad-ee4096484c74",
      "name": "Aggregate Summary2",
      "type": "n8n-nodes-base.code",
      "position": [
        2560,
        112
      ]
    },
    {
      "id": "367b28c8-87cd-47ab-93ce-d2568cce674d",
      "name": "Format Details2",
      "type": "n8n-nodes-base.code",
      "position": [
        2784,
        112
      ]
    },
    {
      "id": "48c4a6ac-dbbd-475c-b6cd-108257c264e1",
      "name": "Combine Summary + Details2",
      "type": "n8n-nodes-base.code",
      "position": [
        3008,
        112
      ]
    },
    {
      "id": "df7484b2-b2de-40cd-bdbf-ee959efcc908",
      "name": "Input user2",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -128,
        176
      ]
    },
    {
      "id": "0faa3a2a-2407-4f71-a03e-57c82dfb6e10",
      "name": "Send Report2",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3232,
        112
      ]
    },
    {
      "id": "e85b3a8f-3cbc-476b-bb5f-3f521bb7c7a2",
      "name": "Check Match2",
      "type": "n8n-nodes-base.code",
      "position": [
        1872,
        96
      ]
    },
    {
      "id": "7d88a885-dbb9-4cfd-8822-1433f6efa072",
      "name": "Merge4",
      "type": "n8n-nodes-base.merge",
      "position": [
        992,
        240
      ]
    },
    {
      "id": "3da68029-f281-43e0-80de-4caa0c27a4b3",
      "name": "Get row(s) in sheet (Access)2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1424,
        96
      ]
    },
    {
      "id": "84a544a9-b75f-4a48-bf44-a357d37d46d3",
      "name": "Get row(s) in sheet5",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2336,
        112
      ]
    },
    {
      "id": "fc2fbf1b-ecd3-49ec-bdf4-4e8fe62febf3",
      "name": "Wellcome1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        544,
        96
      ]
    },
    {
      "id": "a7722ab6-22df-4d7a-a118-6ee6bedd516f",
      "name": "If4",
      "type": "n8n-nodes-base.if",
      "position": [
        320,
        176
      ]
    },
    {
      "id": "f79a32ce-3892-4978-9346-529be649c73e",
      "name": "If5",
      "type": "n8n-nodes-base.if",
      "position": [
        1200,
        96
      ]
    },
    {
      "id": "2f99f000-be5c-453b-84af-91af2f72d79b",
      "name": "Enter Correct name",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1424,
        288
      ]
    },
    {
      "id": "f48f5043-5bf0-4ad1-85c5-19159d4c1385",
      "name": "Get row(s) in sheet4",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        544,
        384
      ]
    },
    {
      "id": "70266fc7-de99-4fdf-b398-0d1525168993",
      "name": "Merge5",
      "type": "n8n-nodes-base.merge",
      "position": [
        1648,
        96
      ]
    },
    {
      "id": "f95f85b7-b116-4767-8511-1cce706d1425",
      "name": "If3",
      "type": "n8n-nodes-base.if",
      "position": [
        2112,
        288
      ]
    },
    {
      "id": "0771c3e8-426e-4ca3-820d-9340fee7f57a",
      "name": "No permission",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2336,
        304
      ]
    },
    {
      "id": "08b78fa2-cb3b-4814-b324-2c01e2f49901",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        48
      ],
      "parameters": {
        "width": 1376,
        "height": 496,
        "content": "\n"
      }
    },
    {
      "id": "0a633d7b-3fee-4078-9750-23afc06fb990",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        48
      ],
      "parameters": {
        "width": 880,
        "height": 496,
        "content": ""
      }
    },
    {
      "id": "d8dbbfa8-cfb2-44be-bbad-8f77e282a909",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        560
      ],
      "parameters": {
        "width": 1312,
        "height": 656,
        "content": "# 🤖 STEP 1: USER INPUT & DATA FETCH PROCESS\n\nTelegram Trigger (Input user2)\nStarts the workflow when a user sends a message to the Telegram bot.\n→ Passes message data (text, chat ID, username) to next"
      }
    },
    {
      "id": "287d415e-ffdc-408a-96d5-06713c352479",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        96,
        176
      ]
    },
    {
      "id": "9c97999f-4541-4931-89ca-d3544bf5c240",
      "name": "Code2",
      "type": "n8n-nodes-base.code",
      "position": [
        768,
        384
      ]
    },
    {
      "id": "5955cbfc-2d71-4ab9-8dd7-94cb8f3bbbd7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -896,
        224
      ],
      "parameters": {
        "width": 656,
        "height": 800,
        "content": "# How it works\n\nThis workflow receives messages from Telegram using the Telegram Trigger node.\n\nIt detects the user’s action (/start or customer name) and decides whether to send a welcome message or "
      }
    },
    {
      "id": "980f9f33-4b9a-440e-911c-642d81eec87e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        48
      ],
      "parameters": {
        "width": 1312,
        "height": 496,
        "content": ""
      }
    },
    {
      "id": "49a0a734-df6f-42e5-80d3-60d7b80796b6",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        560
      ],
      "parameters": {
        "width": 880,
        "height": 416,
        "content": "# 🤖 STEP 2: ACCESS VALIDATION PROCESS\n\nIf Node\nChecks if found = true.\n→ Yes: continue to Google Sheets\n→ No: send error message via Telegram\n\nGoogle Sheets Node\nFetches rows from Access Sheet where C"
      }
    },
    {
      "id": "e6658148-61b9-4fff-8820-e71a349329df",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        560
      ],
      "parameters": {
        "width": 1376,
        "height": 592,
        "content": "# 🤖 STEP 3: REPORT GENERATION & DELIVERY\n\nIf Node (If3)\nChecks if access = granted.\n→ Yes → continue to report generation.\n→ No → send “No permission” message via Telegram.\n\nGoogle Sheets Node (Get ro"
      }
    }
  ],
  "connections": {
    "If3": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No permission",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If4": {
      "main": [
        [
          {
            "node": "Wellcome1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get row(s) in sheet4",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If5": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet (Access)2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Enter Correct name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "If4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code2": {
      "main": [
        [
          {
            "node": "Merge4",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Merge4": {
      "main": [
        [
          {
            "node": "If5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge5": {
      "main": [
        [
          {
            "node": "Check Match2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Input user2": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Match2": {
      "main": [
        [
          {
            "node": "If3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Details2": {
      "main": [
        [
          {
            "node": "Combine Summary + Details2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate Summary2": {
      "main": [
        [
          {
            "node": "Format Details2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet4": {
      "main": [
        [
          {
            "node": "Code2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet5": {
      "main": [
        [
          {
            "node": "Aggregate Summary2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine Summary + Details2": {
      "main": [
        [
          {
            "node": "Send Report2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet (Access)2": {
      "main": [
        [
          {
            "node": "Merge5",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}