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

# Shopify

> Connect Shopify to Remark for product sync, order context, customer lookup, and order actions.

Remark's Shopify integration connects your store catalog and order data to Remark. Once connected, Remark can sync products for recommendations, track storefront behavior, and let agents use Shopify actions when an intent allows them.

## What the integration does

After Shopify is connected, Remark can:

* Import products, variants, images, prices, and inventory from Shopify
* Keep product and inventory data updated through Shopify webhooks
* Install the Remark storefront script where Shopify permissions allow it
* Use Shopify order and customer data in approved agent actions
* Create single-use Shopify discount codes when the discount action is enabled

The Shopify integration is separate from the storefront SDK setup. Use the [Getting Started guide](/sdk/getting-started) for the Remark widget and shopper tracking setup, and use the [Shopify Custom Pixel guide](/guides/shopify-custom-pixel) when Shopify customer event permissions are required.

## Connect Shopify

1. Open **Settings > Integrations** in the Remark dashboard.
2. Find **Shopify**.
3. Select **Connect**.
4. Enter your Shopify store domain.
5. Approve the Remark app in Shopify.
6. After Shopify redirects you back to Remark, wait for the connection to complete.

You can enter either your customer-facing domain or your `.myshopify.com` domain. If Remark cannot resolve the customer-facing domain to a Shopify store, use the `.myshopify.com` domain directly, such as:

```txt theme={null}
your-store.myshopify.com
```

After connection, Remark starts background setup for product import, Shopify webhooks, and storefront script installation.

## Dashboard settings

You can manage these Shopify settings from the integration in the Remark dashboard.

| Setting                                | What it controls                                                                                                                                                                                           |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Archive products with tags             | Comma-separated Shopify product tags. Products with any matching tag are archived in Remark during product import.                                                                                         |
| Treat unlisted products as unpublished | When enabled, products with the Shopify **Unlisted** status are excluded from AI recommendations and knowledge, the same as unpublished products. When off, unlisted products stay available to the agent. |
| Primary domain                         | Customer-facing domain used for product links instead of the `.myshopify.com` domain.                                                                                                                      |
| Order change window                    | Number of minutes after checkout when agents can cancel an order or update its shipping address. Leave empty for no time limit.                                                                            |
| Order cancellation blocking tags       | Comma-separated Shopify order tags that prevent the cancel-order action. These tags do not block shipping address updates.                                                                                 |

## Product sync

Remark imports Shopify products into the Remark product catalog used by agents and recommendations.

Product sync includes:

* Product title, brand, description, handle, and URL
* Product images
* Variants, SKUs, selected options, and prices
* Inventory when inventory sync is enabled
* Shopify product tags

Products can be archived in Remark when they are archived in Shopify, unpublished according to Shopify status, filtered by internal sync settings, or tagged with a value from **Archive products with tags**. Products with the Shopify **Unlisted** status are also excluded when **Treat unlisted products as unpublished** is enabled.

The **Primary domain** setting affects product links that Remark builds from Shopify handles. Use your storefront domain here when shoppers should see links like `https://www.example.com/products/product-handle` instead of the Shopify admin or `.myshopify.com` domain.

## Add Shopify actions to an intent

Connecting Shopify makes Shopify actions available to your workspace. To let agents use them in conversations, add the relevant action to an [intent](/dashboard/intents).

Available actions depend on the Shopify permissions granted during OAuth. If an action is missing, reconnect Shopify so Remark can request the current app permissions.

## Supported actions

### Search orders

Agents can search Shopify orders to answer questions about order status, items, fulfillment, tracking, totals, refunds, and shipping or billing addresses.

The action requires the shopper's last name and either:

* Email address
* Order number or confirmation number

Remark requires those identifiers for privacy. If multiple matching orders are found, the agent should ask for the order number.

### Look up customer

Agents can retrieve a Shopify customer profile after verifying at least two of:

* Email address
* Last name
* Phone number

The result can include customer tags, marketing consent, lifetime spend, predicted spend tier, default address, and recent orders.

### Cancel order

Agents can cancel an open Shopify order when the action is allowed by the intent and Shopify permissions.

The action:

* Searches for the order using last name plus email or order number
* Rejects already closed or canceled orders
* Enforces the configured **Order change window** when one is set
* Rejects orders with any configured **Order cancellation blocking tags**
* Sends the Shopify cancellation with refund, restock, customer notification, and a customer-request staff note

In playground chats, Remark reports what would happen but does not cancel the order in Shopify.

### Update order address

Agents can update the shipping address on an open Shopify order.

The action requires last name plus email or order number, along with the new shipping address fields. It enforces the configured **Order change window** when one is set. **Order cancellation blocking tags** do not block address updates.

In playground chats, Remark reports what would happen but does not update the order in Shopify.

### Create discount codes

Agents can create one-time-use Shopify discount codes when the discount action is enabled.

Remark supports:

* Percentage discounts
* Fixed amount discounts
* Store-wide discounts
* Discounts scoped to a Shopify collection
* Expiration dates from 1 to 365 days

The generated code activates immediately, has a usage limit of 1, and is tagged in Shopify as a Remark discount.

## Troubleshooting

### Store domain cannot be resolved

Use the store's `.myshopify.com` domain. Remark can often resolve a customer-facing domain, but custom DNS, redirects, or storefront protections can prevent resolution.

### OAuth fails or returns to the wrong place

Start the connection again from **Settings > Integrations**. Shopify install links are short-lived. If the issue repeats, confirm you are logged into the correct Shopify store and have permission to approve apps.

### Products are missing in Remark

Product import runs after connection and may take time on large catalogs. Also check whether the product is unpublished, archived in Shopify, filtered by internal sync settings, or tagged with a value in **Archive products with tags**.

### Product links use the wrong domain

Set **Primary domain** to your customer-facing storefront domain and save the Shopify integration settings.

### Orders or customers are not found

Confirm the shopper provided the identifiers required by the action. Order search needs last name plus email or order number. Customer lookup needs at least two of email, last name, and phone.

### A Shopify action is missing

Reconnect Shopify so Remark can request the current app permissions. The available Shopify actions are based on granted OAuth scopes, such as order, customer, product, and discount permissions.

### Cancel order or address update fails

Check whether the order is closed, canceled, older than the configured **Order change window**, or ambiguous because multiple orders match. For cancellations, also check whether the order has a configured blocking tag.

<Note>
  Need help connecting Shopify, checking permissions, or testing actions? Contact `support@remark.ai`.
</Note>
