WooCommerce auto-cancel: turn the "reply YES within 12h" promise into a real flow

For two years your WC email has promised auto-cancellation that nobody was listening for. Now we are. AI sends YES/NO on WhatsApp; unconfirmed orders cancel at 12h / 24h / 48h with an apology. Off by default — opt in once you're sure.

·3 min read

What's new

Every WooCommerce store using the default email templates — or a Fone Pro Pro flow, or any of the half-dozen popular WC notification plugins — has been sending some variant of “please confirm your order by replying YES within 12 hours, unconfirmed orders cancelled automatically” for years. The promise was a copy-paste relic from a manual workflow; nothing was actually listening for the YES. The cancellation didn't happen automatically; customers who replied YES got crickets.

Today we shipped the flow that closes the loop. A customer places an order on your WC store; Botline sends a WhatsApp confirmation; YES flips the order to processing, NO cancels it, silence triggers an auto-cancel at your configured cutoff with an apology message on the way out. The matcher recognises YES / NO / Y / N / CONFIRM / CANCEL / 👍👎 / haan / nahi (Roman Urdu). Idempotent on double-tap; race-safe with the cron sweep.

Off by default. Read this paragraph before flipping it on.

The auto-cancel timer is OFF by default for every tenant, new and existing. We are deliberately conservative because programmatic order cancellation is visible to every other plugin in your WC stack: inventory plugins (re-credit stock), fulfilment plugins (Shipway / ShipRocket may have already created a label), accounting plugins (Zoho / QuickBooks may fire a refund invoice), and refund-automation plugins (could trigger an auto-refund on Stripe / Razorpay-captured orders).

None of this is exotic; most stores will be fine on the first try. But the cost of a wrong assumption is your inventory or finance ledger getting confused. So we ship it OFF and we ask you to opt in once you've flipped it on a test order on a Monday morning and watched the rest of the stack behave. If anything misbehaves, switch back to Off and the YES/NO conversational layer still runs without the timer.

How to enable

Open Dashboard → Integrations, scroll to the WooCommerce card, find the new Auto-cancel unconfirmed orders section. Pick one of:

  • Off — default. YES/NO confirmation runs but no auto-cancel.
  • 12 hours — matches the default WC email copy. Aggressive; good for COD same-day-dispatch.
  • 24 hours — the safe middle. Most stores land here.
  • 48 hours — gentle. Good for international customers.
  • Custom — any 1-168 hours (one week max).

The dropdown stores as tenants.wc_auto_cancel_unconfirmed_hoursNULL by default; no silent migration turned this on. The cron sweep runs every 5 minutes; cancellation lands within 5 minutes of your cutoff with reason locked at “Auto-cancelled — no customer confirmation.”

AI scope-fences pending orders

While a customer has a pending WC order, the AI's system prompt gets a soft scope-fence overlay: off-topic questions still get answered briefly, but the AI then circles back — “...by the way, your order #1247 still needs a YES to confirm or NO to cancel.” Internal testing showed 12-18% of would-be-silence orders convert to YES once the AI follows up two messages later. The fence is automatic; no toggle. As soon as the order resolves (YES, NO, or auto-cancel), the overlay drops.

Available on every paid plan

WC auto-cancel is included on Starter, Pro, and Enterprise at no upcharge from Botline. The Free tier doesn't have WC integration, so this only matters on paid plans. The two WhatsApp messages the flow sends count against your normal Cloud-API conversation costs paid directly to Meta — roughly $1-2/day extra for a 100-orders-per-day store, recovered in the first two cancelled-but-now-recovered orders per week.

Read the full how-to with worked plugin-compatibility checklist: WooCommerce auto-cancel: turn that “reply YES within 12 hours” promise into a real flow.

Ready to automate your WhatsApp?