Before You Start
What the Sophi Shopify app needs — store plan and theme, the six app permissions and why each is needed, the customer data it shares, and the details to send Sophi before setup.
Check these before you create the app. Most of them take a minute; the permissions are the one thing that is hard to change later.
Your store
| Requirement | Why |
|---|---|
| A Shopify plan with the Online Store sales channel | The assistant lives in your theme. Any plan works; checkout itself is not changed, so Shopify Plus is not required. |
| An Online Store 2.0 theme (JSON templates, "Add section → Apps" in the theme editor) | App blocks can only be placed on 2.0 themes. All current Shopify themes are 2.0. |
| A staff account with app development permission in your Shopify organization | Needed to create the app in the Dev Dashboard. The store owner has it; give it to whoever does the setup. |
| The store's time zone set to your own (Settings → General) | Campaign end dates from your automatic discounts are read in the store's time zone. |
Themes
The app is tested on Shopify's two theme families:
- Dawn and the paid themes built on it.
- Horizon and its family.
Two things differ by theme, and the app handles both:
- After a chat add-to-cart, the app tells your theme the cart changed, so the cart drawer or pop-up opens and the cart count updates, just like the theme's own "Add to cart" button. If your theme doesn't react, use the After chat add-to-cart setting to open the cart page or reload the page instead (details).
- The chat page. Page templates belong to a theme. If your theme can't hold the Sophi chat page block, the app adds the chat at the end of the page's main content.
The app's permissions
The app asks for six permissions. Sophi needs all six, and only reads data.
write_pixels is the only write permission, and it is limited to the app's own
purchase pixel.
| Permission | Shown as | Used for |
|---|---|---|
read_products | View products | Catalog sync: products, variants, prices, images, collections, metafields |
read_inventory | View inventory | Catalog sync: which sizes are in stock |
read_discounts | View discounts | Catalog sync: active product-level automatic discounts (amount or percentage off, buy X get Y) become Sophi promotions, so the assistant knows about them. Order-level, free-shipping and code discounts are not read. |
read_metaobjects | View metaobjects | Catalog sync: the names behind Shopify's standard product attributes (e.g. Skin type: Dry) |
write_pixels | Manage pixels | Creating the app's purchase pixel |
read_customer_events | View customer events | Running the purchase pixel |
What the install screen shows. 1 All six permissions must be listed. 2 Only then Install — see Create and install the app.
If a permission is added to the app after it is installed, Shopify does not ask you to approve it — the store simply keeps the old permissions. The only fix is to uninstall the app and install it again. Install the app once, with all six permissions, before you set up the theme and the purchase pixel.
Customer data
- Guests chat anonymously.
- Logged-in customers: the app sends Sophi the customer's Shopify id and their first and last name, so the assistant can greet them and remember them across devices. No email address, phone number or address is sent.
- Purchases: the pixel sends the order id, totals (tax, shipping, discounts, discount code) and the order lines, linked to the same shopper as the chat. No customer contact details.
Until the shopper consents through your cookie banner, the chat runs anonymously: nothing is stored in their browser, no name or customer id is sent, and no events are tracked. See Consent.
Shopify shows read_customer_events to merchants as access to customer data;
that is why it appears on the install screen.
Send these to Sophi
Before setup, send the Sophi team:
- Your store's
myshopify.comaddress, e.g.your-store.myshopify.com. - Every domain shoppers use: the primary domain, with and without
www(e.g.www.example.comandexample.com). Sophi only answers chat requests from domains on your list. A missing domain is the most common reason the chat doesn't open. - Your chat language: Turkish, English or Portuguese. One catalog language
per store for now; language prefixes such as
/enstill work for the cart, checkout and chat page links. - Your colour option name, if it isn't Renk, Color or Colour (for example Ton or Shade). Sophi makes one product per colour; options with Shopify colour swatches are found automatically.
- Where your product content lives, if you use metafields for things like ingredients, how to use or care instructions. Sophi shows them to the assistant as product sections. Shopify's standard attributes and product ratings come in without any setup.
Next: Create and install the app.
Shopify Integration
Put the Sophi assistant on a Shopify store with the Sophi Shopify app — catalog sync, chat entry points, cart and checkout hand-off, and purchase tracking, set up from the theme editor without writing code.
Create and Install the App
Create the Sophi app in your Shopify organization's Dev Dashboard, deploy the Sophi app code to it, install it on your store with its six permissions, and share its credentials so Sophi can sync your catalog.