# Connect Shopify to Avox

> Connect your Shopify store to Avox to see orders and products inside Avox, get order updates as they happen, and know what Avox does when Shopify is slow or says no.

Source: https://docs.theavoxai.com/connections/apps/shopify

Connect your Shopify store and your team can see its latest orders and its products inside Avox,
next to the chats, without switching tabs. Avox also hears about order changes from Shopify as they
happen. This page covers everything from connecting to disconnecting, including what Avox does when
Shopify is slow, down or says no.

## What Avox can and cannot do with Shopify

Avox can:

- show your store's latest orders: number, total, payment and delivery status, items and tracking links;
- list your active products with the lowest price and the stock left;
- receive order updates from Shopify by itself, with nothing to set up.

Avox cannot:

- change anything in your store. Avox only reads, so you edit orders and products in Shopify
  ([AVX-3725](https://docs.theavoxai.com/error-codes/avx-3725));
- see orders older than 60 days. Shopify only lets apps read the last 60 days;
- show who placed an order. Shopify keeps customer details from apps like this one;
- use Shopify inside an automation or a Flow step. Today, Shopify's data appears on its own
  pages in Avox. To send a WhatsApp message when an order is placed or ships, see
  [WhatsApp Messages from Shopify Orders](https://docs.theavoxai.com/integrations/shopify).

## What you need before you start

- A Shopify store, and its `.myshopify.com` address: in Shopify admin open **Settings**, then **Domains**.
  Use that address even if customers see another domain.
- A Shopify login that is allowed to install apps on the store.
- A plan with room for another connected app, and the **Manage connected apps** permission in
  **Settings > Switchboard** (Admins have it; an Admin can give it to a Manager). Anyone with
  **See connected apps** can look at the data afterwards.

## Connect Shopify

**1. Open Shopify in Apps**

In the dashboard open **Apps** in the sidebar (under **Connect & Monitor**), then **Shopify**, and
click **Connect**. The first screen, **What Avox can do**, lists what Avox will be allowed to do.
Click **Continue**.

**2. Type your store address**

Type the address, like `your-store.myshopify.com`, and click **Continue to Shopify**. If it isn't a
valid Shopify address you see [AVX-3712](https://docs.theavoxai.com/error-codes/avx-3712) before anything leaves Avox.

**3. Install on Shopify**

Shopify opens its own permission screen. It lists what Avox is asking for: to see your orders and
to see your products. Allow both and click **Install**. Finish within 10 minutes of starting, or
start again ([AVX-3688](https://docs.theavoxai.com/error-codes/avx-3688)).

**4. Done**

You come back to Avox with **Shopify is connected** and two buttons: **Open Shopify in Avox** and
**See orders**.

If the button says **Coming soon**, Avox has not switched on its connection to Shopify yet
([AVX-3682](https://docs.theavoxai.com/error-codes/avx-3682)). Nothing on your side is wrong, and the rest of Avox works as usual.
If Shopify says the sign-in was cancelled or you left a permission unticked, you see
[AVX-3687](https://docs.theavoxai.com/error-codes/avx-3687) or [AVX-3690](https://docs.theavoxai.com/error-codes/avx-3690): connect again and allow everything.

## What you see in Avox afterwards

Shopify has its own menu under **Apps**: **Overview**, **Orders**, **Products** and **Activity**
(tabs along the top on a phone).

- **Overview** shows the status, your store, who connected it and when, when it last worked, the last
  problem with its code, and what uses Shopify. **Test connection** checks the access in a second.
  **Reconnect** and **Disconnect** are next to it. Under **Instant updates** it says there is
  nothing to set up.
- **Orders** lists the newest 20 first, with **Load more** for the next ones. Each shows a status:
  Paid, Pending, Fulfilled, Refunded, Partly refunded, Cancelled, Closed or Open. Open one for its
  items, payment, delivery and tracking links, then **Open in Shopify** to change anything.
- **Products** lists active products by title with price and stock, and you can search by name. A
  product whose stock Shopify doesn't track shows no stock count. Open one for its variants and SKUs.
- **Activity** has **Usage** (calls a day over 7, 30 or 90 days, success rate, average time, updates
  received) and the **Log**, with **Calls** and **Webhooks** tabs. Click an entry to see what Avox asked
  and what came back.

The status of the connection is one of:

| Status | What it means |
| --- | --- |
| Connected | Working. |
| Needs reconnecting | Shopify no longer accepts Avox's access. Click **Reconnect**. |
| Having trouble | Several calls in a row failed on Shopify's side. It recovers by itself. |
| Disconnected | Avox deleted its access. The log stays. |

## Using Shopify in Avox

Open **Apps**, then **Shopify**, then **Orders** whenever a customer asks about an order.

Example (hypothetical): a customer writes in the Inbox asking where their parcel is and gives the order number. A
teammate opens **Shopify > Orders**, opens that order, sees it is Fulfilled with a tracking link, and
pastes the link into the chat.

## Limits

- Orders: the last 60 days, with no customer details. Order pages show up to 50 items.
- Lists load 20 at a time. Product pages show up to 50 variants.
- Avox allows 120 calls a minute per Switchboard to Shopify. Past that, calls are refused for the rest of the
  minute ([AVX-3695](https://docs.theavoxai.com/error-codes/avx-3695)).
- Each call gives up after 10 seconds, and an answer larger than 1 MB is not read.
- Lists you have just seen are reused for 30 seconds. **Refresh** reads Shopify again.

## When Shopify fails or says no

1. **Avox tries again when that is safe.** Every call Avox makes to Shopify only reads, so on a
   network problem, or when Shopify answers busy or unavailable (HTTP 429, 502, 503 or 504), Avox
   tries up to two more times, after about 0.4 seconds and then 1.2 seconds. If Shopify says how long
   to wait, Avox waits, up to 5 seconds.
2. **The status changes only when it should.**
   - If Shopify says Avox's access is gone (uninstalled, removed, no longer valid), the status becomes
     **Needs reconnecting** at once ([AVX-3692](https://docs.theavoxai.com/error-codes/avx-3692)).
   - If 5 calls in a row fail on Shopify's side (not answering, asking Avox to slow down or refusing
     the request), it becomes **Having trouble** ([AVX-3694](https://docs.theavoxai.com/error-codes/avx-3694),
     [AVX-3695](https://docs.theavoxai.com/error-codes/avx-3695), [AVX-3713](https://docs.theavoxai.com/error-codes/avx-3713)).
   - After that, one good call puts it back to **Connected** by itself.
   - A bad detail, or a permission that was unticked ([AVX-3690](https://docs.theavoxai.com/error-codes/avx-3690)), does not count
     against its health.
3. **The call is logged.** The **Log** keeps the time, action, result, number of tries, Shopify's
   answer and the code. Secrets are removed, personal details masked and links cut down to their address.
4. **Your automations and Flows are not affected.** None of them use Shopify, so a Shopify problem
   cannot stop one. If your Switchboard is paused, Avox does not call Shopify ([AVX-3711](https://docs.theavoxai.com/error-codes/avx-3711)).
5. **The pages show what Avox saved.** Orders Shopify has told Avox about are kept, so when Shopify
   cannot be read **Orders** shows them with [AVX-3717](https://docs.theavoxai.com/error-codes/avx-3717) and the reason's own
   code. **Products** has nothing saved, so it shows only the notice until Shopify answers again. If Shopify
   refuses with a message, you see [AVX-3713](https://docs.theavoxai.com/error-codes/avx-3713) and the log has Shopify's words.

Click **Test connection** or **Refresh** once the cause is fixed.

## Disconnect Shopify

Click **Disconnect** on Shopify's **Overview**. Avox first lists what uses Shopify, then asks Shopify
to remove its access (it uninstalls Avox's app from your store), deletes the access it saved and keeps
the log for your retention period. If Shopify could not be told, you see
[AVX-3697](https://docs.theavoxai.com/error-codes/avx-3697): remove Avox in Shopify admin's app settings yourself. If you
uninstall Avox in Shopify first, Shopify tells Avox and the connection shows Disconnected.

## Common questions

**Why can't I see orders from last year?**

Shopify only lets apps read the last 60 days of orders. Avox cannot change this. Older orders are in Shopify.

**Why don't orders show customer names?**

Shopify keeps customer details from apps like this one, so Avox shows the order, its items and its
status but not who placed it.

**Will Avox message my customers when an order ships?**

Not through this connection, which only reads. To send order messages, use Shopify's own webhooks
with the Avox API: see [WhatsApp Messages from Shopify Orders](https://docs.theavoxai.com/integrations/shopify).

**Avox says my store address isn't valid**

Use the `.myshopify.com` address from Shopify admin, **Settings**, **Domains**, not your own domain
([AVX-3712](https://docs.theavoxai.com/error-codes/avx-3712)).

**It shows Needs reconnecting**

Shopify stopped accepting Avox's access. Click **Reconnect** and sign in to the same store
([AVX-3703](https://docs.theavoxai.com/error-codes/avx-3703) if you pick a different one).

## Related
