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

# Shopify troubleshooting

> Start at the Shopify source row in Data Sources. OAuth errors appear there; for "stream missing" or visibility issues, open AI Instructions and filter by Shopify.

Start at the **Shopify** source row in [**Data Sources**](https://platform.open.cx/data-sources). OAuth errors appear there; for "stream missing" or visibility issues, open AI Instructions and filter by **Shopify**.

## Common scenarios

| Symptom | Likely cause | Fix |
| - | - | - |
| **OAuth popup errors or redirects to a blank page** | The **Allowed redirection URL** in your Shopify custom app doesn't match the Redirect URL shown in the connect dialog | Copy the exact Redirect URL from the OpenCX dashboard into your Shopify custom app settings, save, retry **Connect with Shopify**. |
| **Products stream is empty but I enabled it** | The custom app doesn't have `read_products` scope — OAuth succeeds but Shopify returns zero rows | In your Shopify custom app, add `read_products` to the **Admin API access scopes**, save, re-authorize in OpenCX. |
| **Articles sync but URLs aren't cited** | The Airbyte Shopify connector doesn't return the blog handle needed to build article URLs | Known limitation. The AI references articles by title when citing sources. For full URLs in citations, use the [Website crawler](/knowledge/sources/website/overview) against your public blog URL. |
| **An unpublished product is showing in public replies** | `status` on the product is set to `active` but it's not actually visible on the storefront (inventory, channel visibility, etc.) | Change the product status in Shopify to `draft` or `archived` — the next sync flips visibility to `internal`. Or override per-item in AI Instructions. |
| **Pages visibility looks wrong** | The page's `published_at` in Shopify controls visibility — publishing/unpublishing in Shopify admin may not have updated `published_at` as expected | Confirm `published_at` in Shopify. Publish the page, trigger a re-sync in OpenCX. |
| **Multi-store request** | One connection per store today | Add a second OpenCX organization per store, or wait for multi-store scoping (contact support if blocked). |
| **None of the above** | — | Contact support with the connection ID and a sample item URL. |

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Connect Shopify" icon="plug" href="/knowledge/sources/shopify/connect">
    Re-check scopes and redirect URL.
  </Card>

  <Card title="Shopify overview" icon="shopify" href="/knowledge/sources/shopify/overview">
    Knowledge vs. AI Actions.
  </Card>

  <Card title="Shopify integration" icon="cart-shopping" href="/integrations/shopify/overview">
    Store connection and AI Actions.
  </Card>

  <Card title="Website crawler" icon="globe" href="/knowledge/sources/website/overview">
    Fallback for article URLs.
  </Card>
</CardGroup>


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