Never Miss a Birthday Again: Advanced Google Sheets Reminder Template

Last updated: March 22, 2025

Overview

This enhanced Birthday Reminder template, available exclusively to subscribers, is a Google Sheets Apps Script application that automates email notifications for upcoming birthdays, sending daily or weekly summaries, creating draft birthday emails, and presenting information in well-formatted HTML emails.

This subscriber-exclusive enhanced version builds upon the simpler version I shared previously and it implements all the "future enhancements" mentioned in that original article - including summary emails with upcoming birthdays, automatic draft creation, and customizable settings. If you're new to Apps Script or Google Sheets automation, I recommend starting with the original tutorial to understand the core concepts before implementing this more sophisticated version.

SUBSCRIBER EXCLUSIVE

Never Miss Important Birthdays: Advanced Reminder System

Save time and strengthen relationships with our enhanced template featuring daily summaries and pre-written birthday messages—all automated in Google Sheets.

Preview

Screenshots

Email Notification

An email displaying birthday notifications with a pastel pink header, showing today's birthdays and upcoming birthdays with names and dates.

The Advanced Birthday Reminder app sends well-formatted HTML emails with the following sections:

  • Header: "Birthday Notifications" in a pink banner

  • Today's Birthdays: Shows people whose birthdays are today

  • Upcoming Birthdays: Shows birthdays within the look-ahead period

  • Footer: Shows app name and generation date

Birthday Email Drafts

A screenshot of a Google email draft with a birthday message, showing the compose window overlaid on the inbox.

When enabled in settings, the app automatically creates draft emails for people with birthdays today:

  • Draft in Gmail: Created with "Happy Birthday, [Name]!" as the subject

  • Email Content: Personalized greeting with pre-formatted but customizable text

  • Ready to Send: You can review, customize, and send the email when ready

This feature saves time while still allowing for personal touches before sending birthday wishes.

Features

  • Birthday tracking: Maintains a list of names and their corresponding birthdates

  • Automated notifications: Sends emails about today's birthdays and upcoming birthdays

  • Customizable settings: Configure notification frequency (daily or weekly), look-ahead period, and more

  • Email drafts: Automatically creates draft birthday emails for sending personalized wishes

  • Beautifully formatted emails: HTML emails with a clean, modern design

Sheet Structure

The application uses a Google Sheet with the following sheets:

  • đź“… Birthdays: Main data sheet containing names and birthdates

  • ⚙️ Settings: Configuration options for the application

đź“… Birthdays Sheet

Person

Birthday

Name

MM/DD/YYYY

Screenshot

A spreadsheet excerpt showing a list of people and their corresponding birthdays in a table format.

⚙️ Settings Sheet

Setting

Description

Default

Send day-of reminders

Notify about today's birthdays

Enabled

Create draft emails

Create draft birthday emails

Disabled

Send summary email

Send summary of upcoming birthdays

Enabled

Summary look-ahead days

Number of days to look ahead for birthdays

30

Summary frequency

How often to send summary emails (daily or weekly)

daily

Screenshot

Main Functions

main()

The entry point that runs daily via a time-based trigger. It loads settings and determines whether to send notifications based on the configured frequency.

sendCombinedBirthdayNotification()

Processes the birthday data and generates notification emails containing today's birthdays and upcoming birthdays.

sendCombinedEmailNotification(todayBirthdays, upcomingBirthdays)

Creates and sends an HTML email with information about today's birthdays and upcoming birthdays.

Helper Functions

isBirthdayToday(birthday)

Checks if a given birthday falls on the current date.

getDaysUntilBirthday(birthday)

Calculates the number of days until the next occurrence of a birthday.

formatDate(date)

Formats a date as "Month Day" (e.g., "January 15").

formatDateFull(date)

Formats a date as "Month Day, Year" (e.g., "January 15, 2025").

loadSettings()

Loads application settings from the Settings sheet.

createBirthdayEmailDraft(name)

Creates a draft email with birthday wishes for a specific person.

HTML Templates

The application uses two HTML templates for email generation:

combined_notification_template.html

Template for the summary email containing today's and upcoming birthdays.

email_wishes_template.html

Template for birthday wishes emails that are created as drafts.

Custom Menu

The application includes a custom menu called "❤️ Birthday Reminder❤️" in the Google Sheets interface. This menu provides quick access to the following functions:

  • đź”” Activate: Sets up the time-based trigger to automate the birthday reminder system

  • ▶️ Run Now (Test): Manually executes the main function to test the application

  • đź“š Documentation: Opens documentation (this page) about how to use the application

The custom menu makes it easy for users to interact with the script functionality without needing to open the Apps Script editor.

Usage

  • Add people and their birthdates to the Birthdays sheet

  • Configure your preferences in the Settings sheet

  • Test it by selecting "Run Now (Test)" from the "❤️ Birthday Reminder❤️" menu

  • Activate it by selecting "Activate" from the "❤️ Birthday Reminder❤️" menu

  • The script will automatically run based on your settings

  • You'll receive email notifications about birthdays

  • For birthdays happening today, draft emails will be created that you can personalize and send

Customization

You can customize the application by:

  • Modifying the HTML templates to change the email appearance

  • Adjusting the settings in the Settings sheet

  • Adding additional functionality to the script

Troubleshooting

  • Ensure dates are properly formatted in the Birthdays sheet

  • Verify that the script has necessary permissions

  • Check the execution logs in the Apps Script editor for any errors

SUBSCRIBER EXCLUSIVE

Never Miss Important Birthdays: Advanced Reminder System

Save time and strengthen relationships with our enhanced template featuring daily summaries and pre-written birthday messages—all automated in Google Sheets.

Preview

DISCLAIMER: This content is provided for educational purposes only. All code, templates, and information should be thoroughly reviewed and tested before use. Use at your own risk. Full Terms of Service apply.

Small Scripts, Big Impact

Join 1,500+ professionals who are supercharging their productivity with Google Sheets automation

Exclusive Google Sheets automation tutorials and hands-on exercises
Ready-to-use scripts and templates that transform hours of manual work into seconds
Email updates with new automation tips and time-saving workflows

By subscribing, you agree to our Privacy Policy and Terms of Service