Store owners who pack from the pocket live in WhatsApp, not in Slack. Dedicated “WooCommerce to WhatsApp” plugins duplicate templates, phone numbers, and quotas. The AlertHub WordPress plugin already watches any WooCommerce hook. WhatsApp is a Pro (or higher) Connection on the same project.
Hook recipes (titles, {{0}} as order id, low stock) live in WooCommerce order alerts. Self-hosted Android without WhatsApp: WooCommerce → Gotify. This post is the last mile for paid orders on WhatsApp.
WhatsApp receives warning and critical only, and delivery is quota-based per billing period. info stays in the dashboard and does not use quota. If Slack or Telegram is also connected, those channels get the same warning/critical events — AlertHub does not split destinations by hook.
What should hit WhatsApp
| Hook | Level for WhatsApp | Why |
|---|---|---|
woocommerce_payment_complete | Warning if you fulfill from the phone; Info if volume is high | Paid order, money landed |
woocommerce_new_order | Info | Created before payment — burns quota if you raise it |
woocommerce_order_status_failed | Warning | Recover the sale — failed-payment WhatsApp post |
woocommerce_low_stock | Warning | Restock; still counts against quota |
woocommerce_order_status_cancelled | Warning | Refunds / checkout friction |
High-volume shops: keep payment_complete at info so WhatsApp stays quiet, and only page on failures and low stock.
Setup (once)
- Plugin + project key under Tools → AlertHub (WordPress docs). Add the
woocommerce_payment_completealert from the order guide. - Upgrade from Pricing if the WhatsApp card shows Premium.
- Connections → WhatsApp → Link with WhatsApp. Send the one-time code, then Validate code. Admins only. Full linking: WhatsApp Pro.
WordPress does not talk to WhatsApp. Plugin → AlertHub → WhatsApp.
Alert 1: Paid order (phone fulfillment)
woocommerce_payment_complete at warning. Title WooCommerce paid order #{{0}}. Place a sandbox paid order and confirm the WhatsApp message. If the shop is busy, drop this hook to info the same day — quota is monthly.
The first hook argument is the order id, not the total. Put the id in the alert and open WooCommerce → Orders, or use a small snippet with AlertHub_API::send_alert() as described in the order guide.
Alert 2: Do not WhatsApp every new order
woocommerce_new_order fires before payment completes. Leave it at info. A cart that never pays should not consume Pro quota.
Alert 3: Low stock on the same phone
woocommerce_low_stock at warning if a missed restock costs more than a WhatsApp ping. Keep it off critical unless that SKU is the store. Critical still uses the same quota.
Ideas to squeeze more value
- Quota hygiene. Audit hooks that default to warning. Successful logins and comments should stay
info— new user and comments. - Telegram as overflow. When the WhatsApp quota is exhausted, further WhatsApp sends are skipped until reset or upgrade. Telegram and Slack keep working.
- One phone per project. Agencies: one project per shop rather than twelve stores in one chat.
- Unlink on offboarding. Admins remove the binding; the plugin key stays. Sources do not need a new WhatsApp vendor.
FAQ
Is this a replacement for WooCommerce customer emails?
No. Keep customer-facing mail. WhatsApp here is for you.
Does it work with Stripe for WooCommerce / CheckoutWC?
Yes if they still fire standard WooCommerce order hooks after payment. Test with one sandbox order.
Can two staff get the same order on WhatsApp?
One phone is bound per project. Everyone else uses Slack, Telegram, or email on that project.
Next steps
Link WhatsApp, set woocommerce_payment_complete to warning, place a test paid order, then decide whether volume belongs at info.
Related: WhatsApp setup · WooCommerce hooks · failed payments on WhatsApp