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.

The app lives in your Shopify organization. That is what lets Sophi read your catalog: Shopify gives an app access tokens for a store only when the app and the store belong to the same organization. It also means the app is yours. You can see it, and remove it, at any time.

You need the app code from Sophi

The app code isn't public. Contact the Sophi team to get it, or to have us deploy it into your organization for you (step 2).

1. Create the app

Open the Dev Dashboard with a staff account that has app development permission, and pick your organization.

1 Apps → Create app. 2 Choose Start from Dev Dashboard. 3 Name it Sophi, then Create. Leave the rest as it is: the deploy in step 2 fills in the app's configuration.

2. Deploy the Sophi code to it

Deploying puts three things into your app:

  • its configuration and the six permissions;
  • the sophi-assistant theme app extension (the embeds and blocks);
  • the sophi-pixel web pixel extension.

Each deploy creates a new app version, which you can see under Versions in the Dev Dashboard.

Add the Sophi integration account (the Sophi team sends you the address) to your organization as a staff member with app development permission. Tell us the app is created; we link the Sophi code to it, deploy it and tell you when it is ready to install. You can remove the account after go-live.

You need Shopify CLI, Node.js and the app code package from Sophi. From the package folder:

# The pixel extension's build dependency.
(cd extensions/sophi-pixel && npm install)

# Log in, pick your organization and the "Sophi" app you created.
# Writes shopify.app.<name>.toml for your app.
shopify app config link

Before you deploy, open the new shopify.app.<name>.toml and set these three things. The app has no admin screens: its URL only opens the Sophi docs.

application_url = "https://docs.usesophi.com"
embedded = false

[access_scopes]
scopes = "read_products,read_inventory,read_discounts,read_metaobjects,write_pixels,read_customer_events"

Then deploy the configuration and both extensions as a new version:

shopify app deploy --config <name> --allow-updates

3. Install it on your store

In the Dev Dashboard, open the Sophi app and select Install app on the Installs card. Pick your store.

1 Shopify lists the six permissions. Check that all six are there — see why each is needed. 2 Install.

After installing, Sophi is listed in your store admin under Settings → Apps. Opening it shows the Sophi docs: the app has no admin screens, because everything is set in the theme editor.

All six permissions, the first time

If the install screen shows fewer than six permissions, stop and tell us before you set up the theme. A permission added after the install needs an uninstall and a reinstall. See Before you start.

4. Share the credentials

Sophi's catalog sync signs in as your app. In the Dev Dashboard open Sophi → Settings:

1 Settings. 2 Copy the Client ID and the Client secret and send them to the Sophi team through the secure channel we give you, not by plain email.

If you rotate the secret

Rotating the client secret, or uninstalling the app, stops the catalog sync. Send us the new secret after a rotation.

5. Sophi imports your catalog

With the credentials, Sophi:

  1. Runs a test import that reads your catalog and reports what it would create, without saving anything.
  2. Runs the first import. Products appear in the Sophi platform under Products. Each colour of a product is its own Sophi product, with its sizes as variants, prices, stock, images, collections, automatic discounts and your product content.
  3. Switches on the hourly sync. Each run sends only what changed: prices, stock, new products, new discounts.

For the first week, products that disappear from your store are only logged. Sophi checks that the list is right, then lets the sync deactivate them automatically.

You can set up the theme while the import runs.

On this page