{
  "name": "🍅 Custom pomodoro tracker using Telegram and Google Sheet",
  "nodes": [
    {
      "id": "bc49829b-45f2-4910-9c37-907271982f14",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        0
      ],
      "parameters": {
        "width": 780,
        "height": 540,
        "content": "### 4. Do you need more details?\nFind a step-by-step guide in this tutorial\n![Guide](https://www.samirsaci.com/content/images/2025/04/Pomodoro-Timer.png)\n[🎥 Watch My Tutorial](https://www.youtube.com/"
      }
    },
    {
      "id": "b5f24526-f1fc-43b0-82bf-887288838304",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -2560,
        540
      ]
    },
    {
      "id": "8bb53ae0-515a-493d-9c1a-8a06362ada2e",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -2340,
        540
      ]
    },
    {
      "id": "2bba3d64-03b7-4875-ac13-d4be13d2aa6d",
      "name": "Deep Work",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1680,
        460
      ]
    },
    {
      "id": "bc3ea269-cbc5-4c7d-8ea1-74413883e425",
      "name": "Break",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1340,
        460
      ]
    },
    {
      "id": "da225392-cd09-4afb-ba56-816484c742ae",
      "name": "Initiate Static Data",
      "type": "n8n-nodes-base.code",
      "position": [
        -2540,
        -160
      ]
    },
    {
      "id": "b4f1ae18-ff8d-4b1d-8c26-8e3f87350d2d",
      "name": "Increment Count",
      "type": "n8n-nodes-base.code",
      "position": [
        -1180,
        460
      ]
    },
    {
      "id": "5315d3fc-9c1e-4f3d-9e00-81f806d84e6a",
      "name": "Record Deep Work",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -720,
        400
      ]
    },
    {
      "id": "7328bccb-bb00-42bb-9659-6f66600894cc",
      "name": "Record Long Break",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -120,
        460
      ]
    },
    {
      "id": "2d45a378-7188-4ac2-bb2e-c0ba745794d7",
      "name": "Instructions Message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -2160,
        660
      ]
    },
    {
      "id": "14c90858-f22d-4495-bda0-c846209e6736",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2580,
        -400
      ],
      "parameters": {
        "width": 440,
        "height": 380,
        "content": "### 0. Initiate Workplace Static Data\nRun it **once** before activating the workflow to initialize workspace data that will be used to **store state flags** and **outputs from users**.\n\n#### How to se"
      }
    },
    {
      "id": "26cdb973-26eb-41a6-b071-11b5b51faf70",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2580,
        0
      ],
      "parameters": {
        "width": 620,
        "height": 940,
        "content": "### 1. Workflow Trigger with Telegram Message\n1. The workflow is triggered by a user message. \n2. The second is checking if the message is a command (starting with \"/\") to route it to the proper block"
      }
    },
    {
      "id": "6d4f131c-076e-4d0a-9738-847692557468",
      "name": "start or stop?",
      "type": "n8n-nodes-base.if",
      "position": [
        -2160,
        460
      ]
    },
    {
      "id": "aa50b802-83f1-47da-a9eb-cf2fc9576c28",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1900,
        0
      ],
      "parameters": {
        "width": 1360,
        "height": 940,
        "content": "### 2. Deep Work Blocks of 25 minutes\n1. The bot notifies the user that the session started.\n2. After 25 minutes, it sends a notification to inform the user that [he/she] should take a break.\n3. The l"
      }
    },
    {
      "id": "6a7b7b74-61b0-40de-8def-7bc602302d05",
      "name": "Long Break Notification",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -440,
        520
      ]
    },
    {
      "id": "fc63c241-53ee-4443-9a8c-a8f8a5da992b",
      "name": "Clear Variables1",
      "type": "n8n-nodes-base.code",
      "position": [
        -1680,
        760
      ]
    },
    {
      "id": "12297308-57ca-493f-8e65-49e396042893",
      "name": "Clear Variables2",
      "type": "n8n-nodes-base.code",
      "position": [
        -120,
        640
      ]
    },
    {
      "id": "46ab1b8b-c9be-4da9-a470-d1a4c9fcc219",
      "name": "< 4 Cycles",
      "type": "n8n-nodes-base.if",
      "position": [
        -720,
        540
      ]
    },
    {
      "id": "22752905-50fc-48ee-9b4c-f80e6184c17f",
      "name": "Short Break Notification",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1520,
        460
      ]
    },
    {
      "id": "d43993be-ae96-4f83-8047-fffc956d2bac",
      "name": "Back to Work Notification",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1000,
        460
      ]
    },
    {
      "id": "480f9003-3c1d-44a1-8552-8b59d9d074af",
      "name": "Start Cycle Notification",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1840,
        460
      ]
    },
    {
      "id": "b0ce8b4c-7e41-47f6-b505-46fdf606b84d",
      "name": "End of Session Notification",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1860,
        760
      ]
    },
    {
      "id": "bd6b313b-2418-4b03-ad0e-7373b26b68c3",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        0
      ],
      "parameters": {
        "width": 560,
        "height": 940,
        "content": "### 3. End of the session for a long break\n1. The bot notifies the user that the session ended.\n2. The long break is recorded in the Google Sheets.\n3. Variables are cleared so the workflow is ready fo"
      }
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "start or stop?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Instructions Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Break": {
      "main": [
        [
          {
            "node": "Increment Count",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Deep Work": {
      "main": [
        [
          {
            "node": "Short Break Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "< 4 Cycles": {
      "main": [
        [
          {
            "node": "Long Break Notification",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Start Cycle Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "start or stop?": {
      "main": [
        [
          {
            "node": "Start Cycle Notification",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "End of Session Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Increment Count": {
      "main": [
        [
          {
            "node": "Back to Work Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Long Break Notification": {
      "main": [
        [
          {
            "node": "Clear Variables2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Record Long Break",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Short Break Notification": {
      "main": [
        [
          {
            "node": "Break",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Cycle Notification": {
      "main": [
        [
          {
            "node": "Deep Work",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Back to Work Notification": {
      "main": [
        [
          {
            "node": "< 4 Cycles",
            "type": "main",
            "index": 0
          },
          {
            "node": "Record Deep Work",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "End of Session Notification": {
      "main": [
        [
          {
            "node": "Clear Variables1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}