Back in stock subscriptions
The problem it solves: A shopper visits your online store and finds a product they want, but it’s currently out of stock. Previously, they’d just leave — and you’d lose that potential sale. What it does now:- When a product goes out of stock, the system automatically takes note of it behind the scenes.
- Shoppers can sign up to be notified when that product comes back. Their request gets sent to Voyado Engage, where it’s recorded against their customer profile.
- If the shopper doesn’t already exist in Voyado, the system automatically creates a customer record for them so nothing falls through the cracks.
- A scheduled job runs every day (by default at 8:15 AM) that checks which previously out-of-stock products now have inventory again.
- When stock arrives, Voyado Engage is notified — and it can then automatically send an email or message to all the customers who were waiting for that product.
Inventory changes
The problem it solves: Voyado Engage needs to know how much stock you have for each product so it can make smart decisions — like not promoting a product that’s about to sell out, or triggering those “back in stock” notifications at the right time. What it does now:- The system can send stock levels from Magento to Voyado, either one product at a time or in bulk (batches) for efficiency.
- The batch capability (the most recent addition from March 2026) means that instead of sending hundreds of individual updates, the store can send them all at once — which is much faster and more reliable when you have a large product catalog.
How it all fits together
The extension is built in three layers:| Layer | What it does |
|---|---|
API layer (/api) | A PHP library that knows how to talk to Voyado’s web services (generated from Voyado’s official API specifications). |
SDK layer (/sdk) | A friendlier wrapper around the API — it handles things like finding or creating customer records and managing “back in stock” subscriptions. |
Magento module (/magento2) | The actual Magento extension that store owners install. It hooks into Magento’s product catalog, inventory system, and customer management to trigger all the syncing automatically. |
Configure Back in stock
Enable back in stock
Still in the Magento Admin under Stores → Configuration → Voyado Engage:1a. Scroll to the Back in stock section:
1b. Save the configuration.
| Field | Value | Notes |
|---|---|---|
| Enable | Yes | Turns on the subscription form and the stock sync |
| Ask for phone number | Yes/No | Optional — adds phone + SMS consent fields to the form |
Configure the out-of-stock product visibility setting
This is a critical Magento catalog setting that the indexers depend on.Navigate to:
Stores → Configuration → Catalog → Inventory → Stock OptionsSet
Display Out of Stock Products (cataloginventory/options/show_out_of_stock) based on your Magento version:| Magento Version | Setting |
|---|---|
| 2.4.6 and lower | No |
| 2.4.7 and higher | Yes |
Set the indexers to 'Update by Schedule'
The two Voyado indexers must run in scheduled (MView) mode, not “Update on Save”. Run:Verify they are set correctly:Both should report “Update by Schedule”.
bash
bash
Verify RabbitMQ and the Message Queue Consumer
The extension publishes all Voyado API calls to a RabbitMQ topic called
voyado.api. A consumer processes them asynchronously.- Confirm RabbitMQ is running and Magento is connected to it (check
app/etc/env.phpfor thequeue→amqpconnection). - Ensure the Voyado message queue consumer is running. In production you would typically use
supervisordor a similar process manager:
bash
Verify the cron job is registered
The back-in-stock cron is defined to run daily at 08:15 server time:Verify your Magento cron is running properly:Check the schedule is registered:
bash
bash
Test the complete flow
Test the subscription flow:
- Go to a product detail page in your storefront.
- If the product is in stock and Back in Stock is enabled, you should see a “Notify me when available” form with an email field (and optionally phone).
- Select a product variant that’s out of stock, fill in your email, and click “Notify me”.
- Confirm the message was queued: check the
queue_messagetable in the database or your RabbitMQ management console for a message with eventback_in_stock_subscription. - Confirm the consumer processed it: check Magento logs (
var/log/) for Voyado API call records.
- Set a product to out-of-stock in the Magento admin (or set quantity to 0).
- Wait for the indexer to run (or trigger it manually:
bin/magento indexer:reindex voyado_backinstock voyado_backinstock_msi). - Verify a record appears in the
voyado_backinstock_indextable. - Set the product back to in-stock (increase quantity).
- Either wait for the 08:15 cron, or trigger it manually:
bin/magento cron:run --group=default. - Verify the record has been removed from
voyado_backinstock_index(meaning it was processed). - Check logs to confirm a
back_in_stock_update_stock_levelsmessage was sent to Voyado Engage.