Docs

Everything you need to set up Reshelf and understand what it does.

Setup in five minutes

  1. Install the app from the Shopify App Store and approve the permissions (products, inventory, orders).
  2. On the app’s home screen, choose Open theme editor. The editor opens on your product page with the Back-in-stock alert block already placed. Drag it where you want it (usually just under the Add to cart button) and click Save.
  3. Open a sold-out product in your store. The form appears. Request an alert with your own email, then set the product’s inventory above zero: you’ll get the email within a minute.

The home screen’s status section confirms each step: it shows “Form is live on your storefront” once a shopper (or you) has loaded a page with the block.

The storefront form

The block shows only while the selected variant is sold out and hides as soon as the shopper picks an available one. In the theme editor you can choose an inline form or a button that opens a popup, set the heading, button and success text, the colours, and whether to show a newsletter opt-in checkbox.

Leave the text fields blank to use the built-in wording, which appears in the shopper’s language (English, Spanish, French, German, Italian, Portuguese and Dutch). Anything you type is shown as typed.

Two more block settings: Ask for a mobile number adds an optional phone field with an SMS consent checkbox (see Text alerts below), and Offer price-drop alerts shows the form on in-stock items too, with a price-drop heading (see Price-drop alerts).

Signups are protected against bots with a hidden field and rate limits. A shopper who asks twice for the same variant keeps their original place in line.

The alert email

Emails are sent from our domain with your store’s name as the sender; replies go to your store’s email address. In Settings you can edit the subject and message and see a live preview. {{product}} and {{shop}} are replaced with the product name and your store name. Every email includes the product image, a link to that exact variant, and a one-click unsubscribe link.

Text alerts (SMS)

Texts are sent through Twilio. On the app’s SMS page, choose how they go out:

Then turn on Ask for a mobile number on the block in the theme editor. Shoppers can give an email, a mobile number, or both. A number is only accepted when the shopper ticks the consent box, which carries the wording US carriers require, and the app keeps the time of consent. Each shopper receives one text per request; a STOP reply cancels their requests with your store. Texts appear in the alert log with the delivery status reported by Twilio.

The text’s wording is yours to set on the SMS page, with a live preview and a segment count. “Reply STOP to opt out” is added automatically when your wording doesn’t mention STOP.

Price-drop alerts

Turn on Offer price-drop alerts on the block. On an in-stock variant the form appears with a price-drop heading; the app remembers the price the shopper saw. When the variant’s price goes below it and the item is still purchasable, the shopper gets an email or text with the old and new price. Product updates trigger the check, with a re-check every five minutes as a backstop. The email and text wording lives in Settings and on the SMS page, with {{old_price}} and {{new_price}} available.

Sending rules

In Settings → Sending rules:

Send now on the Requests page ignores these rules for one product, for the times you want everyone told immediately.

Alert log and status

The Alert log lists every email and text: who, which product, the channel, what triggered it (a restock, a price drop, the five-minute re-check, a follow-up batch, or Send now), when the change was detected, when the message was handed to the provider, and its delivery status: sent, delayed, delivered, bounced, marked as spam, or send failed. A shopper who marks an email as spam or replies STOP to a text is unsubscribed automatically.

The home screen’s Status section checks, each time you open the app, that:

Requests and exports

Requests shows demand by product (how many are waiting and since when), price-drop requests with the lowest price shoppers are waiting for, and the latest individual requests with their channel. You can delete a request, or export everything as CSV, including phone numbers, consent times and whether each shopper ticked the newsletter box.

Recovered revenue

When an order includes a variant that a shopper was alerted about within the previous 14 days, that order is counted on the home screen as revenue from alerts. Matching is by the shopper’s email on the order.

Klaviyo

On Integrations, paste a Klaviyo private API key with read access to lists and write access to events, profiles and subscriptions. The app then records four events on the shopper’s profile: “Back in stock requested”, “Back in stock alert sent”, “Price drop requested” and “Price drop alert sent”, each with the product and variant. Shoppers who tick the newsletter box are subscribed to the list you choose. Use the events to build your own Klaviyo flows, including SMS if you send texts from Klaviyo.

Shopify Flow

Two triggers are available in Flow once the app is installed:

Use them to tag customers, post to Slack, or feed your own reports.

Plans

Every feature is on every plan; only the monthly number of alerts differs. See the pricing section. Change plans from the app; Shopify handles the charge.

Texts are the one thing priced per message, because carriers charge us per message. Every store gets 5 free. After that a text costs 2¢ per segment to US and Canadian numbers and a listed rate for other countries (the table is on the app’s SMS page); numbers in countries not listed are offered email instead. The charge is added to your Shopify bill with the plan, and texts need a paid plan. You set a monthly spend cap on the SMS page: at the cap, text requests wait and go out when you raise it or on the 1st. Emails are never charged per message.