Skip to main content
skill CX Codex

WooCommerce Automation — Claude Code skill: orders and stock

A skill that automates a WooCommerce store: orders, inventory, customers and coupons. Useful when order admin eats your day.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add claude-office-skills/skills --skill woocommerce-automation -a claude-code
Open on GitHub

What WooCommerce Automation does

The skill lays out WooCommerce store workflows and hands them to an AI agent. At the core is an order pipeline: intake, checks on payment and stock, reserving items, fulfilment, delivery. Each step is broken into actions the agent runs on a trigger.

Status automations are spelled out too. Payment clears, the order moves to processing, the customer gets an email, a fulfilment task appears. Shipping and delivery flip the status and add tracking. A failed payment puts the order on hold.

It runs through the ecommerce-mcp MCP server with the woo_orders, woo_products, woo_customers and woo_coupons tools. So you need that server configured and store access working — otherwise the agent has nothing to call. Inventory sync pulls from several sources on a schedule, with rules for low stock and zero stock.

What it helps with

  • Requires a configured ecommerce-mcp MCP server with store access — the skill does nothing without it.
  • Inventory sync depends on API and FTP sources you have to wire up yourself.
  • The description is cut off, so cart recovery is only visible up to the start of the sequence.

Example prompts for the agent

  • Install the skill: npx skills add claude-office-skills/skills --skill woocommerce-automation -a claude-code
  • Make sure the ecommerce-mcp server is reachable and exposes woo_orders and woo_products.
  • Tell the agent your order flow: which statuses and emails belong to each step.

How to install WooCommerce Automation

1Skills CLI (Vercel)

npx skills add claude-office-skills/skills --skill woocommerce-automation -a claude-code

2Manually: put the files in place

~/.claude/skills/woocommerce-automation/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/woocommerce-automation/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about WooCommerce Automation

Which tools does the skill need?

The ecommerce-mcp MCP server with the woo_orders, woo_products, woo_customers and woo_coupons tools.

What does it do for products?

Inventory sync from several sources, bulk price and sale updates, plus rules for low stock and zero stock.

Does it handle customer segments?

Yes. Segments like VIP buyers and lapsed customers come with actions: a discount, a tag, an email.

Source text

SKILL.md · MIT
---
name: WooCommerce Automation
description: Automate WooCommerce e-commerce operations including orders, inventory, customers, and marketing
version: 1.0.0
author: Claude Office Skills
category: e-commerce
tags:
  - woocommerce
  - wordpress
  - e-commerce
  - orders
  - inventory
department: operations
models:
  - claude-3-opus
  - claude-3-sonnet
  - gpt-4
mcp:
  server: ecommerce-mcp
  tools:
    - woo_orders
    - woo_products
    - woo_customers
    - woo_coupons
capabilities:
  - Order management
  - Inventory sync
  - Customer workflows
  - Marketing automation
input:
  - Order data
  - Product information
  - Customer details
  - Coupon configurations
output:
  - Order confirmations
  - Inventory reports
  - Customer segments
  - Marketing campaigns
languages:
  - en
related_skills:
  - shopify-automation
  - amazon-seller
  - inventory-management
---

# 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: "[email protected]",
    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

© Claude Office Skills · MIT · claude-office-skills/skills

Similar skills

All skills for Automation and no-code: n8n, Zapier, Make →

From the same set109

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor