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_supplierPredictive 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_teamOrder 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_dataOrder 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_outreachCustomer 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_customerCustomer 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_teamMulti-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_pausedPrice 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_demandAnalytics & 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_trackerAbandoned Cart Recovery
yaml
workflow: "Cart Recovery"
trigger: cart_abandonedwait: 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_offerOutput Example
Request: "Set up Shopify inventory alerts"
Output:
markdown
# Shopify Inventory Alert System
## Workflow Configuration
```yamlname: "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 unitsDaily Sales Avg: 5 unitsDays 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 immediately2. Review Red Widget demand3. 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 DataReady to implement?
---
*Shopify Automation Skill - Part of Claude Office Skills*
