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

# Connect Shopify

> Enter your store's Shopify domain, log in to your own Shopify store and approve the Consile app. The access is renewed automatically and can be revoked.

*[Læs siden på dansk](https://docs.consile.ai/connect/forbind-shopify.md)*

You connect Shopify by entering your store's Shopify domain
(`<store>.myshopify.com`), logging in on your store's own Shopify page and
approving the Consile app. The result is an access token that Consile stores
encrypted per customer. Your AI never sees the token itself.

> [!NOTE]
>
> Shopify must be bought in the [portal](https://app.consile.ai) or be included in
> your plan ([the free edition](https://docs.consile.ai/en/portal/free-edition.md) or
> [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md)), and your AI
> must be connected ([Claude](https://docs.consile.ai/en/connect/connect-claude.md) or
> [ChatGPT](https://docs.consile.ai/en/connect/connect-chatgpt.md)). You must be able to log in to the store
> with permissions to install apps. Anyone on the team can connect the store as
> long as it is not connected. Only an administrator can reconnect it or
> disconnect it.

> [!NOTE]
>
> Shopify is always connected from the portal, because the store domain must be
> entered first. A connection link from your AI in the chat cannot be used for
> Shopify. Instead, go to **Shopify** in the [portal](https://app.consile.ai), and
> connect from there as described below.

> [!NOTE]
>
> Shopify can both read your store and create and change products, adjust
> inventory and publish to sales channels. Publishing, setting a product live,
> changing the price of an existing variant, changing inventory or deleting
> variants requires your confirmation. Some changes are carried out right away,
> for example new variants and text edits (see [Shopify](https://docs.consile.ai/en/connectors/shopify.md)).
> Read [Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md) before you
> start using the write functions.

## How to connect

**1. Open Shopify in the portal**

Go to **Shopify** in the [portal](https://app.consile.ai). Click **Connect
now** at the top of the page, or **Connect** on the **Connections** card. The
portal calls each connection to a system an agreement. If you have not
accepted Consile's terms yet, or they have changed since last time, the portal
shows them first. Accept them, and click **Accept and continue**.

**2. Enter the store domain**

Type your store's Shopify domain in the **Store domain** field, for example
`my-store.myshopify.com`, or just `my-store`. Use the domain that ends in
`.myshopify.com`, not the store's own domain (for example
`www.my-store.com`), and type it without `https://`. You find it in the
Shopify admin under **Settings → Domains**. Click **Authorise access**.

**3. Log in to your store**

You are sent to your own store's Shopify approval page. Log in if you are not
already logged in.

**4. Approve the Consile app**

Shopify shows what the Consile app is asking for access to. Confirm to
continue. You are then sent back to the portal, which shows **Shopify is
connected**.

> [!TIP]
>
> The connector now shows as **Connected** in the portal, and your AI can read
> your store and carry out guardrailed changes.

The connection applies to your whole Consile account. Colleagues that an
administrator has given access to Shopify under [Team](https://docs.consile.ai/en/portal/team.md) use the
same connection. They add the connector in their own AI and log in with their own
Consile login.

## What exactly am I approving?

In one approval step, Consile asks for the set of permissions the connector uses.
Only three of them allow changing anything. The rest are read-only:

| Permission | What it is used for |
| - | - |
| `read_products`, `read_product_listings` | Products, variants, collections, media and publishing status |
| `write_products` | **Write:** create/edit products and variants, set status |
| `write_product_listings` | **Write:** publish/unpublish to sales channels |
| `read_inventory`, `read_inventory_shipments`, `read_inventory_shipments_received_items`, `read_inventory_transfers` | Inventory, stock levels, locations, transfers and shipments |
| `write_inventory` | **Write:** set/adjust inventory per location |
| `read_orders`, `read_draft_orders` | Orders, transactions, fulfillment and draft orders (read only) |
| `read_customers`, `read_companies` | Customers, addresses and B2B companies (read only) |
| `read_discounts`, `read_price_rules` | Discounts and price rules (read only) |
| `read_checkouts` | Abandoned carts (read only) |
| `read_shipping`, `read_third_party_fulfillment_orders` | Shipping profiles and 3PL fulfillment (read only) |
| `read_analytics` | ShopifyQL analytics |

> **Read + change behind guardrails**
>
> The connector can read the whole store and change products, inventory and
> publishing. New products are created as drafts. Publishing, setting a product
> live, changing the price of an existing variant, changing inventory or
> deleting variants requires your explicit confirmation; otherwise you only get
> a preview. Orders, customers and discounts are read-only.

> **Access per store**
>
> The approval applies to the one store you connected. An extra store cannot be
> connected from the portal. If you need more stores, write to
> [support@consile.dk](mailto:support@consile.dk) before you add an extra agreement.

> **Encrypted per customer**
>
> The token is stored encrypted with a key that applies only to your own
> account, and is never logged.

> **Your AI never sees it**
>
> Your AI is never given the token itself, only answers to your questions.

> [!NOTE]
>
> **Customer data (personal data).** Tools that show customer data (names, email,
> phone, addresses) fail entirely if Shopify does not give access to the customer
> fields. This applies to the customer tools and also to the order, draft order,
> B2B company and abandoned cart tools, because they show the customer's name and
> email.

## The access is renewed automatically

Consile renews the access automatically, so you do not have to reconnect at
regular intervals. The connection stops if the Consile app is uninstalled in
Shopify, or if Shopify refuses the access for another reason.

## If all Shopify calls fail

If your AI gets the message
`Shopify access token has expired; reconnect required` or
`Shopify rejected the access token (401); reconnect required`, or if all Shopify
calls fail, reconnect the store. The portal can still show **Connected**, even
though Shopify no longer accepts the access. Only an administrator can reconnect.

1. Open Shopify in the portal. If the **Connections** card says **Access
   revoked**, click **Reconnect**, and follow the steps above.
2. Otherwise: click the menu (the three dots) next to the store on the
   **Connections** card, and confirm with **Disconnect**. Then click
   **Connect**, and follow the steps above.

You do not have to add the connector in your AI again. The address is the same.

## Revoke access

You can remove the access again at any time:

* **In the portal:** an administrator clicks the menu (the three dots) next to the
  store on the **Connections** card and confirms with **Disconnect**. The stored
  token is deleted at Consile right away. Disconnecting applies to your whole
  account, not just your user. The subscription continues until an administrator
  cancels it under **Subscription**.
* **In Shopify:** uninstall the Consile app under **Settings → Apps and sales
  channels** in your Shopify admin. The token can then no longer be used. Also
  disconnect in the portal if the stored token should be deleted at Consile.

More about data processing in [Security & data](https://docs.consile.ai/en/essentials/security-and-data.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.