Latenode

Automatically send personalized birthday emails from Gmail based on Google Sheets data

This template runs on a schedule, reads your client birthday sheet in Google Sheets, and keeps the rows whose birthday is today.

JavaScript builds a short personalized message from name and any extra columns you map. Gmail sends each one. Connect Google Sheets and Gmail, then point the sheet at columns for name, email, and birthday.

Updated Sep 16, 2026Est. run: 6sEst. cost: $0.0004
How Latenode estimates time and cost

Latenode bills workflow runtime in CPU seconds. The first 10,000 CPU seconds are free each month, then usage follows pay-as-you-go CPU-second pricing. Plug-and-Play (PnP) AI nodes are billed separately—each PnP token is $1 USD, charged pay-as-you-go at vendor cost plus a small processing fee, with no API keys required.

Full pricing — how CPU seconds work →

Workflow preview

What this template does

  • Sends birthday Gmail on the morning it is due
  • Reads the list from Google Sheets
  • Personalizes each message from the row
  • Skips everyone whose birthday is not today

How it works

1
Trigger

Run on a schedule

The scenario starts each morning on the cadence you set.

2
Action

Read the birthday sheet

Google Sheets returns name, email, and birthday for each row.

3
Logic

Keep today's birthdays

JavaScript keeps rows whose birthday month and day match today and writes a short message for each person.

4
Action

Send Gmail

Gmail sends the personalized birthday email from the connected mailbox.

Setup guide

1

Connect Google Sheets

Add a Google Sheets connection with access to the spreadsheet that lists name, email, and birthday.

2

Connect Gmail

Add a Gmail connection for the mailbox that should send the greetings.

3

Set the schedule and sheet

Add a schedule for each morning. On Google Sheets, get values from the birthday worksheet.

4

Map name, email, and birthday

In JavaScript, compare month and day to today, then map name and message into Gmail send email. Test with a row whose birthday is today.

Requirements

A Google Sheet with columns for name, email, and birthday
A Gmail mailbox Latenode can send from
Google Sheets and Gmail credentials stored on those connections

FAQ

Common questions about this template

Each run uses credits on your Latenode plan. We charge for processing time (1 credit = 30 seconds). Your actual cost depends on your plan and how long the run takes. See pricing plans for plans and how credits work.