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¶
- Go to Settings → Custom Fields
- Create custom field (if not exists):
- Field Name:
birthdate - Field Type: Date
- Label: "Date of Birth"
- Populate birthdates for existing customers
Step 2: Create Workflow¶
- Go to Settings → Automation
- Click Add Workflow
- Configure:
- Name:
Birthday Wishes - WhatsApp - Description:
Send birthday messages automatically - Click Create Workflow
Step 3: Configure Client Date Trigger¶
- Click Add Task on canvas
- Select Client Date Trigger
- Configure:
- Date Field:
birthdate - Trigger When: Date equals today (birthday)
- Time: 09:00 AM (send in morning)
- Frequency: Once per year
- Filter Conditions:
- Phone number is not empty (ensures WhatsApp available)
- Status = Active
- 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

Step 4: Build Personalized Message¶
- Click Add Task after date trigger
- Select Variable
- Configure:
- Parent Task:
Check for Birthdays - Variable Name:
birthday_message - Value Type: Template
- 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 - Additional Variables:
discount_code=BDAY{{task_1001_age}}discount_amount={{task_1001_age}}expiry_date={{current_date + 7 days}}
- 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¶
- Click Add Task after Variable
- Select WhatsApp Business
- Configure:
- Parent Task:
Build Birthday Message - App Connection: Select your WhatsApp Business connection
- WABA ID: Your WhatsApp Business Account ID
- Phone Number ID: Your WhatsApp phone number
- Action: Send Template Message
- To:
{{task_1001_phone}} - Template:
birthday_greeting(create in WhatsApp Manager) - Template Language: en_US
- Template Parameters:
- 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

Step 6: Tag Customer¶
- Click Add Task after WhatsApp
- Select Edit Client
- Configure:
- Parent Task:
Send WhatsApp Birthday Wish - Client ID:
{{task_1001_client_id}} - Action: Add Tags
- Tags:
Birthday 2024, Birthday Message Sent - Custom Fields:
last_birthday_message={{current_date}}birthday_discount_code={{task_1002_discount_code}}
- 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¶
- Click Add Task after Edit Client
- Select Workflow Note
- Configure:
- Parent Task:
Tag Birthday Sent - Client ID:
{{task_1001_client_id}} - Note Type: Marketing
- Note:
- Task Name:
Log Birthday Message
Step 8: Test Workflow¶
Option 1: Test with Upcoming Birthday¶
- Find customer with birthday tomorrow
- Temporarily change birthdate to today
- Trigger workflow manually
- Verify message sent
- Restore original birthdate
Option 2: Use Test Customer¶
- Create test customer:
- Name: Test Birthday User
- Phone: Your WhatsApp number
- Birthdate: Today's date
- Run workflow
- Check WhatsApp for message
- 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

Expected Output¶
For Each Birthday Customer:¶
- ✅ WhatsApp message delivered within 1 minute
- ✅ Tagged with "Birthday 2024"
- ✅ Discount code generated and stored
- ✅ Activity logged in timeline
- ✅ 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
Related Workflows¶
- Facebook Lead Nurture - Multi-message sequences
- Lead Capture to CRM - Customer creation
- AI Email Routing - Automated messaging
Related Tasks¶
- Client Date Trigger - Date-based triggers
- WhatsApp Business - WhatsApp API
- Variable - Message building
- Edit Client - Customer tagging
- Workflow Note - Activity logging
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