Skip to main content

Shopify

Turn store activity into messaging: abandoned-cart journeys, order confirmations on the customer's preferred channel, win-back campaigns keyed on purchase history.

Setup

  1. In your Shopify admin, create a custom app (Settings → Apps and sales channels → Develop apps) and note the webhook signing secret from its API credentials.
  2. In Hober, open Settings → Integrations → Shopify → Connect and paste the signing secret and your shop domain.
  3. In the custom app, subscribe webhooks pointing at https://api.hober.io/v1/integrations/shopify/inbound/<your tenant id> for the topics you need:
    • orders/create, orders/fulfilled
    • checkouts/create, checkouts/update
    • customers/create, customers/update

Every delivery is verified against the signing secret (HMAC-SHA256); unsigned or mis-signed requests are rejected.

Mapping

Shopify topicHober
orders/createorder_placed event
orders/fulfilledorder_fulfilled event
checkouts/create / checkouts/updateOne checkout_started event per checkout — Shopify's repeated update webhooks collapse instead of re-triggering journeys
customers/create / customers/updateSubscriber upsert (email, first/last name as attributes)

Customers become subscribers with external id shopify:<customer id> and are refreshed before every order/checkout event, so journeys always see current attributes. Guest checkouts still produce events (without an actor). Totals, currency, and line items land as event properties — {{ event.line_items }} works in Liquid templates for cart-contents messages.

The abandoned-cart journey

Trigger a journey on checkout_started, add a wait-for-event step on order_placed with your chosen window (say 45 minutes), and branch: converted → stop; didn't → send the reminder with the cart contents. The checkout-collapse behavior above means one checkout equals one journey entry.