Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt

Use this file to discover all available pages before exploring further.

Shopify Integration

You can connect a Shopify store to Sequenzy from Settings -> Integrations. Once connected, Sequenzy syncs store data, listens for Shopify webhooks, and can power product-aware automation such as replenishment reminders and back-in-stock emails.

What It Does

  • Sync products, variants, prices, images, stock state, and product URLs
  • Sync Shopify customers and order revenue onto subscriber profiles
  • Track order, checkout, customer, refund, fulfillment, and stock events
  • Capture back-in-stock requests from the Shopify storefront block
  • Trigger replenishment reminder events after a product-specific delay
  • Show purchased products on subscriber profiles alongside Stripe products

Required Scopes

Sequenzy requires these Shopify OAuth scopes:
ScopeUsed For
read_customersCustomer sync and customer profile updates
read_ordersOrder events, revenue, and purchased items
read_productsProduct catalog, variants, pricing, images
read_inventoryInventory-level updates for stock webhooks
read_checkoutsCheckout events for recovery and automation
read_discountsDiscount lookup and validation
write_discountsDiscount code creation
When you reconnect Shopify, Sequenzy checks the scopes Shopify actually granted to the saved token. If any required scope is missing, reconnect the store from Settings so Shopify can grant the latest permissions.

Synced Data

Products

The product catalog includes:
  • Product title, description, handle, image, URL, and stock state
  • Lowest product price and compare-at price when available
  • Variant IDs, titles, SKUs, option values, prices, images, and inventory state
  • Replenishment settings stored per product
You manage synced products from Settings -> Products. Product rows show stock, price, variants, back-in-stock waitlists, and pending replenishment reminders.

Subscribers

Shopify customer and order data is stored as subscriber attributes:
AttributeTypeDescription
ordersCountNumberTotal known Shopify orders
totalOrdersNumberAlias for total known Shopify orders
totalSpentNumberTotal known Shopify spend in store money
ltvNumberLifetime value used for segmentation
aovNumberAverage order value
Older subscribers may still have totalRevenue or averageOrderValue. Sequenzy treats those as legacy fallbacks for ltv and aov instead of showing duplicate fields in subscriber views.

Order Events

Shopify order webhooks trigger ecommerce.order_placed with product line item data:
{
  "orderId": "1002",
  "totalPriceCents": 8850,
  "currency": "USD",
  "orderedAt": "2026-04-02T00:00:00.000Z",
  "lineItems": [
    {
      "provider": "shopify",
      "lineItemId": "line-1",
      "providerProductId": "788032119674292922",
      "providerVariantId": "45123456789123",
      "sku": "VANILLA-1",
      "title": "Protein Powder",
      "variantTitle": "Vanilla",
      "quantity": 1,
      "priceCents": 8850
    }
  ]
}
Sequenzy uses lineItems[].providerProductId and, when variant-level matching is enabled, lineItems[].providerVariantId to match follow-up automation against the exact product that was purchased.

Replenishment Reminders

Replenishment reminders start from synced products:
  1. Open Settings -> Products.
  2. Choose a Shopify product.
  3. Turn on replenishment.
  4. Pick how many days after purchase the product usually runs out.
  5. Choose whether matching should use any variant of the product or the exact purchased variant.
When someone buys a configured product, Sequenzy queues a reminder. If the subscriber buys the same product again before the reminder is due, the reminder is skipped. When the reminder fires, it triggers ecommerce.replenishment_due. The event includes the same product matching fields:
{
  "provider": "shopify",
  "providerProductId": "788032119674292922",
  "providerVariantId": "45123456789123",
  "replenishmentScope": "variant",
  "orderedAt": "2026-04-02T00:00:00.000Z",
  "sourceOrderId": "1002",
  "product": {
    "providerId": "788032119674292922",
    "providerVariantId": "45123456789123",
    "title": "Protein Powder",
    "variantTitle": "Vanilla",
    "imageUrl": "https://cdn.example.com/product.png",
    "url": "https://store.example.com/products/protein-powder",
    "price": "$88.50",
    "priceCents": 8850,
    "currency": "USD"
  }
}
Sequences started by ecommerce.replenishment_due get a default stop condition: they stop when the same product is purchased again.

Back-In-Stock Requests

The Shopify storefront block captures customer email, product ID, variant ID, product title, and variant title for out-of-stock items. Sequenzy records the request and triggers ecommerce.back_in_stock_requested. When a synced product variant returns to stock, Sequenzy marks active waitlist entries as notified and triggers ecommerce.back_in_stock.
{
  "provider": "shopify",
  "providerProductId": "788032119674292922",
  "providerVariantId": "45123456789123",
  "productTitle": "Protein Powder",
  "variantTitle": "Vanilla",
  "productUrl": "https://store.example.com/products/protein-powder",
  "imageUrl": "https://cdn.example.com/product.png",
  "requestedAt": "2026-04-01T12:00:00.000Z",
  "backInStockAt": "2026-04-02T08:00:00.000Z"
}
Sequences started by ecommerce.back_in_stock get a default stop condition: they stop if the same item is purchased or if the same item goes out of stock again.

Subscriber Profiles

Subscriber profiles show commerce context from Shopify:
  • Purchased products from order line items, including product image, variant, quantity, price, and last purchase time
  • Pending replenishment reminders
  • Active back-in-stock waitlist entries
  • Revenue metrics such as ltv and aov
Pending replenishment rows link to the subscriber profile when the subscriber is known.