Skip to content

Daily

Catch orders stuck in processing

A daily email names orders that have sat in processing too long, so none get forgotten.

Runs
Daily
Apps
WooCommerce
AI
Not needed
Access
read

Send this to your assistant

Create a ClickRuntime automation: every day at 10am, email me WooCommerce orders that are still in processing more than 3 days after they were placed, oldest first.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

In a busy WooCommerce shop, orders sit in the processing status until someone ships them and marks them complete. When a packer is off sick, a supplier is late, or an order slips under a pile, it stays in processing for days. The customer has paid, receives nothing, and writes an angry email or opens a chargeback, long before the shop owner realises anything is wrong.

Each day the automation lists orders with the processing status, checks how long ago each was created, and emails you the ones older than the limit you set, for example three days. You see which orders are stuck and for how long, so you can ship, contact the customer or chase a supplier.

It suits shops that ship from their own stock or rely on drop-shipping partners.

What you get out of it

  • Fewer chargebacks and angry emails

    Customers contact you after a few days of silence. Reaching them first, with a tracking number or an honest update, usually prevents a dispute that costs fees and goodwill. Even a short message saying an item is delayed usually calms a customer more than silence does.

  • Find supplier problems early

    If many stuck orders involve the same product, the supplier is the cause. You learn within days rather than after a pile of complaints. You then know whom to call before the next batch of orders gets stuck for the same reason.

  • Nothing hides at the bottom of a list

    Old orders are exactly the ones nobody scrolls to. The daily email brings them to the top of your attention. A daily list means the oldest order is always visible instead of buried beneath newer ones.

  • Protect your reviews

    A late delivery is a common reason for a bad review. Catching delay early gives you a chance to fix it before it is posted. You can reach out, send an apology and still save the relationship before they post anything publicly.

  • A cleaner fulfillment queue

    Knowing the age of every open order helps you decide what to pack first, so the oldest ones stop getting older. The result is a shorter average time between order and dispatch.

How it works

What happens, step by step

  1. Once a day, ClickRuntime looks at your WooCommerce orders that are still in processing.

  2. It picks out the ones that have been waiting longer than you allow.

  3. You get an email listing each stuck order with its number, customer, how many days it has waited and its total.

Before it runs live

  • Connect WooCommerce

What you get

RunsDaily
Catch orders stuck in processingtoday, 9:00Succeeded
Email · Stuck orders- #5487 Lee Park, 6 days, 72.00 USD

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Run it at a different time, more or less often, or only on weekdays
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other WooCommerce steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
delayed_stuck_order_alert.pyexample
from datetime import datetime, timedelta
from clickruntime import on_trigger, credentials, http, notify

STORE = "https://yourstore.com/wp-json/wc/v3"

@on_trigger
def run(event):
    auth = (credentials.secret("WC_CONSUMER_KEY"), credentials.secret("WC_CONSUMER_SECRET"))
    cutoff = datetime.now() - timedelta(days=3)
    orders = http.get(f"{STORE}/orders", auth=auth, params={
        "status": "processing", "before": cutoff.strftime("%Y-%m-%dT%H:%M:%S"),
        "orderby": "date", "order": "asc", "per_page": 100}).json()
    if not orders:
        return {"stuck": 0}
    lines = [f"- #{o['number']} {o['billing']['first_name']} {o['billing']['last_name']}, "
             f"{(datetime.now() - datetime.fromisoformat(o['date_created'])).days} days, {o['total']} {o['currency']}"
             for o in orders]
    notify.email_me(f"{len(orders)} orders processing for over 3 days", "\n".join(lines))
    return {"stuck": len(orders)}

FAQ

Common questions

How is the age of an order measured?
It uses the order's creation date, which is the date_created field in WooCommerce. An order created three days ago and still processing is reported, regardless of when payment was confirmed. The age is measured in whole days.
Does it include orders on hold?
No, only the processing status. On-hold orders usually wait for payment or a review, which is a different situation. Ask your AI assistant to include them if you want that broader list. That keeps the list focused on genuinely delayed shipments.
How many days should the limit be?
Choose a number that is longer than your normal shipping time and shorter than customers will tolerate. Two or three days is common, and you can adjust it after seeing how many orders are flagged.
What permissions does it need?
read. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Catch orders stuck in processing” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.