Skip to content
All Skills

Whatsapp Automation

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

Business, Marketing & Sales|v1|Updated 7/14/2026|GitHub source
MCP get_skill({ skillId: "whatsapp-automation-fa9c9de6" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# WhatsApp Automation

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

## Overview

This skill 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 Skill - Part of Claude Office Skills*
#work-life#office#productivity#business#documents#automation#claude-office-skills#internal#communicationswhatsapp-business-apiwhatsapp-mcp

Related Skills

More skills in Business, Marketing & Sales

Ab Testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics. For page-level conversion optimization, see cro.

#work-life#productivityMIT

Ab Test Setup

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

#work-life#productivityMIT

Ab Test Setup

Ab Test Setup linked from Corey Haines marketing skills, with the upstream skill instructions available on GitHub.

#work-life#productivityMIT

Ab Test Store Listing

When the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B test", "product page optimization", "test my screenshots", "test my icon", "conversion rate optimization", "CPP", or "custom product pages". For screenshot design, see screenshot-optimization. For metadata optimization, see metadata-optimization.

#work-life#productivityMIT

Account Research

Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with "research [company]", "look up [person]", "intel on [prospect]", "who is [name] at [company]", or "tell me about [company]".

#work-life#productivityApache-2.0

Account Research

Research a company using Common Room data. Triggers on 'research [company]', 'tell me about [domain]', 'pull up signals for [account]', 'what's going on with [company]', or any account-level question.

#work-life#productivityApache-2.0