🎂 Agent 4 of 5 · Intermediate

Birthday Reminder Telegram Bot

Every morning at 8 AM this agent checks a birthday list stored in Google Drive and only messages you on Telegram if someone's birthday falls today. No match, no noise — smart, conditional automation.

Intermediate 6 Nodes Scheduled Trigger Google Drive IF Logic
How It Works

Architecture

[ Schedule Trigger ] Fires every day at 8:00 AM ↓ [ Google Drive Node ] Downloads your birthday Excel file ↓ [ Extract from File Node ] Reads each row (name + date of birth) ↓ [ Code Node ] Checks if today's date matches any birthday, builds the alert message ↓ [ IF Node ] YES → someone has a birthday today → continue NO → no birthdays today → stop, do nothing ↓ [ HTTP Request → Telegram ] Sends birthday alert to your Telegram chat
✅ Total nodes: 6  ·  Trigger: 0 8 * * * (8 AM daily)  ·  Smart behaviour: only sends a message when there's an actual birthday

Sample Telegram Message

🎂 Birthday Reminder! 📅 Wednesday, 22 July 2026 🎉 Today is Rahul Sharma's birthday! Don't forget to wish them! 🥳
Before You Start

What You Need

WhatWhere to get itTime
Docker Desktopdocker.com/products/docker-desktop5 min
Google Account (Drive)Already have one—
Google OAuth Credentialsconsole.cloud.google.com10 min
Birthday Excel file (.xlsx)Create it yourself5 min
Telegram Bot Token & Chat ID@BotFather / @userinfobot3 min
Build Guide

Step-by-Step Setup

1

Install Docker & Run n8n

docker run -d \ --name n8n \ --restart unless-stopped \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ docker.n8n.io/n8nio/n8n

New to Docker? Follow the full Docker & n8n Setup Guide →

2

Create Your Birthday Excel File

Create columns exactly named Full Name and Date of Birth, add rows for each person, save as .xlsx, and upload it to Google Drive.

Tip: add today's date for one test person so you get an alert right away.
3

Set Up Google OAuth

Create a Google Cloud project, enable the Google Drive API, configure the OAuth consent screen (add yourself as test user), then create an OAuth Client ID with redirect URI:

http://localhost:5678/rest/oauth2-credential/callback
4

Create Your Telegram Bot

Message @BotFather, send /newbot, copy the Bot Token, then find your bot and click Start. Get your Chat ID from @userinfobot.

5

Import the Workflow

In n8n: + → New Workflow → ... → Import from file → select birthday_reminder_telegram.json. You should see 6 connected nodes.

6

Connect Google Drive

On the Drive node, connect your OAuth credential, sign in, then switch the File field from "By ID" to "From List" and select your birthday file.

7

Configure the Telegram Node

Replace the Bot Token in the URL and the Chat ID in the JSON body (keep the single quotes).

8

Test & Publish

Add today's date as a test birthday, save, and click Execute workflow. All nodes should turn green and the alert should arrive on Telegram. Click Publish to activate the daily check.

Reference

Excel Format & Troubleshooting

Excel File Format

Full NameDate of Birth
Rahul Sharma22/07/1990
Priya Patel15/08/1995
Anita Desai03/01/2000
Headers must be exactly Full Name and Date of Birth. Supported date formats: DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD — only day and month are compared, year doesn't matter.

Troubleshooting

ErrorCauseFix
Access blocked on Google sign-inNot added as test userOAuth Consent Screen → Audience → add your Gmail
File not foundFile not selectedSwitch to "From List" and pick your file
No Telegram message receivedNo birthday todayThis is correct behaviour — add a test date to confirm
Date not matchingWrong date formatTry YYYY-MM-DD in your Excel file
Go Further

Ideas to Extend

  • Add the bot to a group so everyone gets notified
  • Ask Gemini to suggest a gift idea for the birthday person
  • Alert one day in advance instead of on the day
  • Add a third column for anniversaries
Built With

Tech Stack

n8n Google Drive API Telegram Bot API Docker