ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

shipstation-orders

Monitor ShipStation orders, detect issues, and send alerts. For e-commerce businesses using ShipStation for order fulfillment across multiple platforms (Amazon, Etsy, Shopify, TikTok, etc.).

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/cprice70/shipstation-orders
Or

ShipStation Order Monitor

Monitor ShipStation for new orders and issues. Perfect for e-commerce businesses using ShipStation to aggregate orders from multiple marketplaces.

Features

  • ✅ New order notifications
  • ⚠️ Alert for orders stuck in processing (>48h)
  • 🛑 Flag orders on hold
  • 🚚 Immediate alert for expedited/2-day/priority orders
  • 📊 Daily summary reports
  • 🔄 Automatic state tracking (avoids duplicate alerts)

Requirements

  • ShipStation account with API access
  • Node.js (included with OpenClaw)

Setup

1. Get ShipStation API Credentials

  1. Log into ShipStation
  2. Go to SettingsAccountAPI Settings
  3. Use Legacy API (V1) - generate API Key + API Secret

2. Configure Credentials

Create .env file in your workspace:

SHIPSTATION_API_KEY=your_api_key_here
SHIPSTATION_API_SECRET=your_api_secret_here

3. Test the Monitor

node check-orders.js

Output shows:

  • Total orders in last 24h
  • New orders detected
  • Any alerts

Exit codes:

  • 0 - Success, no alerts
  • 1 - Success, alerts found
  • 2 - Error (API failure, bad credentials)

4. Set Up Heartbeat Monitoring (Optional)

Add to your agent's HEARTBEAT.md:

## Check Orders

Every 15 minutes:

1. Run: `node check-orders.js`
2. Parse results
3. If new orders or alerts → notify via sessions_send
4. If nothing → HEARTBEAT_OK

Or use a cron job for scheduled checks.

Usage

Manual Check

node check-orders.js

In Agent Heartbeat

const { exec } = require('child_process');

exec('node check-orders.js', (error, stdout, stderr) => {
  const results = JSON.parse(stdout);
  
  if (results.newOrdersList.length > 0) {
    // Notify about new orders
  }
  
  if (results.alerts.length > 0) {
    // Notify about issues
  }
});

Alert Conditions

New Orders:

  • Any order in awaiting_shipment or awaiting_payment status

Issues Flagged:

  • Orders awaiting shipment > 48 hours
  • Orders on hold (payment verification, address issues, etc.)

API Errors:

  • Authentication failures
  • Rate limit exceeded
  • Network issues

State Management

The script maintains state.json to track:

  • Last check timestamp
  • Processed order IDs (prevents duplicate alerts)
  • Pending alerts
  • Inventory warnings (future feature)

State file auto-prunes to last 1000 orders.

Customization

Edit check-orders.js to adjust:

Alert Thresholds:

// Line ~70: Change from 48 hours to 24 hours
if (order.orderStatus === 'awaiting_shipment' && ageHours > 24) {

Time Window:

// Line ~60: Change from 24 hours to 12 hours
const yesterday = new Date(Date.now() - 12 * 60 * 60 * 1000).toISOString();

Additional Checks: Add custom logic for your business needs (high-value orders, specific products, etc.)

API Reference

Uses ShipStation API V1

Metadata

Author@cprice70
Stars3409
Views1
Updated2026-03-25
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-cprice70-shipstation-orders": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.