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

# Shopify: orders and product availability

> The agent reads order status, tracking numbers, product availability and prices from your Shopify shop during the call.

The same two questions as BaseLinker answers, for shops that keep everything in
**Shopify**. The tools are the same, so the agent behaves identically; only the
shop it asks changes.

| Tool | What the customer asks | What the agent reads |
| - | - | - |
| **Order status** | "Where is my parcel?" | Fulfillment status, date, total, whether it is paid, tracking number and the items |
| **Availability and prices** | "Do you have it in stock?" | Whether the product is in the shop, how many are left, the price of a variant that can be bought |

## Setting it up

1. In Shopify admin go to **Settings → Apps and sales channels → Develop apps**
   and create a custom app.
2. Under **Configuration → Admin API** grant `read_orders`, `read_customers`
   and `read_products`.
3. Install the app and copy the **Admin API access token** (it starts with
   `shpat_`).
4. In the app: **Integrations** → **Shopify** → paste the shop address
   (`shop.myshopify.com`) and the token.
5. On the agent: **Integrations** tab → **Order status (Shopify)** and
   **Availability and prices (Shopify)** → pick the connection.

Building a customer support agent in the wizard, switching on **Check orders and
availability in Shopify** and pasting the shop address and token is enough: the
wizard creates the connection and turns both tools on.

<Note>
  This is a custom app in your own admin, not an app from the Shopify App Store.
  A shop connects in two minutes, the token is yours, and you can revoke it
  whenever you like.
</Note>

<Note>
  Press **Test connection** after pasting both. It reads your shop's name back, so
  a wrong address or a rejected token fails there rather than in front of a
  customer.
</Note>

## Who is allowed to hear what

The rule is the same as for BaseLinker. On an inbound call the agent knows the
caller's number, finds them in Shopify and reads their orders without asking for
anything. An order found by its **number alone** needs confirming: the agent
asks for the e-mail address or phone number the order was placed with.

A customer says "order 1042" where Shopify says "#1042", and the agent looks
both up. Names, addresses and e-mail addresses are never returned to the agent.
An order that is only partly paid, a deposit for instance, is not reported as
paid - otherwise the customer calls back.


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