{
  "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
          }
        ]
      ]
    }
  }
}