This workflow corresponds to n8n.io template #7936 — we link there as the canonical source.
This workflow follows the Gmail → Google Sheets 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 →
{
"id": "YvShKs1XBbEEboRO",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Workflow Note: Automated Birthday Discount for E-Commerce with Google Sheet & Gmail",
"tags": [],
"nodes": [
{
"id": "ce1fb25e-decc-4943-ae7c-cb16d6377344",
"name": "Daily Schedule",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
224,
224
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1
},
{
"id": "6ec3e314-e7d2-4548-936e-07d47a62e400",
"name": "Get Customer Data",
"type": "n8n-nodes-base.googleSheets",
"position": [
464,
224
],
"parameters": {
"operation": "getAll",
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "fdce0115-b0c4-4660-81aa-87f83075bf09",
"name": "Is It Their Birthday?",
"type": "n8n-nodes-base.if",
"position": [
704,
224
],
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{ $json.birthday }}",
"value2": "={{ $now.toFormat('MM-dd') }}"
}
]
}
},
"typeVersion": 1
},
{
"id": "62332fbf-d069-46e3-a19e-0d6c45bd588f",
"name": "Generate Discount Code",
"type": "n8n-nodes-base.function",
"position": [
944,
224
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b93688ae-975a-4278-9fa6-015ab3e9b7d9",
"name": "Send Birthday Email",
"type": "n8n-nodes-base.gmail",
"position": [
1184,
224
],
"parameters": {
"message": "Hi {{ $json.name }},\n\nHappy Birthday! We wanted to celebrate you with a special gift.\n\nHere is your unique discount code for 20% off your next order:\n\n{{ $json.discountCode }}\n\nEnjoy your day!\n\nBest regards,\nYour E-commerce Team",
"subject": "Happy Birthday! Here's a gift from us!",
"additionalFields": {}
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "b6f9b241-4f67-47d5-8c26-5a13b1587567",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
176
],
"parameters": {
"color": 3,
"width": 1232,
"height": 224,
"content": "## Flow"
},
"typeVersion": 1
},
{
"id": "89f14e7e-81a3-4206-b7e4-09cac5daf811",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
448
],
"parameters": {
"color": 4,
"width": 1232,
"height": 1072,
"content": "# \u2699 Workflow Note: Automated Birthday Discount for E-Commerce\n\n---\n\n## **Problem**\nMany e-commerce businesses miss the opportunity to create a personal connection with their customers. Sending a special birthday offer is a powerful way to build loyalty and increase sales, but doing this manually for every customer is time-consuming and prone to human error. Without an automated system, these valuable marketing moments are often overlooked.\n\n## **Solution**\nThis simple but effective n8n workflow solves this problem by automating the entire birthday outreach process. The system runs daily, checks your customer database for birthdays, generates a unique discount code, and sends a personalized email to the customer on their special day. This ensures a timely, thoughtful gesture without any manual effort.\n\n## **For Whom**\nThis workflow is perfect for **e-commerce store owners, small businesses, and marketing teams** who want to increase customer retention and sales through personalized marketing. It is especially valuable for those who have a growing customer list and need to scale their customer engagement efforts efficiently.\n\n## **Scope**\n* **What it includes:**\n * A daily scheduled check to scan your customer list.\n * Automated lookup of customers celebrating their birthday on the current day.\n * Automatic generation of a unique, single-use discount code.\n * Personalized email delivery of the birthday message and discount code.\n\n* **What it excludes:**\n * Integration with your e-commerce platform's coupon system (the code generation is a placeholder and would require manual creation in your platform's backend).\n * Advanced segmentation (e.g., sending different offers to different customer tiers).\n * Follow-up emails or drip campaigns.\n\n## \u2699 **How to Set Up**\n\n1. **Prerequisites:** You will need an n8n instance, a **Google Sheets** spreadsheet with customer data (including a 'birthday' column in 'MM-dd' format), and a **Gmail** account.\n2. **Workflow Import:** Import the provided JSON file into your n8n instance.\n3. **Credential Configuration:**\n * Set up credentials for **Google Sheets** and **Gmail** within n8n.\n4. **Node-Specific Configuration:**\n * **`Daily Schedule`:** No changes needed. It is pre-configured to run every day at 9 AM.\n * **`Get Customer Data`:** Input the **Spreadsheet ID** and **Sheet Name** of your customer database.\n * **`Is It Their Birthday?`:** Ensure the value in `value1` `={{ $json.birthday }}` matches the name of your birthday column in Google Sheets.\n * **`Send Birthday Email`:** Customize the **`fromEmail`** and the body of the email to match your brand's voice.\n5. **Activation:** After all configurations are complete, click **\"Save\"** and then **\"Active\"**. The workflow will now run every day to delight your customers."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "55533bfd-b195-447d-987c-7f248288c5ae",
"connections": {
"Daily Schedule": {
"main": [
[
{
"node": "Get Customer Data",
"type": "main",
"index": 0
}
]
]
},
"Get Customer Data": {
"main": [
[
{
"node": "Is It Their Birthday?",
"type": "main",
"index": 0
}
]
]
},
"Is It Their Birthday?": {
"main": [
[
{
"node": "Generate Discount Code",
"type": "main",
"index": 0
}
]
]
},
"Generate Discount Code": {
"main": [
[
{
"node": "Send Birthday Email",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
gmailOAuth2googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow is a powerful yet simple automation to delight your customers on their birthdays. It runs every day on a schedule you define and automatically pulls data from your customer list on Google Sheets. The workflow then checks to see if any customer has a birthday on the…
Source: https://n8n.io/workflows/7936/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
YOUR_ID 4. Uses gmail, googleDrive, googleSheets, httpRequest. Scheduled trigger; 53 nodes.
Looking for a way to track GitHub bounty issues automatically and get notified in real time? This GitHub Bounty Tracker workflow monitors repositories for issues labeled 💎 Bounty, logs them in Google
This workflow automatically sends a beautifully designed HTML newsletter every Sunday at 8 AM, featuring products currently on sale from your Algolia-powered e-commerce store.
This n8n template demonstrates how to build a Auto Lead Gen & Outreach System for Local Businesses specifically designed to help businesses that don’t have a website yet.
The workflow is triggered automatically every day at 12:00 PM using a Cron node.