What you can monitor
Order problems are silent until they become critical: unfulfilled orders age unpacked in your warehouse, shipments sit stuck with carriers, returns spike without warning, and your highest-value customers get the worst experience. OpenClaw automates the monitoring for all of them, so you catch issues before they spiral.
Daily order summary
Every morning: total orders, revenue, average order value, and top-performing product — a one-glance health check.
Fulfillment delay detection
Flag orders that haven't been fulfilled after N days, configurable per your warehouse speed. Escalate from warning to urgent.
Carrier tracking alerts
Detect shipments stuck in transit or with delivery exceptions using real-time carrier data via EasyPost.
Returns volume monitoring
Track return rates week-over-week and spike alerts when refund volume exceeds your configurable threshold.
High-value order flags
Instant alert for orders above a set threshold so you can prioritize packing and double-check fulfillment.
Unfulfilled order ageing
Age report showing how long each unfulfilled order has been waiting, ranked by days since placed.
Daily order summary
The core agent queries orders from the past 24 hours, calculates key metrics, and flags orders that need attention. Run it every morning at 7 AM to get a snapshot before your team starts work.
# AGENTS.md — order-monitor agent
agents:
order-monitor:
description: "Daily order summary and flagging for fulfillment issues"
tools:
- shopify-admin-api # swap for woocommerce-api if needed
config:
platform: shopify # or: woocommerce
credentials:
store: "${SHOPIFY_STORE}"
token: "${SHOPIFY_TOKEN}"
time_window_hours: 24 # pull orders from last 24 hours
high_value_threshold: 200 # flag orders above this amount
fulfillment_delay_threshold: 2 # days before flagging as delayed
include_fields:
- order_id
- customer_name
- order_total
- financial_status
- fulfillment_status
- created_at
- items (top product by revenue)
output:
format: markdown
sections:
- summary (total_orders, total_revenue, avg_order_value)
- top_product_by_revenue
- high_value_orders
- fulfillment_warnings
include_summary: true
For WooCommerce, the equivalent endpoint is /wp-json/wc/v3/orders with date range filtering:
# WooCommerce variant — adjust credentials and endpoint
WOO_URL=https://yourstore.com
WOO_CONSUMER_KEY=ck_xxxxxxxxxxxxxxxxxxxx
WOO_CONSUMER_SECRET=cs_xxxxxxxxxxxxxxxxxxxx
# Query string: ?after=2026-03-24T07:00:00&before=2026-03-25T07:00:00&per_page=100
Fulfillment delay detection
Paid orders that aren't fulfilled after a set threshold are a red flag. Set your threshold to match your typical fulfillment speed — for example, 2 days for next-day shipping promises, or 5 days for standard processing.
# AGENTS.md — fulfillment-delay-checker agent
agents:
fulfillment-delay-checker:
description: "Flag paid orders not yet fulfilled, with escalation tiers"
tools:
- shopify-admin-api
config:
platform: shopify
credentials:
store: "${SHOPIFY_STORE}"
token: "${SHOPIFY_TOKEN}"
query_filters:
financial_status: paid
fulfillment_status: null # unfulfilled
age_threshold_days: 2
escalation_tiers:
warning: [2, 3] # 2–3 days: WARNING
urgent: [4, 9999] # 4+ days: URGENT
output:
format: markdown_table
columns:
- order_id
- customer_name
- order_date
- days_unfulfilled
- order_value
- items
- fulfillment_status
sort_by: days_unfulfilled (descending)
escalation_colors: true
Carrier tracking alerts
Once a shipment is handed to a carrier, you lose visibility unless you actively poll tracking data. OpenClaw integrates with EasyPost to fetch tracking status from 100+ carriers and alert on delays or exceptions.
# AGENTS.md — carrier-tracker agent
agents:
carrier-tracker:
description: "Monitor shipment tracking and flag delays or exceptions"
tools:
- easypost-api
config:
platform: shopify
credentials:
easypost_api_key: "${EASYPOST_API_KEY}"
shopify_store: "${SHOPIFY_STORE}"
shopify_token: "${SHOPIFY_TOKEN}"
tracking_statuses_to_alert:
- pre_transit (stuck 3+ days)
- in_transit (stuck 5+ days)
- failure
- error
- unknown
max_days_in_status: 5 # flag if status hasn't changed in 5 days
output:
format: markdown
columns:
- tracking_code
- carrier
- status
- last_status_update
- days_in_status
- estimated_delivery
sort_by: days_in_status (descending)
Setup: Get your EasyPost API key from easypost.com, add it to secrets.env as EASYPOST_API_KEY=xxxx, and connect your Shopify store in EasyPost's dashboard so tracking numbers are synced automatically.
Returns volume monitoring
Returns spikes can signal product quality issues, misaligned expectations, or shipping damage. Monitor your returns rate week-over-week and flag when it exceeds a threshold.
# AGENTS.md — returns-monitor agent
agents:
returns-monitor:
description: "Track refund volume and spike alerts"
tools:
- shopify-admin-api
config:
platform: shopify
credentials:
store: "${SHOPIFY_STORE}"
token: "${SHOPIFY_TOKEN}"
time_window_days: 7 # track last 7 days
returns_spike_threshold: 8 # alert if return rate > 8%
output:
format: markdown
include_fields:
- total_refunded_orders
- returns_rate (%)
- comparison_to_prior_week
- items_by_return_reason (if available)
High-value order flags
Your biggest orders deserve special attention. OpenClaw flags any order above your configured threshold so you can prioritize packing, double-check items, and consider a personal customer check-in.
This is configured within the order-monitor agent with the high_value_threshold key (default: 200). Any order that totals above this amount gets its own section in the morning report.
HEARTBEAT.md templates
Morning order brief
# HEARTBEAT.md — morning order brief
schedule:
- name: "Morning Order Brief"
cron: "0 7 * * *" # every day at 7 AM
agents:
- order-monitor
- fulfillment-delay-checker
output:
file: "daily_order_brief.md"
notify: true
prompt: |
Combine order-monitor and fulfillment-delay-checker outputs into a single morning briefing.
Format:
1. DAILY SNAPSHOT — total orders, revenue, AOV, top product
2. HIGH-VALUE ORDERS — list orders above threshold with customer and total
3. FULFILLMENT WARNINGS — unfulfilled orders by escalation tier
4. ACTION ITEMS — summary of what needs attention today
If all metrics are healthy, output one-line confirmation: "✓ All orders on track."
Carrier exception check (twice daily)
# HEARTBEAT.md — carrier tracking
schedule:
- name: "Carrier Exception Check"
cron: "0 9,14 * * *" # 9 AM and 2 PM daily
agents:
- carrier-tracker
output:
file: "carrier_exceptions.md"
notify: true
Weekly returns report
# HEARTBEAT.md — weekly returns
schedule:
- name: "Weekly Returns Report"
cron: "0 8 * * 1" # Mondays at 8 AM
agents:
- returns-monitor
output:
file: "weekly_returns.md"
notify: true
prompt: |
Summarize returns from the past week. Compare return rate to the prior week.
If return rate > 8%, flag spike and suggest investigation into the top return reasons.
What the daily report looks like
Frequently asked questions
How does OpenClaw know which orders are unfulfilled?
OpenClaw queries the Shopify Admin REST API with a filter for fulfillment_status=null and financial_status=paid. This returns all orders that have been paid but not yet fulfilled. You can configure the age threshold — for example, flag orders unfulfilled for more than 2 days — to distinguish between newly placed orders and genuinely delayed ones.
Can OpenClaw send customers a tracking update?
No. OpenClaw surfaces the tracking data from carrier APIs so you can see which shipments are delayed or stuck. Sending tracking updates to customers requires explicit setup of an email tool in your AGENTS.md — OpenClaw never sends messages autonomously without your configuration.
What carrier APIs does OpenClaw support for tracking?
OpenClaw integrates with EasyPost, which aggregates tracking data from 100+ carriers including UPS, FedEx, USPS, Royal Mail, DHL, DPD, and many regional carriers. A single EasyPost API key covers all supported carriers, so you don't need separate accounts for each one.
How do I set a high-value order alert threshold?
Set the high_value_threshold config key in the order-monitor agent. The default is 200 (in your store currency). Any order with a total above this threshold will be flagged separately in the daily report so you can prioritize customer service and double-check fulfillment for your highest-value sales.