- Home
- Guides
- Google Workspace
- How to send automated birthday emails from Google Sheets with Lido
How to send automated birthday emails from Google Sheets with Lido
Use a Google Sheet of contacts and Lido to check birthdays every day and send a personalized birthday email from Gmail to anyone whose birthday is today.
Jump to a step (9)
Small businesses that want to send customers or staff a birthday greeting usually rely on someone remembering to check a list. Birthdays get missed, and writing each email by hand takes time.
Your contacts live in a Google Sheet with first name, last name, email and birthday. Lido connects to that sheet and keeps it in sync. A formula column checks whether each birthday matches today's day and month, and a send column uses Lido's Gmail function to email only the rows where that check is true.
Lido then runs the send column on a daily schedule, so birthday emails go out without anyone touching the sheet.
What you need
- A Google account with Gmail and Google Sheets
- A Google Sheet with First Name, Last Name, Email and Birthday columns
- A Lido account (the video signs in with Google)
Step by step
0 of 9 done-
01
Build the birthday list in Google Sheets
Create a Google Sheet with the columns
First Name,Last Name,EmailandBirthday.To fill it quickly from Google Contacts, select your contacts, choose More actions > Export, keep the Google CSV format and select Export. Delete the columns you do not need and paste the rest into your sheet. If your contacts do not have a date of birth, add a birthday column by hand.
-
02
Sign in to Lido and create a file
Sign in to Lido with your Google account. Select the icon at the top left to see your files, open the new untitled spreadsheet and rename it
Automated Birthday Emails. -
03
Connect your Google Sheet
Copy the link of your Google Sheet. In Lido, select Connect data > Google Sheets, paste the link and select Connect to Google Sheets. Choose your Google account, continue through the permissions, then select Next, check the preview and select Add data.
The connection stays in sync. Edits and new rows in the Google Sheet show up in Lido after a refresh.
-
04
Add a birthday check column
Add a computed column and enter a formula that compares the day and month of the birthday with today's day and month. One formula that does this, with the birthday in column D, is:
=AND(DAY(D2)=DAY(TODAY()),MONTH(D2)=MONTH(TODAY()))Rows with a birthday today show
TRUE, all others showFALSE. Use Edit column to rename the header toCheck Birthday. -
05
Write the email subject and body
On a second worksheet, type the email subject and the email body in their own cells.
Back on the data sheet, add a computed column that points to the subject cell. Lock the reference with
$signs (or press F4) so every row uses the same cell, for example=Sheet2!$B$1. Rename itEmail Subject.In the body text, add the person's name as a placeholder in square brackets, such as
Hi [First Name],followed by your message. Press Ctrl+Enter to add line breaks. Then add another computed column that uses Lido's string template function on the body cell. Accept Lido's suggestion to lock the cell and apply the formula to all rows. Each row now has a personalized body. Rename itEmail Body. -
06
Connect Gmail and add the send column
Add a computed column and start typing
send. Choose the Gmail send function. The first time, select Add credentials > Connect to Gmail and sign in.Fill in the arguments the function hint asks for: your connected Gmail address, the recipient (the
Emailcell, such asC2), theEmail Subjectcell and theEmail Bodycell. You can also add CC, BCC or an attachment. Rename the columnSend Emails. -
07
Only send when it is their birthday
Wrap the send function in an
IFthat checks the birthday column, for example=IF(E2=TRUE, ...)with the send function in place of the dots. Now the send action only appears on rows whereCheck BirthdayisTRUE.Add a
Statuscolumn, then add the status cell (such asI2) as the argument after the body in the send function. Lido writes the send result there. Use Preview email from the column menu to check how the email looks. -
08
Test the send manually
Right-click a send cell and select Run action. The status column shows
Successand the email appears in your Gmail Sent folder.The free email includes a Lido branding line at the bottom. The video turns it off in Lido Settings.
-
09
Schedule the column to run daily
Open the menu on the
Send Emailsheader and select Run column on a schedule. Set it to run every day so it checks for birthdays once a day. (The video uses every 5 minutes only to demonstrate.)Lido refreshes the Google Sheet data on its own. If you change a birthday to today, the check turns
TRUEafter the next sync and the email is sent on the next run. You can also select Refresh data and run the action manually.
Tips and common problems
- Set the schedule to daily for birthday emails. A shorter interval could send the same person more than one email on their birthday.
- Lock the subject and body template cells with
$(or F4) so every row reads the same template. - Put the first name in square brackets inside the body template, like
[First Name], so each email is personalized. - Add a status cell argument to the send function so you can see which rows were emailed and whether it worked.
Questions
Can Google Sheets send birthday emails automatically?
Not on its own without a script. In this video, Lido connects to the Google Sheet, checks each birthday against today's date, and sends the emails through your Gmail account on a daily schedule.
How do I check if a birthday is today in a spreadsheet?
Compare the day and month of the birthday with today's, ignoring the year. For example =AND(DAY(D2)=DAY(TODAY()),MONTH(D2)=MONTH(TODAY())) returns TRUE when the date in D2 is someone's birthday today.
Can I personalize each birthday email with the person's name?
Yes. Put [First Name] in the body template and use Lido's string template function so each row fills in that person's first name.
