Maestra

Stashlist sends wishlist events directly to your Maestra operation endpoint, populating customer profiles and Favorites lists in real time. Use them to trigger flows, build high-intent segments, power personalisation, and fire multi-channel campaigns.

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

  1. In Maestra admin, go to Integrations → Integration Setup → Add integration.
  2. Choose your integration type (Website or Other).
  3. Give it a name (e.g. "Shopify / Stashlist") and save.
  4. Under Secret keys, copy the production key. You will paste this into Stashlist.

Step 2: Create an API v3 method

  1. Go to Campaigns → Campaign Manager and open the campaign you want to use (or create a new one).
  2. Click Add → API Method.
  3. 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 action field in the payload ("add" or "remove").
  4. Save the method, then click View description to copy the generated operation URL.

Step 3: Connect in Stashlist

  1. In your Shopify admin, go to Apps → Stashlist → Integrations → Maestra.
  2. Paste your Secret Key and the Operation URL.
  3. 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.