Skip to content

Product Alerts (Headless)

Magento has a quietly high-converting feature built in: Product Alerts. A shopper can ask to be emailed when a product’s price drops or when it’s back in stock — and the day that email lands, they come back and buy. But the signup UI ships only for the Luma frontend, so the moment you go headless it disappears. Product Alerts puts it back: a single GraphQL mutation your storefront calls to subscribe the signed-in customer, while Magento’s own engine does the rest.

Magento's native Product Alerts settings (Stores → Configuration → Catalog → Catalog) — the engine this module exposes to your headless storefront over GraphQL

Install Product Alerts with Composer using your AgenticEcom licence key (find it on your My Licences page — one key unlocks every module you own):

Terminal window
# 1. Register the AgenticEcom repository (once per store)
composer config repositories.agenticecom composer https://repo.agenticecom.net
composer config --global --auth http-basic.repo.agenticecom.net <YOUR-LICENCE-KEY> x
# 2. Require this module
composer require agenticecom/module-product-alerts
# 3. Apply it
php bin/magento setup:upgrade && php bin/magento setup:di:compile && php bin/magento cache:flush

Magento

Open Source 2.4.9 GA (and later 2.4.x).

PHP

Tested on 8.4 and 8.5.

Frontend

Any GraphQL storefront — Astro, Hyvä, PWA Studio, custom.

Engine

Magento’s native Magento_ProductAlert (cron + emails).

Call this when a signed-in shopper taps “alert me”:

mutation {
subscribeProductAlert(input: { sku: "ABC-123", alert_type: PRICE }) {
success
message
}
}
FieldNotes
input.skuSKU of the product to watch.
input.alert_typePRICE (notify on price drop) or STOCK (notify when back in stock).
successtrue when the subscription was created.
messageHuman-readable status you can show the shopper.
  1. A signed-in shopper taps “Notify me on a price drop” on a product page.

  2. Your storefront calls subscribeProductAlert with the SKU and PRICE (or STOCK).

  3. The module writes the subscription to Magento’s native product-alert table for that customer.

  4. Magento’s catalog_product_alert cron detects the price drop (or restock) and sends the email through your configured mail transport.

  5. The email links the shopper back to the product. Pair with Headless Email URLs so that link points at your storefront, not the backend.

There’s no module-specific config — it uses Magento’s standard Product Alerts settings:

Stores → Configuration → Catalog → Catalog → Product Alerts — enable Allow Alert When Product Price Changes and/or Allow Alert When Product Comes Back in Stock, set the email templates and sender, then make sure cron is running (the catalog_product_alert group sends the emails).

Does it support back-in-stock as well as price-drop?

Yes — pass alert_type: STOCK for back-in-stock, PRICE for price-drop. Enable the matching option under Catalog → Product Alerts.

Who sends the emails?

Magento does — its native catalog_product_alert cron job. This module only handles the subscribe step, so there’s no parallel mail system to maintain.

Can guests subscribe?

No — alerts are tied to a customer account (Magento keys them on customer_id). Prompt guests to sign in first; your headless account area handles the auth.

How does a shopper unsubscribe?

Magento’s alert emails include the native unsubscribe link, and subscriptions appear under the customer’s account in the admin — all standard Magento behaviour.