Home
cd ../playbooks
CommunicationsAdvanced

WhatsApp Business Automation

WhatsApp Business automation - customer support, notifications, chatbots, and broadcast messaging

10 minutes
By communitySource
#whatsapp#business#chatbot#customer-support#automation

Your customer support team manually responds to hundreds of WhatsApp messages daily while broadcast updates go out one-by-one. This playbook automates WhatsApp Business workflows — chatbot responses, customer support routing, notification sequences, and broadcast messaging at scale.

Who it's for: small business owners managing customer communication through WhatsApp Business, customer support teams handling high-volume WhatsApp inquiries that need automation, marketing managers building WhatsApp broadcast campaigns for customer engagement, e-commerce businesses automating order status notifications via WhatsApp, service businesses building automated booking and appointment reminders through WhatsApp

Example

"Automate our WhatsApp customer support and order notifications" → WhatsApp pipeline: chatbot setup for common FAQ responses and order inquiries, customer support routing for complex questions to human agents, automated order confirmation and shipping notification messages, broadcast campaign system for promotions and announcements, and conversation analytics tracking response times and resolution rates

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

# WhatsApp Automation

Automate WhatsApp Business communications including customer support, notifications, chatbots, and broadcast messaging. Based on n8n's WhatsApp integration templates.

## Overview

This workflow covers:
- WhatsApp Business API setup
- Automated chatbot flows
- Order/shipping notifications
- Customer support automation
- Broadcast messaging

---

## Setup & Configuration

### WhatsApp Business API

```yaml
setup_requirements:
  1. meta_business_account:
      - Create at business.facebook.com
      - Verify business
      
  2. whatsapp_business_api:
      - Access through Meta Developer Portal
      - Create WhatsApp Business App
      - Get Phone Number ID
      - Get Access Token
      
  3. webhook_configuration:
      - Set callback URL
      - Verify token
      - Subscribe to messages
      
  4. message_templates:
      - Create templates in Business Manager
      - Wait for approval (24-48h)
```

### Message Templates

```yaml
template_categories:
  transactional:
    - order_confirmation
    - shipping_update
    - delivery_notification
    - appointment_reminder
    
  marketing:
    - promotional_offer
    - product_launch
    - newsletter
    
  utility:
    - account_verification
    - password_reset
    - payment_reminder
    
template_example:
  name: "order_confirmation"
  language: "en"
  category: "TRANSACTIONAL"
  components:
    - type: HEADER
      format: TEXT
      text: "Order Confirmed! šŸŽ‰"
      
    - type: BODY
      text: |
        Hi {{1}},
        
        Your order #{{2}} has been confirmed!
        
        Items: {{3}}
        Total: {{4}}
        
        We'll notify you when it ships.
        
    - type: FOOTER
      text: "Reply HELP for support"
      
    - type: BUTTONS
      buttons:
        - type: URL
          text: "Track Order"
          url: "https://example.com/track/{{1}}"
```

---

## Chatbot Flows

### Customer Support Bot

```yaml
chatbot_flow:
  name: "Customer Support"
  
  welcome:
    trigger: first_message
    response: |
      šŸ‘‹ Welcome to {Company} Support!
      
      How can I help you today?
      
      1ļøāƒ£ Track Order
      2ļøāƒ£ Return/Exchange
      3ļøāƒ£ Product Questions
      4ļøāƒ£ Speak to Agent
      
      Reply with a number to continue.
      
  flows:
    track_order:
      trigger: "1" OR "track" OR "order"
      steps:
        - ask: "Please enter your order number:"
        - validate: order_number_format
        - lookup: order_status
        - respond: |
            šŸ“¦ *Order #{order_number}*
            
            Status: {status}
            {if_shipped: Tracking: {tracking_number}}
            Estimated delivery: {eta}
            
            [Track Package]({tracking_url})
            
    return_exchange:
      trigger: "2" OR "return" OR "exchange"
      steps:
        - ask: "Order number for return?"
        - check: return_eligibility
        - if_eligible:
            respond: return_instructions
        - if_not:
            respond: contact_support
            
    product_questions:
      trigger: "3" OR "product" OR "question"
      steps:
        - ai_response:
            model: gpt-4
            context: product_faq_knowledge_base
            
    agent_handoff:
      trigger: "4" OR "agent" OR "human"
      steps:
        - check: agent_availability
        - if_available:
            transfer: to_live_agent
            notify: "#support-queue"
        - if_unavailable:
            respond: "Our team is currently unavailable. Leave a message and we'll get back to you within 24 hours."
            create: support_ticket
```

### AI-Powered Responses

```yaml
ai_chatbot:
  model: gpt-4
  
  system_prompt: |
    You are a WhatsApp customer support agent for {Company}.
    
    Guidelines:
    - Be helpful and friendly
    - Keep responses concise (WhatsApp prefers short messages)
    - Use emojis appropriately
    - If you can't help, offer to connect with a human agent
    - Never make up information about orders or products
    
    You have access to:
    - Order lookup
    - Product catalog
    - FAQ knowledge base
    
  tools:
    - lookup_order: by order number
    - search_products: by keyword
    - check_inventory: by product id
    - create_ticket: for complex issues
    
  escalation_triggers:
    - sentiment: very_negative
    - keywords: ["complaint", "refund", "angry", "sue"]
    - loop_detected: same_question_3x
```

---

## Notification Workflows

### Order Notifications

```yaml
order_notifications:
  order_placed:
    trigger: shopify_order_created
    template: order_confirmation
    variables:
      - customer_name
      - order_number
      - items_summary
      - total_amount
      
  payment_received:
    trigger: payment_captured
    message: |
      āœ… Payment received for order #{order_number}!
      
      Amount: {amount}
      
      We're preparing your order now.
      
  shipped:
    trigger: fulfillment_created
    template: shipping_update
    variables:
      - tracking_number
      - carrier
      - estimated_delivery
      
  out_for_delivery:
    trigger: tracking_status_change
    condition: status == "out_for_delivery"
    message: |
      🚚 Your order is out for delivery!
      
      Expected today by {eta}.
      
      Track live: {tracking_url}
      
  delivered:
    trigger: tracking_status_change
    condition: status == "delivered"
    message: |
      šŸ“¦ Your order has been delivered!
      
      We hope you love it! 
      
      [Leave a Review]({review_url})
      [Need Help?]({support_url})
```

### Appointment Reminders

```yaml
appointment_reminders:
  schedule:
    - 24_hours_before
    - 1_hour_before
    
  template: appointment_reminder
  
  24h_message: |
    šŸ“… *Appointment Reminder*
    
    Hi {name},
    
    You have an appointment tomorrow:
    
    šŸ“ {location}
    šŸ• {time}
    šŸ‘¤ {provider}
    
    Reply:
    āœ… CONFIRM to confirm
    āŒ CANCEL to cancel
    šŸ“… RESCHEDULE to change time
    
  1h_message: |
    ā° Your appointment is in 1 hour!
    
    {provider} at {location}
    
    See you soon!
```

---

## Broadcast Messaging

### Campaign Management

```yaml
broadcast_campaigns:
  setup:
    - import_contacts: from_crm
    - segment_audience: by_criteria
    - create_template: get_approval
    - schedule_send
    
  targeting_options:
    - all_contacts
    - by_tag: [vip, new_customer, inactive]
    - by_purchase_history
    - by_location
    - custom_segment
    
  compliance:
    - opt_in_required: true
    - opt_out_easy: reply_STOP
    - frequency_limits: per_contact_per_day
    - quiet_hours: respect_timezone
    
  tracking:
    - delivered
    - read
    - replied
    - clicked_link
    - opted_out
```

### Campaign Templates

```yaml
campaign_templates:
  promotional:
    template: |
      šŸŽ‰ *Special Offer for You!*
      
      Hi {name},
      
      {offer_description}
      
      Use code: {promo_code}
      Valid until: {expiry}
      
      [Shop Now]({url})
      
      Reply STOP to unsubscribe
      
  product_launch:
    template: |
      šŸš€ *New Arrival Alert*
      
      {name}, check out our latest:
      
      {product_name}
      {product_description}
      
      {price}
      
      [View Product]({url})
      
  reengagement:
    template: |
      šŸ‘‹ *We Miss You, {name}!*
      
      It's been a while since your last visit.
      
      Here's 15% off to welcome you back:
      
      Code: COMEBACK15
      
      [Shop Now]({url})
```

---

## n8n Integration

### Workflow Example

```yaml
workflow: "WhatsApp Order Bot"

nodes:
  - name: "WhatsApp Trigger"
    type: "n8n-nodes-base.whatsAppTrigger"
    parameters:
      events: ["messages"]
      
  - name: "Parse Message"
    type: "n8n-nodes-base.code"
    parameters:
      code: |
        const message = $input.first().json;
        return {
          from: message.from,
          text: message.text.body,
          type: message.type
        };
        
  - name: "AI Response"
    type: "n8n-nodes-base.openAi"
    parameters:
      model: "gpt-4"
      messages: [
        { role: "system", content: "..." },
        { role: "user", content: "{{ $json.text }}" }
      ]
      
  - name: "Send Reply"
    type: "n8n-nodes-base.whatsApp"
    parameters:
      operation: "sendMessage"
      phoneNumberId: "{{ $env.WHATSAPP_PHONE_ID }}"
      recipientPhoneNumber: "{{ $json.from }}"
      message: "{{ $json.response }}"
```

---

## Output Example

**Request**: "Create WhatsApp order notification flow"

**Output**:

```markdown
# WhatsApp Order Notifications

## Message Templates (Need Meta Approval)

### 1. Order Confirmation
```
Hi {{1}}! šŸŽ‰

Your order #{{2}} is confirmed!

Items: {{3}}
Total: {{4}}

We'll update you when it ships.

[Track Order]({{5}})
```

### 2. Shipping Update
```
šŸ“¦ Your order is on the way!

Order: #{{1}}
Carrier: {{2}}
Tracking: {{3}}

Expected delivery: {{4}}

[Track Package]({{5}})
```

### 3. Delivered
```
āœ… Delivered!

Your order #{{1}} has arrived.

Love it? Leave a review!
Need help? Reply to this message.

[Review]({{2}})
```

## n8n Workflow

```yaml
trigger: Shopify Order Created
steps:
  1. Get customer phone
  2. Format order details
  3. Send WhatsApp template
  4. Log to CRM
```

## Automation Rules

- Order placed → Confirmation (immediate)
- Shipped → Tracking (immediate)
- Out for delivery → Alert (immediate)
- Delivered → Review request (1 day later)
```

---

*WhatsApp Automation Workflow - Part of Claude Code*
README.md

What This Does

Automate WhatsApp Business communications including customer support, notifications, chatbots, and broadcast messaging. Based on n8n's WhatsApp integration templates.


Quick Start

Step 1: Create a Project Folder

mkdir -p ~/Documents/WhatsappAutomation

Step 2: Download the Template

Click Download above, then:

mv ~/Downloads/CLAUDE.md ~/Documents/WhatsappAutomation/

Step 3: Start Working

cd ~/Documents/WhatsappAutomation
claude

Examples

Request: "Create WhatsApp order notification flow"

Output:

# WhatsApp Order Notifications

$Related Playbooks