Shopify Order Management

v1.0.2

Shopify order lifecycle management with new order handling, status sync, low-stock alerts, abandoned cart recovery, and daily sales reports. 5 production-rea...

0· 530·1 current·1 all-time
byMuhammad H.M. Alvi@mhmalvi
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (Shopify order lifecycle automation) matches the workflows and required items: Shopify API access, webhook secret, admin email, and a low-stock threshold. The skill depends on Google Sheets and SMTP n8n credentials (declared in SKILL.md metadata) which are expected for logging and email. One minor inconsistency: the SKILL.md and workflows reference SHOPIFY_ORDERS_SHEET_ID (Google Sheet ID) but that env var is not listed in the registry's top-level required env vars — you'll need to supply it or convert the placeholder to an n8n credential/setting.
Instruction Scope
All instructions and embedded code run n8n workflows that call Shopify admin API endpoints, write to Google Sheets (via n8n credentials), and send mail via SMTP. The workflows only reference Shopify, Google Sheets, and SMTP; they do not instruct reading arbitrary local files or contacting unexpected external endpoints. Note: webhook HMAC verification is implemented in code nodes (using JSON.stringify on the body), which is a functional detail to test (Shopify HMAC should be computed over the raw request body).
Install Mechanism
Instruction-only skill with no install spec and no external downloads — nothing is written to disk by the skill package itself. Workflows are imported into n8n; that import is the normal, low-risk operation for this type of automation.
Credentials
Requested environment variables (SHOPIFY_STORE_URL, SHOPIFY_ACCESS_TOKEN, SHOPIFY_WEBHOOK_SECRET, SHOPIFY_ADMIN_EMAIL, LOW_STOCK_THRESHOLD) are appropriate for the stated tasks. The SKILL.md also expects SHOPIFY_ORDERS_SHEET_ID but it was omitted from the registry's required env list — a mismatch to fix. The skill does not request unrelated credentials (no cloud provider keys, etc.). Google Sheets and SMTP are handled via n8n credentials rather than raw env secrets in the registry, which is appropriate.
Persistence & Privilege
The skill is not flagged as always: true and has no install-time persistence. It will only run when the user imports and enables the workflows in their n8n instance. Autonomous invocation within n8n is expected behavior for workflows; there is no cross-skill config modification or system-wide privilege requested.
Assessment
This package appears to do what it says: import the JSON workflows into your self-hosted n8n, provide a Shopify access token and webhook secret, create the Orders Google Sheet, and configure SMTP for emails. Before installing: (1) Verify and set SHOPIFY_ORDERS_SHEET_ID (the registry metadata omitted it); (2) Use least-privilege Shopify credentials (scopes limited to read_orders, read_products, read_checkouts or narrower as needed) and rotate them if possible; (3) Test webhook HMAC verification — the code uses JSON.stringify(body) which can fail depending on how your webhook raw body is presented; prefer verifying against the raw request body where possible; (4) Ensure your SMTP credentials are stored securely in n8n (do not bake them into environment variables in shared hosts); (5) Review privacy/consent for sending abandoned-cart emails to customers and follow applicable laws (CAN-SPAM, GDPR); (6) Import workflows only into a trusted n8n instance since code nodes execute JavaScript and will run with whatever access your n8n instance has. If you want higher assurance, ask the publisher to: include SHOPIFY_ORDERS_SHEET_ID in the registry metadata, confirm HMAC verification method, and provide a small README that maps each n8n credential to the minimal required scopes.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🛒 Clawdis
OSLinux · macOS · Windows
EnvSHOPIFY_STORE_URL, SHOPIFY_ACCESS_TOKEN, SHOPIFY_WEBHOOK_SECRET, SHOPIFY_ADMIN_EMAIL, LOW_STOCK_THRESHOLD
latestvk977dn321vjz2zt7hf82ap33px8278vy
530downloads
0stars
3versions
Updated 1mo ago
v1.0.2
MIT-0
Linux, macOS, Windows

Shopify Order Management

Complete Shopify order lifecycle management built on n8n. Handles new orders, status sync, inventory alerts, abandoned cart recovery, and daily sales reporting.

Problem

Shopify's built-in tools are limited for operations management. Order status changes aren't logged centrally, low-stock alerts arrive too late, abandoned cart emails are basic, and daily sales data requires logging into the admin dashboard.

This system automates the full order lifecycle with real-time tracking and proactive alerts.

What It Does

  1. New Order Handling — Webhook captures new orders, logs to Google Sheets, emails admin
  2. Order Status Sync — Periodically syncs fulfillment/payment status from Shopify to Sheets
  3. Low Stock Alerts — Checks inventory every 6 hours, alerts on items below threshold
  4. Abandoned Cart Recovery — Sends recovery emails to customers who abandoned checkout
  5. Daily Sales Reports — Revenue, order count, AOV, fulfillment stats, and top products

Included Workflows

#FilePurpose
0101-new-order-handler.jsonWebhook → parse order → log to Sheets → notify admin
0202-order-status-sync.jsonScheduled → check pending orders → sync from Shopify API
0303-low-stock-alert.jsonScheduled → inventory check → alert on low stock
0404-abandoned-cart-recovery.jsonScheduled → fetch abandoned carts → recovery email
0505-daily-sales-report.jsonDaily → fetch orders → metrics → report email

Architecture

Shopify Webhook (orders/create)
    |
    v
Workflow 01: New Order Handler
    +-> Parse order data
    +-> Log to Google Sheets (Orders tab)
    +-> Email notification to admin

Scheduled (every 2 hours):
    |
    v
Workflow 02: Order Status Sync
    +-> Read unfulfilled orders from Sheets
    +-> Fetch current status from Shopify API
    +-> Update Sheets with latest status

Scheduled (every 6 hours):
    |
    v
Workflow 03: Low Stock Alert
    +-> Fetch all products from Shopify
    +-> Check inventory vs threshold
    +-> IF low stock -> email alert

Scheduled (every 3 hours):
    |
    v
Workflow 04: Abandoned Cart Recovery
    +-> Fetch open checkouts from Shopify
    +-> Filter: abandoned 1-24 hours ago
    +-> Send recovery email with cart link

Daily:
    |
    v
Workflow 05: Daily Sales Report
    +-> Fetch last 24h orders
    +-> Calculate revenue, AOV, fulfillment stats
    +-> Top products by quantity
    +-> Email formatted report

Required n8n Credentials

Credential TypeUsed ForPlaceholder in JSON
Google Sheets OAuth2Order tracking and loggingYOUR_GOOGLE_SHEETS_CREDENTIAL_ID
SMTPNotifications, recovery emails, reportsYOUR_SMTP_CREDENTIAL_ID

Environment Variables

# Shopify (required)
SHOPIFY_STORE_URL=https://your-store.myshopify.com
SHOPIFY_ACCESS_TOKEN=shpat_xxxxxxxxxxxxx
SHOPIFY_WEBHOOK_SECRET=your-webhook-secret

# Google Sheets
SHOPIFY_ORDERS_SHEET_ID=your-sheet-id

# Alerts
SHOPIFY_ADMIN_EMAIL=admin@yourstore.com
LOW_STOCK_THRESHOLD=5

Configuration Placeholders

PlaceholderDescription
YOUR_SHOPIFY_ORDERS_SHEET_IDGoogle Sheet ID for order tracking
YOUR_GOOGLE_SHEETS_CREDENTIAL_IDn8n Google Sheets credential ID
YOUR_SMTP_CREDENTIAL_IDn8n SMTP credential ID
YOUR_NOTIFICATION_EMAILAdmin email for reports and alerts

Google Sheets Schema (Orders)

ColumnTypeDescription
order_idtextShopify order ID (primary key)
order_numbertextHuman-readable order number
customer_nametextCustomer full name
customer_emailtextCustomer email
customer_phonetextCustomer phone
total_pricenumberOrder total
currencytextCurrency code (USD, EUR, etc.)
financial_statustextpending / paid / refunded
fulfillment_statustextunfulfilled / fulfilled / delivered
items_countnumberNumber of line items
items_summarytextItem names and quantities
shipping_addresstextShipping address summary
created_atdatetimeOrder creation timestamp
synced_atdatetimeLast sync timestamp

Quick Start

1. Prerequisites

  • n8n v2.4+ (self-hosted)
  • Shopify store with Admin API access (custom app)
  • Google Sheets OAuth2 credentials
  • SMTP email credentials

2. Create Shopify Custom App

In Shopify Admin > Settings > Apps > Develop apps > Create app. Grant scopes: read_orders, read_products, read_checkouts.

3. Create Orders Sheet

Create a Google Sheet with the columns above. Name the tab "Orders".

4. Configure Shopify Webhook

In Shopify Admin > Settings > Notifications > Webhooks, add orders/create pointing to your n8n webhook URL.

5. Import & Configure

Import all 5 JSON files into n8n. Replace YOUR_* placeholders and set environment variables.

Use Cases

  1. DTC brands — Order tracking, inventory alerts, and automated cart recovery
  2. Print-on-demand — Monitor fulfillment status across products
  3. Dropshippers — Track orders and low-stock from suppliers
  4. Subscription boxes — Daily sales and fulfillment monitoring
  5. Agency operators — Multi-store management with centralized reporting

Requirements

  • n8n v2.4+ (self-hosted recommended)
  • Shopify store with Admin API custom app
  • Google Sheets OAuth2 credentials
  • SMTP email credentials

Comments

Loading comments...