AutomationFlowsSlack & Telegram › Birthday Reminder

Birthday Reminder

Birthday Reminder. Uses googleSheets, telegram. Event-driven trigger; 6 nodes.

Event trigger★★☆☆☆ complexity6 nodesGoogle SheetsTelegram
Slack & Telegram Trigger: Event Nodes: 6 Complexity: ★★☆☆☆ Added:

This workflow follows the Google Sheets → Telegram recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "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
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Birthday Reminder. Uses googleSheets, telegram. Event-driven trigger; 6 nodes.

Source: https://github.com/DuttPanchal04/n8n-ai-automation-portfolio/blob/main/birthday-reminder/birthday-reminder-workflow.json — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

Stickynote Workflow. Uses stickyNote, noOp, telegramTrigger, googleSheets. Event-driven trigger; 11 nodes.

Telegram Trigger, Google Sheets, Telegram +1
Slack & Telegram

BillBot. Uses telegram, telegramTrigger, httpRequest, googleSheets. Event-driven trigger; 7 nodes.

Telegram, Telegram Trigger, HTTP Request +3
Slack & Telegram

99_global_error_handler. Uses errorTrigger, telegram, googleSheets, stickyNote. Event-driven trigger; 4 nodes.

Error Trigger, Telegram, Google Sheets
Slack & Telegram

Deal-Finder. Uses executeWorkflowTrigger, googleSheets, perplexity, httpRequest. Event-driven trigger; 49 nodes.

Execute Workflow Trigger, Google Sheets, Perplexity +2
Slack & Telegram

checkProcess(old). Uses googleSheets, httpRequest, telegram, @n-octo-n/n8n-nodes-json-database. Event-driven trigger; 40 nodes.

Google Sheets, HTTP Request, Telegram +3