{
  "name": "Birthday Reminder",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "id": "1c37f1f2-bb1c-4863-aa04-ee6c9e34a9af",
      "name": "When clicking \u2018Execute workflow\u2019"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "YOUR_GOOGLE_SHEET_ID",
          "mode": "list",
          "cachedResultName": "Sample BIrthday Data (n8n)",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "Sheet1",
          "mode": "name"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        208,
        0
      ],
      "id": "fb0b2de7-0983-4a75-bf57-90c771ca3492",
      "name": "Get row(s) in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": false,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 3
          },
          "conditions": [
            {
              "id": "497f7f7b-84d4-40da-b78a-2af626afc9b8",
              "leftValue": "={{ $json.Birthdate.slice(0,5) }}",
              "rightValue": "={{ $now.format('dd-MM') }}",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "looseTypeValidation": true,
        "options": {
          "ignoreCase": true
        }
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        416,
        0
      ],
      "id": "76843a97-0ac2-42c6-9714-2b670e3f6093",
      "name": "If"
    },
    {
      "parameters": {
        "chatId": "YOUR_TELEGRAM_CHAT_ID",
        "text": "=\ud83c\udf89 Birthday Alert!  \n\nIt's {{ $json.Name }}'s birthday today. \n\n\ud83c\udf82  \ud83d\udcc5 Birthday: {{ $json.Birthdate }}  \n\nSend your wishes and make their day special! \ud83c\udf88",
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        624,
        -96
      ],
      "id": "baa002ba-0299-488d-ab0d-b26415d1506a",
      "name": "Send a text message",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        624,
        96
      ],
      "id": "12d06619-8424-429e-8ee5-42b72a57294c",
      "name": "No Operation, do nothing"
    },
    {
      "parameters": {
        "content": "n8n birthday reminder tg bot:\n\nYOUR_TELEGRAM_BOT_TOKEN\n\n\nchatid: YOUR_TELEGRAM_CHAT_ID",
        "height": 192,
        "width": 288
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        256
      ],
      "typeVersion": 1,
      "id": "9f399b9d-95e1-45fe-a9cd-b9aa5c7f55fb",
      "name": "Sticky Note"
    }
  ],
  "connections": {
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "availableInMCP": false
  },
  "staticData": null,
  "triggerCount": 0,
  "meta": {
    "templateCredsSetupCompleted": true
  }
}