Pico DocsSandbox

DocsShopify

Integration guide

Shopify merchant setup

Install Pico on a Shopify store with OAuth, sync your real catalog, and enable the floating assistant through a theme app embed. No manual theme file edits are required.

OAuth installTheme app embed

What Pico needs

Pico uses Shopify’s GraphQL Admin API for catalog sync and a theme app embed for the storefront widget. Admin API tokens never appear in the browser.

ItemWhereUsed for
Shop domainyour-store.myshopify.comOAuth install and shop identity
OAuth approvalShopify install screenEncrypted offline access token in Pico
Catalog scopesread_products (+ inventory when granted)Product, variant, price, availability sync
Theme app embedTheme Editor → App embedsLoads the public Pico widget script

Install and authorize in Pico

  1. Open Integrations

    In the Pico dashboard, open Integrations and use Connect Shopify.

  2. Enter your shop domain

    Use the canonical *.myshopify.com domain (for example acme.myshopify.com).

  3. Approve scopes in Shopify

    Shopify asks you to approve catalog read access. Pico stores the token encrypted and never shows it again.

  4. Return to onboarding

    After approval you land back in Pico with connection status and setup steps. Connected does not mean the catalog sync is finished.

Catalog sync

  1. Initial sync queues automatically

    After a successful install Pico queues a catalog sync. Track progress under Catalog.

  2. Review products

    Confirm titles, images, prices, variants, and URLs match Shopify for a sample of products.

  3. Retry if needed

    Failed syncs can be retried from Catalog. Temporary Shopify rate limits are retried with backoff.

Enable the theme app embed

Pico ships as a Shopify theme app embed (floating assistant). Merchants turn it on in the Theme Editor—no manual Liquid edits.

  1. In Pico Integrations, open the Theme Editor deep link for your shop (or Theme Editor → App embeds).
  2. Enable Pico Assistant.
  3. Paste your public widget ID (starts with pw_) and the Pico API base URL into the embed settings.
  4. Save, open the storefront, and confirm the widget loads once.
Equivalent public embed (reference)
<script
  src="https://YOUR_PICO_API_HOST/pico-widget.js"
  data-public-widget-id="pw_..."
  data-api-url="https://YOUR_PICO_API_HOST/api/v1"
  defer
></script>

On the Online Store, add-to-cart uses Shopify’s Ajax cart so the shopper’s cart drawer stays in sync. Prefer the theme app embed over pasting this script by hand.

This guide’s languages

This merchant setup guide is available in every Pico site language. Use the language switcher in the site header to change it.

CodeLanguage
enEnglish
arالعربية (Arabic)
deDeutsch (German)
elΕλληνικά (Greek)

Assistant widget locales

The shopper-facing Pico assistant currently ships these locale packs. Set the store default in Assistant settings.

CodeLanguage
enEnglish
elΕλληνικά (Greek)

API (headless)

Shopify stores are created through OAuth, not by posting credentials to POST /stores. Typical merchant flow:

Install + status + sync
POST /api/v1/integrations/shopify/install
{ "shop": "your-store.myshopify.com" }

# Follow authorize_url, then Shopify redirects to the Pico callback.
GET /api/v1/integrations/shopify/{storeId}/status
POST /api/v1/stores/{storeId}/test
POST /api/v1/catalog/{storeId}/sync

MVP limits

  • Catalog sync, grounded discovery, variant selection, and add-to-cart are supported.
  • No Shopify checkout extensions, discounts, or order/customer APIs in this guide.
  • Pico does not write product data back to Shopify.
  • App Store listing and Shopify Billing are separate launch steps.

Official Shopify references

Verify current auth, scopes, and theme extension steps in Shopify’s docs: