Capture demand for what you do not have, hold it in a waitlist with real intent signals, and convert it the hour stock lands.
Bring your stack to a call and we will scope it against how your business actually runs.
Book a callAn out-of-stock page is the most honest demand signal a retailer ever receives. Somebody wanted the thing badly enough to find it, pick a size, and get all the way to the point of buying. Then the page said no, and almost every retailer responds by doing nothing with that information. The visitor leaves, buys it somewhere else or forgets about it, and the retailer never learns that twelve people wanted that line in that size last month. The demand existed, was measured by nobody, and vanished.
Where a notify-me box does exist, it is usually a dead end: an email address dropped into a list, a single notification sent whenever someone eventually remembers to trigger it, and no sense of urgency in the message. By the time the alert goes out, the restock has often already sold through to walk-in traffic or to customers browsing the site that morning, so the person who asked first gets told last. That is worse than not having a waitlist, because you have now promised something and failed to deliver it. The second failure is volume blindness: with no record of how many people are waiting per variant, buying decisions get made on gut feel. You reorder what the buyer likes rather than what the waitlist proves people are asking for.
There is also a margin opportunity sitting unused. A back-in-stock alert is one of the highest-intent messages in retail - the recipient has already decided to buy - and it almost never needs a discount to convert. Yet many retailers either send it late, send it to everyone at once so the fastest clicker wins and everyone else gets a second disappointment, or bundle it into a general newsletter where it competes with nine other things. This build turns the out-of-stock moment into a captured, scored, queued and converted demand pipeline, with alerts that go out in priority order within minutes of stock landing, and a reservation window that means the person who waited actually gets the item.
One pipeline, Stock Waitlist, with one opportunity per waitlist request - not per contact, because the same person may be waiting on three different variants and each needs its own state.
These sit on the opportunity, not the contact, because the unit of this build is a request for a variant.
Trigger: Notify Me form submitted, In-store Waitlist Entry submitted, or BO captures a request in conversation.
Conditions: Requested SKU must be present and must match a known variant. If it does not match, create an internal task for the merchandising team and still capture the contact - a mismatched SKU is a data problem, not a reason to lose the demand.
Stop conditions: duplicate request exits early; a contact carrying a global opt-out is captured on email only, never SMS.
Trigger: opportunity created in Waiting - No ETA.
Conditions: at least one in-stock variant exists in the adjacent size or another color of the same line. If nothing comparable is in stock, skip this workflow entirely rather than sending an empty email.
Stop conditions: purchase of any variant of the line; request withdrawn; Expected Restock Date populated inside 48 hours, in which case the ETA message is the better next touch.
Trigger: Expected Restock Date populated or changed on a SKU.
Conditions: applies to every open opportunity for that SKU in Waiting - No ETA or Waiting - ETA Known.
Stop conditions: restock event fires, which hands over to workflow 4; request withdrawn; line discontinued, which hands to workflow 7.
Trigger: inventory webhook reports available quantity for a SKU moving from zero to above your buffer threshold.
Conditions: open opportunities exist for the SKU. Compute wave one size as the lesser of Restock Quantity and the count of waiting requests. Order the queue by Intent Score descending, then Request Date ascending, with bis-never-converts contacts placed last regardless of score.
Stop conditions: stock sells out before the wave completes, which halts remaining sends and routes those contacts back to Waiting - No ETA with no message - being re-queued silently is better than being alerted about nothing; contact opted out; request withdrawn.
Trigger: 90 minutes after wave one completes.
Conditions: remaining available quantity is above the buffer and unalerted open requests exist for the SKU.
Stop conditions: stock exhausted; all open requests alerted; SKU marked discontinued mid-sequence.
Trigger: Reservation Confirmation submitted, or the alert link is clicked through to basket.
Conditions: the opportunity is in Restocked - Alert Sent and Reservation Expiry has not passed.
Stop conditions: purchase completes the workflow; expiry hands to the sweep in workflow 5; customer cancels, which releases the hold immediately.
Trigger: SKU marked discontinued in the product feed, or a manual discontinuation action.
Conditions: open opportunities exist for the SKU. Requires at least one named substitute - if merchandising has not supplied one, create a task and hold rather than sending a bare apology.
Stop conditions: substitute purchased; contact unsubscribes; bis-discontinued-notified blocks any repeat notification for the same SKU forever.
Trigger: opportunity has been in a Waiting stage for 30 days.
Conditions: no restock event in that period. Skip contacts alerted in the last 14 days.
Stop conditions: restock event takes precedence over any hygiene step in flight; purchase of the SKU through any channel closes the request as Converted.
Trigger: inbound chat, SMS or social DM containing an availability intent - "do you have", "when is this back", "is this in stock".
Branches:
Stop conditions: BO stands down once a human replies; BO never sends a second unprompted message in the same thread about the same SKU.
Before this build, an out-of-stock page is a dead end and the demand behind it is invisible. After it, the out-of-stock page is a capture surface, the demand is counted per variant, and the restock is a sequenced, priority-ordered conversion event rather than a free-for-all. The person who asked first actually gets the item, which is the whole promise of a waitlist and the part most retailers break.
Two things change commercially. First, revenue that used to leak to competitors is recovered at full margin, because a restock alert converts on intent rather than on discount. Second, the buying team gets a demand signal they have never had: not what sold, which only tells you what you had, but what people asked for and could not get. That changes reorder quantities, size curves and range decisions, and it is usually the finding that surprises the client most.
Measure these weekly, by SKU and in aggregate:
Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.
Book a call