Skip to content

Birthday Automation Workflow

Send personalized WhatsApp birthday messages automatically to your customers


Overview

This intermediate workflow demonstrates how to use date triggers to automatically send birthday wishes via WhatsApp Business, creating personal connections at scale.

What You'll Build: - Daily check for customer birthdays - Send personalized WhatsApp message - Optional: Include birthday discount code - Log birthday interaction - Tag customers for birthday campaign

Real-World Applications: - Customer birthday wishes - Contract renewal reminders - Subscription anniversary messages - Membership expiry notifications - Warranty expiration alerts


Workflow Diagram

graph LR
    A[Client Date Trigger<br/>Birthday Today] --> B[Variable<br/>Create Message]
    B --> C[WhatsApp Business<br/>Send Message]
    C --> D[Edit Client<br/>Add Tag]
    D --> E[Workflow Note<br/>Log Birthday]
    E --> F[End]

Tasks Used

Order Task Type Purpose Difficulty
1 Client Date Trigger Check for birthdays daily ⭐⭐ Intermediate
2 Variable Build personalized message ⭐ Beginner
3 WhatsApp Business Send birthday wish ⭐⭐ Intermediate
4 Edit Client Tag customer ⭐ Beginner
5 Workflow Note Log interaction ⭐ Beginner

Total Setup Time: 20 minutes
Skill Level: Intermediate
Prerequisites: WhatsApp Business API configured, customer birthdate custom field


Step-by-Step Setup

Step 1: Ensure Birthday Field Exists

  1. Go to Settings → Custom Fields
  2. Create custom field (if not exists):
  3. Field Name: birthdate
  4. Field Type: Date
  5. Label: "Date of Birth"
  6. Populate birthdates for existing customers

Step 2: Create Workflow

  1. Go to Settings → Automation
  2. Click Add Workflow
  3. Configure:
  4. Name: Birthday Wishes - WhatsApp
  5. Description: Send birthday messages automatically
  6. Click Create Workflow

Step 3: Configure Client Date Trigger

  1. Click Add Task on canvas
  2. Select Client Date Trigger
  3. Configure:
  4. Date Field: birthdate
  5. Trigger When: Date equals today (birthday)
  6. Time: 09:00 AM (send in morning)
  7. Frequency: Once per year
  8. Filter Conditions:
    • Phone number is not empty (ensures WhatsApp available)
    • Status = Active
  9. Task Name: Check for Birthdays

What This Does: - Runs daily at 9 AM - Checks all customers for birthdate matching today - Only includes customers with phone numbers - Triggers once per customer per year

Output Variables:

{{task_1001_client_id}}          // Customer ID
{{task_1001_client_name}}        // Full name
{{task_1001_client_email}}       // Email
{{task_1001_phone}}              // Phone number
{{task_1001_company}}            // Company name
{{task_1001_birthdate}}          // Date of birth
{{task_1001_age}}                // Calculated age

Client Date Trigger Configuration


Step 4: Build Personalized Message

  1. Click Add Task after date trigger
  2. Select Variable
  3. Configure:
  4. Parent Task: Check for Birthdays
  5. Variable Name: birthday_message
  6. Value Type: Template
  7. Template:
    🎉 Happy Birthday {{task_1001_client_name}}! 🎂
    
    Wishing you a fantastic day filled with joy and celebration!
    
    As a birthday gift, here's a special discount code just for you:
    **BDAY{{task_1001_age}}** - Get {{task_1001_age}}% off your next purchase!
    
    Valid for the next 7 days.
    
    Cheers to another amazing year! 🥳
    
    - The {{company_name}} Team
    
  8. Additional Variables:
    • discount_code = BDAY{{task_1001_age}}
    • discount_amount = {{task_1001_age}}
    • expiry_date = {{current_date + 7 days}}
  9. Task Name: Build Birthday Message

Personalization Options: - Use customer name - Include age-based discount - Add company name - Reference past purchases - Include product recommendations

Output:

{{task_1002_birthday_message}}   // Formatted message
{{task_1002_discount_code}}      // Generated code
{{task_1002_discount_amount}}    // Percentage off
{{task_1002_expiry_date}}        // Code expiration


Step 5: Send WhatsApp Message

  1. Click Add Task after Variable
  2. Select WhatsApp Business
  3. Configure:
  4. Parent Task: Build Birthday Message
  5. App Connection: Select your WhatsApp Business connection
  6. WABA ID: Your WhatsApp Business Account ID
  7. Phone Number ID: Your WhatsApp phone number
  8. Action: Send Template Message
  9. To: {{task_1001_phone}}
  10. Template: birthday_greeting (create in WhatsApp Manager)
  11. Template Language: en_US
  12. Template Parameters:
    [
      {"type": "text", "text": "{{task_1001_client_name}}"},
      {"type": "text", "text": "{{task_1002_discount_code}}"},
      {"type": "text", "text": "{{task_1002_discount_amount}}"}
    ]
    
  13. Task Name: Send WhatsApp Birthday Wish

WhatsApp Template Setup:

Before using this workflow, create template in Meta Business Manager → WhatsApp → Message Templates:

Template Name: birthday_greeting

Template Body:

🎉 Happy Birthday {{1}}! 🎂

Wishing you a fantastic day!

Here's your birthday gift: {{2}} for {{3}}% off!

Valid for 7 days.

Cheers! 🥳
- The Team

Category: Marketing
Language: English

WhatsApp Template Configuration


Step 6: Tag Customer

  1. Click Add Task after WhatsApp
  2. Select Edit Client
  3. Configure:
  4. Parent Task: Send WhatsApp Birthday Wish
  5. Client ID: {{task_1001_client_id}}
  6. Action: Add Tags
  7. Tags: Birthday 2024, Birthday Message Sent
  8. Custom Fields:
    • last_birthday_message = {{current_date}}
    • birthday_discount_code = {{task_1002_discount_code}}
  9. Task Name: Tag Birthday Sent

What This Does: - Tags customer for segmentation - Tracks when birthday message was sent - Stores discount code for reference - Enables birthday campaign reporting


Step 7: Log Birthday Interaction

  1. Click Add Task after Edit Client
  2. Select Workflow Note
  3. Configure:
  4. Parent Task: Tag Birthday Sent
  5. Client ID: {{task_1001_client_id}}
  6. Note Type: Marketing
  7. Note:
    🎂 Birthday Message Sent via WhatsApp
    
    Message: {{task_1002_birthday_message}}
    
    Discount Code: {{task_1002_discount_code}} ({{task_1002_discount_amount}}% off)
    Expiry: {{task_1002_expiry_date}}
    
    WhatsApp Status: {{task_1003_status}}
    Message ID: {{task_1003_message_id}}
    
  8. Task Name: Log Birthday Message

Step 8: Test Workflow

Option 1: Test with Upcoming Birthday

  1. Find customer with birthday tomorrow
  2. Temporarily change birthdate to today
  3. Trigger workflow manually
  4. Verify message sent
  5. Restore original birthdate

Option 2: Use Test Customer

  1. Create test customer:
  2. Name: Test Birthday User
  3. Phone: Your WhatsApp number
  4. Birthdate: Today's date
  5. Run workflow
  6. Check WhatsApp for message
  7. Delete test customer

Expected Results: 1. ✅ Workflow triggers at 9 AM daily 2. ✅ WhatsApp message delivered 3. ✅ Customer tagged appropriately 4. ✅ Birthday logged in timeline 5. ✅ Discount code stored

Birthday Workflow Execution


Expected Output

For Each Birthday Customer:

  1. WhatsApp message delivered within 1 minute
  2. Tagged with "Birthday 2024"
  3. Discount code generated and stored
  4. Activity logged in timeline
  5. Read receipts tracked (if enabled)

Daily Processing: - Checks all customers every morning at 9 AM - Sends messages only to customers with birthdays today - Runs automatically without manual intervention


Common Issues & Solutions

Issue: No customers triggered

Cause: Birthdate field not populated or date format incorrect

Solution: 1. Verify custom field name is exactly birthdate 2. Check date format: YYYY-MM-DD 3. Ensure at least some customers have birthdates 4. Test with customer birthday set to today 5. Check filter conditions (phone number required)


Issue: WhatsApp template rejected

Cause: Template not approved by Meta

Solution: 1. Submit template for approval in WhatsApp Manager 2. Wait 24-48 hours for approval 3. Ensure template follows WhatsApp guidelines: - No personalization in header - Clear opt-out instructions - No prohibited content 4. Use pre-approved template initially


Issue: Message sent but not received

Cause: Phone number format or WhatsApp registration

Solution: 1. Verify phone in E.164 format: +27821234567 2. Confirm customer has WhatsApp installed 3. Check they haven't blocked your business number 4. Test with your own WhatsApp number first 5. Review WhatsApp Business API logs


Issue: Workflow running multiple times per customer

Cause: Frequency setting incorrect

Solution: 1. Ensure "Frequency: Once per year" is set 2. Check workflow isn't duplicated 3. Verify date trigger configuration 4. Add custom field tracking: last_birthday_message_year


Issue: Discount codes conflicting

Cause: Same code generated for multiple customers

Solution: Use more unique code generation:

{{task_1002_discount_code}} = BDAY{{task_1001_client_id}}{{task_1001_age}}
Example: BDAY123445 (client ID 1234, age 45)


Workflow Enhancements

Add SMS Fallback

If WhatsApp fails, send SMS:

After WhatsApp task, add If Condition:
If {{task_1003_status}} not equals sent:
  Then SMS task with birthday message

Add Email Option

Send birthday email in addition to WhatsApp:

Add Email task after WhatsApp:
Subject: 🎉 Happy Birthday {{task_1001_client_name}}!
Body: (use same message template)
Attach: Birthday discount coupon PDF

Add Birthday Week Countdown

Send preview message 3 days before:

Add another Client Date Trigger:
Date equals: birthdate minus 3 days
Message: Your birthday is coming up! 🎉

Track Discount Code Usage

Add webhook listener for discount redemption:

When code used:
  - Update customer field: birthday_code_redeemed = true
  - Send thank you WhatsApp
  - Add "Birthday Convert" tag

Create Birthday Report

Use Timer Trigger (monthly):

1. MySQL Query: Count birthday messages sent
2. Google Sheets: Log monthly stats
3. Email: Send summary to marketing team




Next Steps

You've automated birthday wishes!

Try these enhancements: 1. Add anniversary reminders (signup date, first purchase) 2. Create age-based campaigns (21st birthday special offer) 3. Send follow-up if discount code not used after 3 days 4. Build VIP birthday experience for high-value customers 5. Add birthday month email at start of month

Need help? Check Date Triggers Guide or WhatsApp Best Practices