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

# Shopify

> Read products, inventory, orders, customers and analytics from one or more Shopify stores.

Connect Shopify under **Control Hub → Integrations**. Organization admins can connect several stores, choose a default, rotate credentials, or disconnect one store. Credentials belong only to your organization.

## Create a Shopify app

Aster connects through a custom app that you own. Which kind you have depends on when it was created:

* **Dev Dashboard app** (all custom apps created since January 1, 2026). In the [Shopify Dev Dashboard](https://dev.shopify.com/dashboard), create an app in the same organization that owns the store, configure its Admin API access scopes, release a version and install it on the store. Copy the **Client ID** and **Client secret** from the app's settings. Aster exchanges them for a 24-hour access token each time a tool runs; the token is kept only in memory.
* **Legacy custom app** (created in the Shopify admin before 2026). Copy the **Admin API access token** (`shpat_…`) from **Settings → Apps and sales channels → Develop apps → your app → API credentials**.

Grant read scopes only. Typical scopes are `read_products`, `read_inventory`, `read_locations`, `read_orders`, `read_customers`, `read_fulfillments`, `read_returns`, `read_discounts`, `read_markets`, `read_metaobjects` and `read_reports` (for ShopifyQL). Orders older than 60 days also need `read_all_orders`. If an agent needs customer names, emails or addresses, the app must also be approved for protected customer data. Aster records the app's scopes when you connect and warns if any write scopes are present.

Enter the store's `myshopify.com` domain (for example `acme.myshopify.com`), not a custom storefront domain. Aster checks the credentials by reading the store's name and the app's scopes before saving.

## Tools

* **Shopify Get Schema** lists the readable roots, their arguments and any type in the Admin GraphQL API.
* **Shopify Query** runs one read-only Admin GraphQL query. Mutations and subscriptions are rejected before any request is made.

Aster pins Admin API version `2026-07`. Queries return one page at a time (up to 250 items). Request `pageInfo { hasNextPage endCursor }` and pass `after` until you have every page, including nested `lineItems`. For totals, use `ordersCount`, `productsCount` or ShopifyQL instead of adding up pages. Each response includes Shopify's query cost and throttle status. Throttled, oversized or partially failed queries return an error, never truncated results.

This connector does not sync a knowledge base, receive webhooks, or create or change products, orders, inventory or customers.
