Maestra
Maestra has native Favorites (wishlist) tracking and built-in price drop and back-in-stock flows. Once your product feed is connected to Maestra, those automations run entirely within Maestra; Stashlist just needs to send the add and remove events to keep the Favorites list in sync.
Setup
Step 1: Create an integration point in Maestra
- In Maestra admin, go to Integrations → Integration Setup → Add integration.
- Choose your integration type (Website or Other).
- Give it a name (e.g. "Shopify / Stashlist") and save.
- Under Secret keys, copy the production key. You will paste this into Stashlist.
Step 2: Create an API v3 method
- Go to Campaigns → Campaign Manager and open the campaign you want to use (or create a new one).
- Click Add → API Method.
-
Configure the method:
- Select the integration point you created in Step 1 as the endpoint.
- Check "API method requires a secret service key".
- Add a step: Find or create customer by email.
- Add a step: Edit product list: choose Favorites, and configure it to add or remove based on the
actionfield in the payload ("add"or"remove").
- Save the method, then click View description to copy the generated operation URL.
Step 3: Connect in Stashlist
- In your Shopify admin, go to Apps → Stashlist → Integrations → Maestra.
- Paste your Secret Key and the Operation URL.
- Click Connect.
Events reference
Stashlist sends these events to your operation URL. Each event includes the action field so a single Maestra method can handle all of them.
action value When it fires
add A logged-in customer saves a product to their wishlist remove A logged-in customer removes a product from their wishlist price_drop A wishlisted product's price drops by 10% or more (default, configurable in Stashlist → Integrations) back_in_stock An out-of-stock wishlisted product becomes available again low_in_stock Inventory for a wishlisted product drops below 5 units (default, configurable) Payload fields
Every request is a JSON POST to your operation URL with the X-Service-Key header set to your secret key. The body contains:
Field Description
action Event type (see table above) email Customer email address (used to identify / create the Maestra contact) customerId Shopify customer ID (numeric string) firstName Customer first name lastName Customer last name productId Shopify product ID (numeric string) variantTitle The specific variant saved, e.g. "Blue / Large" productUrl Full storefront URL of the product imageUrl Product image URL price Product price as a decimal string at the time of the event newPrice New (dropped) price (price_drop action only) inventoryCount Current inventory count (low_in_stock action only) What Maestra can do with these events
- Populate Favorites: keep each customer's Maestra Favorites list in sync with their Stashlist wishlist, enabling native Maestra price-drop and back-in-stock flows.
- Build high-intent segments: filter customers who have products from a specific category in their Favorites, then target them with campaigns at the right moment.
- Trigger multi-channel flows: fire email, SMS, push, or in-app messages the moment a product is saved or when its price drops.
- Power personalisation: surface wishlisted products in Maestra-driven site personalisation blocks and recommendation widgets.
- Loyalty mechanics: award bonus points when a customer saves a product using Maestra's built-in loyalty engine.