Skip to main content
skill CX Codex

shopify-automation — Claude Code skill: what it does, how to install

A skill that automates a Shopify store: watches stock levels, moves orders along and runs customer sequences. Useful when admin chores eat your day.

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

What shopify-automation does

The skill lays out ready-made workflows for a Shopify store. Inside: inventory tracking with low-stock alerts, order handling from validation to fulfillment, post-purchase email sequences and customer segmentation. There is also stock sync across other channels such as Amazon, eBay and Walmart.

It runs through the shopify-mcp MCP server with the shopify_orders, shopify_inventory, shopify_customers and shopify_products tools. The skill does not call the Shopify API on its own, so without that server connected the calls have nowhere to go. Worth checking before you install.

Workflows are written as YAML steps: pull product data, filter variants below the reorder threshold, sort by urgency, build a report and push it to Slack. The default threshold is 10 units, with anything at 5 or below marked critical. The scenarios follow n8n's e-commerce templates, so expect to adapt parts of the logic to your own process.

What it helps with

  • catch products running low before they sell out
  • work out a reorder point from sales rate and lead time
  • route orders to the right warehouse and priority
  • win back customers who have not ordered in over 90 days
  • keep stock counts aligned between Shopify and marketplaces

Example prompts for the agent

  • Pull an inventory report: list items at 10 units or fewer and group them by urgency
  • Process today's new orders: check payment and stock, assign a warehouse and create the shipping label
  • Set up a review request email 3 days after an order is delivered

How to install shopify-automation

1Skills CLI (Vercel)

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

2Manually: put the files in place

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

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

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

Questions about shopify-automation

How do I install shopify-automation in Claude?

Run npx skills add claude-office-skills/skills --skill shopify-automation -a claude-code. The skill file lands at ~/.claude/skills/shopify-automation/SKILL.md.

What does shopify-automation do?

It describes Shopify store workflows: low-stock alerts, order processing, post-purchase emails, customer segmentation and inventory sync with other sales channels.

What does the skill need to work?

A connected shopify-mcp MCP server exposing shopify_orders, shopify_inventory, shopify_customers and shopify_products. Without it the skill has nothing to call.

Source text

SKILL.md · MIT
---
name: shopify-automation
description: "Shopify e-commerce automation - inventory management, order processing, customer workflows, and analytics"
version: "1.0.0"
author: claude-office-skills
license: MIT

category: ecommerce
tags:
  - shopify
  - ecommerce
  - inventory
  - orders
  - automation
department: Operations

models:
  recommended:
    - claude-sonnet-4

mcp:
  server: shopify-mcp
  tools:
    - shopify_orders
    - shopify_inventory
    - shopify_customers
    - shopify_products

capabilities:
  - inventory_management
  - order_processing
  - customer_automation
  - analytics_reporting
  - multi_channel_sync

languages:
  - en
  - zh

related_skills:
  - email-marketing
  - crm-automation
  - sheets-automation
---

# Shopify Automation

Comprehensive Shopify e-commerce automation covering inventory management, order processing, customer workflows, and analytics. Based on n8n's e-commerce workflow templates.

## Overview

This skill covers:
- Inventory management and alerts
- Order processing automation
- Customer lifecycle workflows
- Multi-channel synchronization
- Analytics and reporting

---

## Inventory Management

### Low Stock Alerts

```yaml
workflow: "Inventory Alert System"
schedule: "Daily 9am"

steps:
  1. fetch_inventory:
      shopify:
        endpoint: products
        include: variants
        
  2. filter_low_stock:
      condition: inventory_quantity <= reorder_threshold
      default_threshold: 10
      
  3. categorize_urgency:
      critical: inventory_quantity <= 5
      warning: inventory_quantity <= 10
      
  4. generate_report:
      group_by: [category, urgency]
      
  5. notify:
      slack:
        channel: "#inventory-alerts"
        message: |
          ⚠️ *Low Stock Alert*
          
          🚨 *Critical (≤5 units):*
          {critical_items}
          
          ⚠️ *Warning (≤10 units):*
          {warning_items}
          
          [View in Shopify]({admin_link})
          
  6. create_purchase_orders:
      if: auto_reorder_enabled
      template: generate_po_for_each_supplier
```

### Predictive Reordering

```yaml
workflow: "Smart Inventory Reordering"

analysis:
  data_sources:
    - sales_history: last_90_days
    - seasonal_trends: year_over_year
    - current_velocity: last_14_days
    
  calculations:
    daily_sales_rate: avg(units_sold_per_day)
    days_of_stock: current_inventory / daily_sales_rate
    reorder_point: daily_sales_rate * lead_time * safety_factor
    
  safety_factor:
    high_velocity: 1.5
    normal: 1.3
    slow_moving: 1.1
    
actions:
  auto_reorder:
    condition: days_of_stock <= lead_time + buffer
    action: generate_purchase_order
    notify: purchasing_team
```

---

## Order Processing

### Order Fulfillment Workflow

```yaml
workflow: "Order Processing Pipeline"
trigger: shopify_order_created

steps:
  1. validate_order:
      checks:
        - fraud_score: < threshold
        - inventory_available: true
        - payment_captured: true
        
  2. categorize_order:
      rules:
        - high_value: total > $500
        - international: country != home_country
        - expedited: shipping_method == "express"
        - subscription: has_subscription_items
        
  3. assign_fulfillment:
      routing:
        - if: international
          warehouse: international_hub
        - if: expedited
          priority: high
        - default:
          warehouse: nearest_to_customer
          
  4. create_shipping_label:
      carrier: based_on_service_level
      integrate: [shipstation, easypost, shippo]
      
  5. update_inventory:
      action: decrement_stock
      
  6. notify_customer:
      email: order_confirmation_template
      sms: if_opted_in
      
  7. update_systems:
      - accounting: create_invoice
      - crm: update_customer_record
      - analytics: log_order_data
```

### Order Status Automation

```yaml
order_status_notifications:
  confirmed:
    delay: immediate
    email: "Thank you for your order!"
    
  processing:
    delay: when_status_changes
    email: "We're preparing your order"
    
  shipped:
    delay: immediate
    email: |
      Your order is on the way!
      Tracking: {tracking_number}
      Carrier: {carrier}
      Estimated delivery: {eta}
    sms: "Your order shipped! Track: {tracking_url}"
    
  delivered:
    delay: 1_day_after_delivery
    email: "How was your order? Leave a review!"
    
  delayed:
    trigger: no_tracking_update_3_days
    action: proactive_customer_outreach
```

---

## Customer Workflows

### Post-Purchase Sequence

```yaml
workflow: "Post-Purchase Engagement"

sequence:
  day_0:
    trigger: order_delivered
    action: 
      - email: delivery_confirmation
      - start_review_timer
      
  day_3:
    action:
      - email: review_request
        template: |
          Hi {first_name},
          
          How are you enjoying your {product_name}?
          
          We'd love to hear your thoughts!
          [Leave a Review]({review_link})
          
  day_7:
    condition: no_review_submitted
    action:
      - email: review_reminder
      - offer: 10%_off_next_order
      
  day_14:
    action:
      - email: related_products
        personalization: based_on_purchase
        
  day_30:
    condition: consumable_product
    action:
      - email: replenishment_reminder
        discount: returning_customer
```

### Customer Segmentation

```yaml
segmentation:
  vip:
    criteria:
      - total_spent: >= $1000
      - orders: >= 5
    actions:
      - tag: "VIP"
      - add_to_list: "VIP Customers"
      - priority_support: true
      - early_access: new_products
      
  at_risk:
    criteria:
      - last_order: > 90_days
      - previous_orders: >= 2
    actions:
      - tag: "Win-Back"
      - email_sequence: reactivation
      - offer: special_discount
      
  new_customers:
    criteria:
      - orders: 1
      - days_since_first_order: <= 30
    actions:
      - email_sequence: onboarding
      - recommend: best_sellers
      
  wholesale:
    criteria:
      - average_order_value: >= $500
      - orders: >= 3
    actions:
      - tag: "B2B Potential"
      - notify: sales_team
```

---

## Multi-Channel Sync

### Inventory Sync

```yaml
multi_channel_inventory:
  platforms:
    - shopify: primary
    - amazon: secondary
    - ebay: secondary
    - walmart: secondary
    
  sync_rules:
    frequency: real_time
    buffer_stock: 5_units  # Safety buffer
    
    allocation:
      shopify: 100%  # Full inventory
      amazon: available - buffer
      ebay: available - buffer
      walmart: available - buffer
      
  actions:
    on_sale:
      - update_all_channels: immediately
      - if_stockout: pause_listings
      
    on_restock:
      - update_all_channels: immediately
      - reactivate_listings: if_paused
```

### Price Sync

```yaml
price_synchronization:
  base_price: shopify
  
  channel_adjustments:
    amazon:
      markup: +15%  # Account for fees
      
    ebay:
      markup: +10%
      
    wholesale:
      discount: -30%
      
  automation:
    - on_price_change: sync_all_channels
    - competitor_monitoring: optional
    - dynamic_pricing: based_on_demand
```

---

## Analytics & Reporting

### Daily Sales Report

```yaml
workflow: "Daily Sales Report"
schedule: "8am daily"

metrics:
  revenue:
    - total_sales
    - average_order_value
    - comparison_vs_yesterday
    - comparison_vs_same_day_last_week
    
  orders:
    - order_count
    - units_sold
    - new_vs_returning_customers
    
  products:
    - top_sellers
    - low_performers
    - out_of_stock_items
    
  channels:
    - by_source: [direct, google, facebook, email]
    - conversion_rates
    
output:
  format: |
    📊 *Daily Sales Report - {date}*
    
    💰 *Revenue*
    Today: ${total_sales} ({change_vs_yesterday})
    AOV: ${aov}
    
    📦 *Orders*
    Count: {order_count}
    New customers: {new_customers}
    
    🏆 *Top Products*
    1. {product_1} - {units_1} units
    2. {product_2} - {units_2} units
    3. {product_3} - {units_3} units
    
    ⚠️ *Attention*
    - {low_stock_count} products low stock
    - {abandoned_carts} abandoned carts (${value})
    
  destinations:
    - slack: "#daily-sales"
    - email: leadership_team
    - google_sheets: sales_tracker
```

### Abandoned Cart Recovery

```yaml
workflow: "Cart Recovery"

trigger: cart_abandoned
wait: 1_hour

sequence:
  email_1:
    delay: 1_hour
    subject: "Forgot something? 🛒"
    content: |
      Hi {first_name},
      
      You left these items in your cart:
      {cart_items}
      
      [Complete Your Order]({checkout_link})
      
  email_2:
    delay: 24_hours
    condition: cart_not_recovered
    subject: "Your cart is waiting"
    offer: free_shipping
    
  email_3:
    delay: 72_hours
    condition: cart_not_recovered
    subject: "Last chance - 10% off your cart"
    offer: 10_percent_discount
    expiry: 24_hours

tracking:
  metrics:
    - recovery_rate
    - revenue_recovered
    - best_performing_offer
```

---

## Output Example

**Request**: "Set up Shopify inventory alerts"

**Output**:

```markdown
# Shopify Inventory Alert System

## Workflow Configuration

```yaml
name: "Low Stock Monitor"
schedule: "Daily 9am + On inventory change"
```

## Alert Rules

| Urgency | Threshold | Action |
|---------|-----------|--------|
| 🚨 Critical | ≤ 5 units | Immediate Slack + Email |
| ⚠️ Warning | ≤ 10 units | Daily digest |
| 📋 Monitor | ≤ 20 units | Weekly report |

## Sample Alert

```
🚨 CRITICAL STOCK ALERT

Product: Blue Widget (SKU: BW-001)
Current Stock: 3 units
Daily Sales Avg: 5 units
Days of Stock: 0.6 days

⚠️ WARNING STOCK (5 items)
• Red Widget - 8 units (1.6 days)
• Green Widget - 9 units (3 days)
...

📊 Recommended Actions:
1. Reorder Blue Widget immediately
2. Review Red Widget demand
3. Contact supplier for Green Widget ETA

[View Inventory Dashboard]
[Generate Purchase Orders]
```

## n8n Implementation

```yaml
nodes:
  1. Schedule Trigger (Daily 9am)
  2. Shopify - Get Products
  3. Filter - Low Stock Items
  4. IF - Check Urgency Level
  5. Slack - Send Alert
  6. Google Sheets - Log Data
```

Ready to implement?
```

---

*Shopify Automation Skill - Part of Claude Office Skills*

© claude-office-skills · MIT · claude-office-skills/skills

Similar skills

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

From the same set109

data-pipeline A skill for building ETL pipelines: extract from APIs and databases, transform, then load into warehouses and sheets. Useful when data from several sources has to land in one place on a schedule. CX Codex +1 4,900installs Stripe Payments A skill that walks your agent through Stripe payments, subscription lifecycle, invoicing and revenue reporting without leaving the chat. CX Codex +1 4,900installs saas-metrics Analyzes subscription business metrics like MRR, churn, cohorts, and unit economics. Helpful for preparing investor updates and monthly financial reviews. CX Codex +1 4,900installs gmail-workflows Design Gmail workflows for attachments, labels, archiving, and Google Drive storage. It fits inbox processing for invoices, client messages, or email reporting. CX Codex +1 5,000installs ClickUp Automation Automates ClickUp workspace tasks, sprint workflows, and time tracking through an AI agent. It applies rules for statuses, handoffs, and goal progress. CX Codex +1 4,800installs Obsidian Automation A skill for Obsidian knowledge bases: creates notes from templates, adds internal links and reads the link graph. Useful if you keep a Markdown wiki. CX Codex +1 4,800installs batch-processor A skill for running one operation across hundreds of files at once: convert, extract text, rename, or update headers, with parallel workers and progress tracking. CX Codex +1 4,800installs web-search Formulates targeted search queries with advanced operators, recommends specialized engines, and evaluates source credibility. CX Codex +1 4,800installs

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