How I Set Up Low-Inventory WhatsApp Alerts for Shopify

Setting up low-inventory WhatsApp alerts for Shopify means your purchasing or warehouse team gets notified the moment a product's stock crosses a threshold you define, instead of finding out a bestseller sold out only after a customer complaint or a lost sale. I build this as an event-driven check tied to Shopify's inventory data, sent through WhatsApp specifically because it's the channel most operations teams actually see and act on quickly, unlike an email that sits unread in a crowded inbox.
Setting up low-inventory WhatsApp alerts for Shopify means your purchasing or warehouse team gets notified the moment a product's stock crosses a threshold you define, instead of finding out a bestseller sold out only after a customer complaint or a lost sale. I build this as an event-driven check tied to Shopify's inventory data, sent through WhatsApp specifically because it's the channel most operations teams actually see and act on quickly, unlike an email that sits unread in a crowded inbox.
Here's exactly how I structure the threshold logic, the alert routing, and the WhatsApp delivery so this becomes something your team relies on rather than another notification they learn to ignore.
Why Thresholds Need to Be Per-Product, Not Global
Thresholds need to be set per product or per product category, not as one global number across your entire catalogue, because a fast-moving SKU and a slow-moving one need completely different reorder lead times. A product that sells fifty units a week needs an alert well before it hits ten units remaining; a product that sells two units a month can safely alert at a much lower number without wasting anyone's attention.
I work with you to set these thresholds based on your actual sales velocity and supplier lead times, not a single arbitrary number applied everywhere. Getting this wrong in either direction causes real problems — too high a threshold means constant alerts for products that aren't actually at risk, and too low a threshold means the alert arrives too late to reorder before the product genuinely runs out.
Supplier lead time is the variable I see underweighted most often. A product that sells slowly but comes from a supplier with a six-week lead time needs a much higher threshold than its sales velocity alone would suggest, because the reorder clock starts the moment the alert fires, not the moment stock actually hits zero. I calculate the threshold as a function of both sales rate and lead time together, not sales rate alone, since a fast seller with a same-week local supplier and a slow seller with an overseas supplier can genuinely need similar-looking thresholds despite very different sales patterns.
How the Stock Check Is Triggered
The stock check is triggered directly by Shopify's inventory-level webhook, which fires whenever a product's stock changes — an order is placed, a manual adjustment is made, a return is processed. I compare the new stock level against the threshold for that specific product the moment the webhook fires, rather than running a periodic scan that could miss a fast-moving stockout between checks.
This event-driven approach means the alert timing is tied to when stock actually changes, not to an arbitrary schedule. A product that crosses its threshold at 2am during a flash sale gets flagged immediately, not the next time a daily batch job happens to run.
This matters most exactly when it's least convenient — during a promotion, a viral moment on social media, or a seasonal rush, stock can move through a threshold far faster than it does on an ordinary day. A scheduled daily check might tell your team a product crossed its threshold twelve hours ago, by which point it may have already sold out completely. An event-driven check catches the exact moment it happens, giving your purchasing team the maximum possible window to react.
Every stock change is checked against that specific product's threshold the moment it happens.- A stock level changes on Shopify — an order, adjustment, or return.
- The inventory webhook fires, carrying the product and its new stock level.
- The new level is checked against that specific product's defined threshold.
- If the threshold is crossed, a WhatsApp message is sent to the assigned team or individual.
Routing Alerts to the Right Team
Routing alerts to the right team means a low-stock notification for a specific product category reaches the person actually responsible for reordering it, not a single shared inbox everyone half-monitors. For a store with multiple product categories handled by different purchasing staff, I route alerts based on category or supplier, so the notification arrives with the person positioned to act on it.
For a smaller store where one person handles all restocking, a single WhatsApp number is often the simpler, correct choice — I match the routing complexity to your actual team structure rather than building a more elaborate system than your operation needs.
I also build in a fallback for when the primary recipient doesn't acknowledge an alert within a defined window — for a genuinely urgent stockout risk, a message that goes unread for a day because someone's on leave defeats the purpose of building the alert in the first place. This doesn't need to be complicated: a simple escalation to a second number or a shared group after a set delay is usually enough to make sure nothing critical falls through when one person is unavailable.
What the WhatsApp Message Actually Contains
The WhatsApp message contains the product name, the current stock level, the threshold that was crossed, and a direct link back to that product's page in your Shopify admin — enough for whoever receives it to act immediately without having to go searching for the product first. I keep the message short and specific rather than a generic "low stock" notice that requires a second step just to find out which product is affected.
I also avoid sending a repeat alert every time stock changes again after the initial threshold crossing, unless it drops to a second, more urgent threshold you define — a product hovering near its reorder point shouldn't generate a new WhatsApp message on every single sale, since that's exactly the kind of alert fatigue that causes a team to start ignoring the channel altogether.
A two-tier threshold structure works well for products where the gap between "worth reordering soon" and "about to actually run out" matters operationally. The first alert, at a higher stock level, is a heads-up that gives your team time to place a routine reorder. The second, at a much lower level, signals genuine urgency — different wording, and in some cases a different, more senior recipient, so the team can immediately tell which kind of message they've received without having to check the product themselves first.
Alerts route to whoever's actually responsible for that product category — not a shared inbox nobody owns.Handling Configurable Products with Per-Variant Stock
Configurable products need alerts scoped to the specific variant that's running low, not the product as a whole. A t-shirt with ten colours can have nine colours comfortably stocked while one specific colour is genuinely at risk — an alert that only reports at the product level would either miss this entirely or, worse, report false confidence based on the healthy colours masking the one that's about to sell out.
I build the threshold check against each variant's own stock count, the same way I handle option-level stock tracking in a custom cart build, so the alert your team receives names the exact size or colour that's low, not just the product name in general. This precision is what makes the alert immediately actionable — your purchasing team knows exactly what to reorder without having to check every variant themselves first.
How This Fits into a Broader Automation Setup
Low-inventory alerts are one of the lower-risk, higher-value workflows I generally recommend early in a Shopify automation build, alongside CRM order sync, because neither changes anything customer-facing — they only add visibility your team didn't have before. I've covered the fuller sequencing logic in how I prioritise Shopify automation workflows, where inventory alerts sit alongside seven other workflows depending on where your actual operational bottleneck is.
Frequently Asked Questions
Can different products have different stock thresholds?
Yes. Thresholds are set per product or per category based on actual sales velocity and reorder lead times, not as one number applied across your whole catalogue.
How quickly does the alert arrive after stock crosses the threshold?
Within moments. The check is triggered directly by Shopify's inventory webhook the instant stock changes, rather than running on a scheduled scan that could miss a fast-moving stockout between checks.
Will I get a WhatsApp message every time a low-stock product sells another unit?
No. I build the alert to fire once at the threshold crossing, not repeatedly for every subsequent sale, unless it drops to a second, more urgent threshold you've defined. This prevents alert fatigue that causes teams to start ignoring the channel.
Can alerts go to different people depending on the product category?
Yes, if your team structure calls for it. Alerts can route by category or supplier to whoever is actually responsible for reordering that product, rather than a single shared inbox.
Does this require any changes to how my Shopify store works for customers?
No. This runs entirely through Shopify's webhook and Admin API in the background. It only adds visibility for your internal team — nothing about the customer-facing storefront changes.
Tell me how your team currently finds out about low stock, and I'll help you set up WhatsApp alerts with thresholds that actually match your sales velocity.
See how I build Shopify inventory automationReady to stop finding out about stockouts from customers?
Discuss your inventory alerts