> ## Documentation Index
> Fetch the complete documentation index at: https://help.get-ryze.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Shopify Custom App

> Connect Shopify through your own custom app — full control over permissions, credentials, and revocation.

The default [Shopify connection](/integrations/shopify) needs only your store domain and one approval click — Ryze requests a standard set of permissions for you. A **custom app** is the alternative for teams that want to stay in control:

* You define exactly which Admin API scopes Ryze gets — nothing more.
* You can rotate the credentials or revoke access any time from your Shopify admin.
* Access runs through an app your team owns, not a third-party install.

If our defaults work for you, the default connection is faster. Otherwise, follow the steps below: create the app, configure it, copy the credentials, connect.

## Step 1 — Create a custom app in Shopify

<Steps>
  <Step title="Open Settings → Apps">
    In your Shopify admin, go to **Settings**, then open **Apps and sales channels**.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-1.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=e4d8c739469f3c78eb793add6cf0416f" alt="Apps and sales channels in Shopify settings" width="2560" height="1424" data-path="images/shopify-step-1.png" />
    </Frame>
  </Step>

  <Step title="Click Develop apps">
    In the top-right corner, click **Develop apps**.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-2.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=526cf78c9b3fdf43b73366a17cf3f054" alt="The Develop apps button" width="2560" height="1424" data-path="images/shopify-step-2.png" />
    </Frame>
  </Step>

  <Step title="Open the Dev Dashboard">
    Click **Build apps in Dev Dashboard**.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-3.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=25076b3acd35e6a70a1c4436cb7b429c" alt="Build apps in Dev Dashboard" width="2560" height="1424" data-path="images/shopify-step-3.png" />
    </Frame>
  </Step>

  <Step title="Create an app">
    Click **Create app**.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-4.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=af7d2b3d578b5b55134905ab2c6944e5" alt="Create app in the Dev Dashboard" width="2560" height="1424" data-path="images/shopify-step-4.png" />
    </Frame>
  </Step>

  <Step title="Name the app">
    Under **Start from Dev Dashboard**, enter a name (e.g. `Ryze AI`) and click **Create**.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-5.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=de1e02abe48eade17798b29a49e050a6" alt="Name the app and create it" width="2560" height="1424" data-path="images/shopify-step-5.png" />
    </Frame>
  </Step>
</Steps>

## Step 2 — Configure the app

<Steps>
  <Step title="Set the App URL">
    Under **URLs → App URL**, enter `https://reports.get-ryze.ai` and keep **Embed app in Shopify admin** checked.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-6.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=36af438baf05b51101ffe835374f2662" alt="Set the App URL" width="2560" height="1424" data-path="images/shopify-step-6.png" />
    </Frame>
  </Step>

  <Step title="Add the scopes you want Ryze to have">
    Under **Access → Scopes**, paste this comma-separated list — or trim it to just the features you plan to use. Missing scopes won't block the connection, but the related features will fail later (for example, without `write_content` Ryze can't publish articles to your blog). You can always add scopes later in the same screen — but scopes added later only take effect after you **Release** a new version and **Install/approve** it on your store (Steps below), then reconnect once in Ryze.

    ```
    read_analytics,read_content,read_metaobjects,read_orders,read_products,read_publications,read_reports,read_themes,write_content,write_metaobjects,write_products,write_publications,write_themes
    ```

    <Note>
      A custom app can also grant scopes our default connection never requests. Add these only if you need them: `read_markets,write_markets` for market and domain settings, and `write_online_store_navigation` for URL redirects. Proposals that depend on these stay **Blocked** on the default connection, because those scopes are not part of the standard Ryze app.
    </Note>

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-7.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=ac5a53d17c7c7caaa5c8500244093694" alt="Add the required scopes" width="2560" height="1424" data-path="images/shopify-step-7.png" />
    </Frame>
  </Step>

  <Step title="Add the redirect URL">
    Under **Redirect URLs**, enter `https://reports.get-ryze.ai/api/auth/shopify/callback`.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-8.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=66154dcfa3933987e860ef795c2fb6c0" alt="Add the redirect URL" width="2560" height="1424" data-path="images/shopify-step-8.png" />
    </Frame>
  </Step>

  <Step title="Release the version">
    Click **Release**, confirm in the dialog, and release the version. This activates the app.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-9.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=bc724ebf91e56289981cd1dfc9b3377c" alt="Release the app version" width="2560" height="1424" data-path="images/shopify-step-9.png" />
    </Frame>
  </Step>

  <Step title="Install the app on your store">
    Open the app and click **Install app** (top-right). This installs the app on your store so Ryze can fetch an access token.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/GRubxp41D8Pka53x/images/shopify-step-install.png?fit=max&auto=format&n=GRubxp41D8Pka53x&q=85&s=c1318f2c380016ba923ed2bbdeeb3358" alt="Install app button in the Dev Dashboard" width="3100" height="1656" data-path="images/shopify-step-install.png" />
    </Frame>

    <Warning>
      Don't skip this step. Without installing the app, the connection fails with `app_not_installed` and Ryze can't authenticate — even though your Client ID and Secret are correct.
    </Warning>
  </Step>
</Steps>

## Step 3 — Copy your credentials

<Steps>
  <Step title="Open Settings → Credentials">
    In the app, open **Settings**. Copy the **Client ID**, then reveal and copy the **Secret** (this is your Client secret).

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-10.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=df6aae5dbf657a60475c6d9dc09dbb01" alt="Copy the Client ID and Secret" width="2560" height="1424" data-path="images/shopify-step-10.png" />
    </Frame>
  </Step>

  <Step title="Find your store domain">
    Back in your Shopify admin, open **Settings → Domains**. Your store domain is the `.myshopify.com` address marked **Primary**.

    <Frame>
      <img src="https://mintcdn.com/ryzeai-5f9aafd5/9WzzE2yPkIXJWVCh/images/shopify-step-11.png?fit=max&auto=format&n=9WzzE2yPkIXJWVCh&q=85&s=dfbcd7c93021524405f0ae02adf33e34" alt="Find your store domain" width="2560" height="1424" data-path="images/shopify-step-11.png" />
    </Frame>
  </Step>
</Steps>

## Step 4 — Connect in Ryze

In **Workspace Settings → Integrations**, click **Connect** on the Shopify card and switch to the **Custom app** tab, then fill in:

* **Store domain** — e.g. `yourstore.myshopify.com`
* **Client ID** — the Client ID you copied
* **Client secret** — the Secret you copied

Click **Continue**. Ryze verifies the credentials against your store immediately — if something's wrong, you'll know right away. Tokens refresh automatically using your app's credentials, no maintenance needed.

To revoke access later, uninstall the app in your Shopify admin. To rotate the secret, generate a new one under **Credentials** and reconnect in Ryze.

Need help? Email [support@get-ryze.ai](mailto:support@get-ryze.ai).
