Skip to content
All Skills

WooCommerce Automation

Automate WooCommerce e-commerce operations including orders, inventory, customers, and marketing

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

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# WooCommerce Automation

Comprehensive skill for automating WooCommerce store operations and workflows.

## Core Workflows

### 1. Order Processing Pipeline

```
ORDER FLOW:
┌─────────────────┐
│  New Order      │
│  Received       │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Validate       │
│  - Payment      │
│  - Inventory    │
│  - Fraud check  │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Process        │
│  - Confirm      │
│  - Reserve stock│
│  - Notify       │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Fulfill        │
│  - Pick & pack  │
│  - Ship         │
│  - Track        │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Complete       │
│  - Deliver      │
│  - Follow-up    │
└─────────────────┘
```

### 2. Order Status Automations

```yaml
order_automations:
  - trigger: order_placed
    conditions:
      payment_status: completed
    actions:
      - set_status: processing
      - send_email: order_confirmation
      - create_fulfillment_task
      - update_inventory
      
  - trigger: order_shipped
    actions:
      - set_status: shipped
      - send_email: shipping_notification
      - add_tracking_note
      
  - trigger: order_delivered
    actions:
      - set_status: completed
      - schedule_review_request:
          delay: 7_days
      - update_customer_stats
      
  - trigger: payment_failed
    actions:
      - set_status: on-hold
      - send_email: payment_failed
      - create_followup_task
```

## Product Management

### Inventory Sync

```yaml
inventory_sync:
  sources:
    - name: warehouse_a
      type: api
      sync_frequency: "*/15 * * * *"  # Every 15 min
      
    - name: supplier_feed
      type: ftp
      file_pattern: "inventory_*.csv"
      sync_frequency: "0 */4 * * *"  # Every 4 hours
      
  rules:
    - condition: quantity <= low_stock_threshold
      actions:
        - set_stock_status: "onbackorder"
        - send_alert: low_stock
        - create_purchase_order
        
    - condition: quantity == 0
      actions:
        - set_stock_status: "outofstock"
        - hide_from_catalog: false
        - show_back_in_stock_form: true
```

### Product Data Structure

```yaml
product_template:
  name: "{{product_name}}"
  type: "simple"  # simple, variable, grouped, external
  
  general:
    regular_price: "{{price}}"
    sale_price: "{{sale_price}}"
    sku: "{{sku}}"
    
  inventory:
    manage_stock: true
    stock_quantity: "{{quantity}}"
    backorders: "notify"
    low_stock_threshold: 5
    
  shipping:
    weight: "{{weight}}"
    dimensions:
      length: "{{length}}"
      width: "{{width}}"
      height: "{{height}}"
    shipping_class: "{{shipping_class}}"
    
  attributes:
    - name: "Color"
      values: ["Red", "Blue", "Green"]
      visible: true
      variation: true
    - name: "Size"
      values: ["S", "M", "L", "XL"]
      visible: true
      variation: true
      
  categories: ["{{category}}"]
  tags: ["{{tags}}"]
  images:
    - src: "{{image_url}}"
      alt: "{{image_alt}}"
```

### Bulk Product Updates

```yaml
bulk_operations:
  - name: price_increase
    filter:
      category: "electronics"
      stock_status: "instock"
    action:
      update_price:
        type: percentage
        value: 10
        
  - name: sale_promotion
    filter:
      tag: "summer_sale"
    action:
      set_sale_price:
        discount: 25
        schedule:
          start: "2024-06-01"
          end: "2024-06-30"
          
  - name: update_shipping
    filter:
      weight_greater_than: 5
    action:
      set_shipping_class: "heavy_items"
```

## Customer Management

### Customer Segments

```yaml
customer_segments:
  - name: vip_customers
    criteria:
      total_spent: ">= 1000"
      order_count: ">= 5"
    actions:
      - assign_role: "vip_customer"
      - apply_discount: 15
      - send_vip_welcome
      
  - name: at_risk
    criteria:
      last_order: "> 90 days"
      total_spent: ">= 200"
    actions:
      - add_tag: "at_risk"
      - send_win_back_campaign
      
  - name: first_time_buyers
    criteria:
      order_count: 1
      registered: "< 30 days"
    actions:
      - send_onboarding_series
      - offer_second_purchase_discount
```

### Customer Lifecycle Emails

```yaml
email_automation:
  welcome_series:
    - delay: 0
      template: welcome_email
      subject: "Welcome to {{store_name}}!"
      
    - delay: 3_days
      template: product_highlights
      subject: "Our Best Sellers You'll Love"
      
    - delay: 7_days
      template: first_purchase_offer
      subject: "Special Offer: 10% Off Your First Order"
      
  post_purchase:
    - delay: 0
      trigger: order_completed
      template: order_confirmation
      
    - delay: 3_days
      template: shipping_update
      condition: order_status == "shipped"
      
    - delay: 14_days
      template: review_request
      condition: order_status == "completed"
      
  win_back:
    - delay: 30_days
      condition: no_order_since
      template: miss_you_email
      subject: "We Miss You! Here's 15% Off"
      
    - delay: 60_days
      condition: no_order_since
      template: last_chance
      subject: "Last Chance: 20% Off Just for You"
```

## Marketing Automation

### Coupon Management

```yaml
coupon_automations:
  - name: birthday_coupon
    trigger: customer_birthday
    coupon:
      type: percent
      amount: 20
      individual_use: true
      usage_limit: 1
      expiry: 30_days
    notification:
      email_template: birthday_coupon
      
  - name: abandoned_cart_coupon
    trigger: cart_abandoned
    delay: 24_hours
    coupon:
      type: percent
      amount: 10
      minimum_amount: 50
      expiry: 7_days
    notification:
      email_template: abandoned_cart
      
  - name: loyalty_reward
    trigger: order_count_reached
    threshold: 10
    coupon:
      type: fixed_cart
      amount: 25
      individual_use: true
```

### Cart Recovery

```yaml
cart_recovery:
  triggers:
    - cart_abandoned_minutes: 60
    - cart_value_minimum: 30
    
  sequence:
    - delay: 1_hour
      template: cart_reminder_1
      subject: "You left something behind..."
      include_cart_items: true
      
    - delay: 24_hours
      template: cart_reminder_2
      subject: "Your cart is waiting"
      include_discount: false
      
    - delay: 72_hours
      template: cart_reminder_3
      subject: "Last chance + 10% off"
      include_discount: true
      discount_code: "COMEBACK10"
```

## Analytics & Reporting

### Sales Dashboard

```
SALES OVERVIEW - LAST 30 DAYS
═══════════════════════════════════════

Revenue:      $45,230 (+12.5%)
Orders:       892 (+8.3%)
AOV:          $50.70 (+3.9%)
Conversion:   3.2% (+0.4%)

TOP PRODUCTS:
┌────────────────────────┬────────┬─────────┐
│ Product                │ Sold   │ Revenue │
├────────────────────────┼────────┼─────────┤
│ Premium Widget         │ 245    │ $12,250 │
│ Standard Package       │ 189    │ $7,560  │
│ Deluxe Bundle          │ 156    │ $9,360  │
└────────────────────────┴────────┴─────────┘

SALES BY CHANNEL:
Direct      ██████████████░░ 65%
Organic     ████████░░░░░░░░ 22%
Paid        ████░░░░░░░░░░░░ 10%
Referral    █░░░░░░░░░░░░░░░ 3%
```

### Inventory Report

```yaml
inventory_report:
  metrics:
    - total_products: 1,234
    - in_stock: 1,089
    - out_of_stock: 98
    - low_stock: 47
    
  alerts:
    - type: out_of_stock
      products: 98
      action: reorder_required
      
    - type: low_stock
      products: 47
      threshold_days: 14
      
    - type: overstock
      products: 23
      recommendation: run_promotion
```

## API Integration Examples

### WooCommerce REST API

```javascript
// Create Order
const order = {
  payment_method: "bacs",
  payment_method_title: "Direct Bank Transfer",
  set_paid: true,
  billing: {
    first_name: "John",
    last_name: "Doe",
    email: "john@example.com",
    address_1: "123 Main St",
    city: "San Francisco",
    state: "CA",
    postcode: "94103",
    country: "US"
  },
  line_items: [
    {
      product_id: 93,
      quantity: 2
    }
  ],
  shipping_lines: [
    {
      method_id: "flat_rate",
      method_title: "Flat Rate",
      total: "10.00"
    }
  ]
};

// Update Product Stock
const updateStock = {
  stock_quantity: 100,
  manage_stock: true
};

// Create Coupon
const coupon = {
  code: "SAVE20",
  discount_type: "percent",
  amount: "20",
  individual_use: true,
  exclude_sale_items: true,
  minimum_amount: "50.00"
};
```

## Best Practices

1. **Automate Status Updates**: Keep customers informed
2. **Sync Inventory Real-time**: Prevent overselling
3. **Segment Customers**: Personalize marketing
4. **Recover Abandoned Carts**: Capture lost revenue
5. **Monitor Stock Levels**: Set low-stock alerts
6. **Optimize Email Timing**: Test send times
7. **Track Conversions**: Measure marketing ROI
8. **Backup Regularly**: Protect order data
#work-life#office#productivity#business#documents#automation#claude-office-skills#marketing#ideaswoocommerceecommerce-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