Skip to content
ShopAssistShopAssist home

An AI shopping assistant for any store, custom or headless

Paste a script tag, feed your catalog through a product feed or the Catalog Push API, and connect orders with a signed RPC endpoint.

How it connects

  • Script tag before the closing body tag, plus the domains allowed to load it.
  • Catalog: a Google Shopping XML, CSV or JSON feed on a schedule, or the Catalog Push API.
  • Orders: an optional signed RPC endpoint for order status, guest lookup and optional cancellations and returns.
  • Identity: your server mints a JWT for the signed-in customer.
  • Cart and checkout: a checkout URL template, or a JavaScript cart handler that runs in your page.

Data and privacy

  • Synced: your catalog, stock and store pages and policies, so the assistant can answer quickly.
  • Fetched live: orders, only for shoppers who are signed in or verified.
  • Stored: in the EU (Germany), encrypted at rest.
  • After you disconnect: your store's data is deleted within 30 days.

What works on this platform

What works on this platform
CapabilityAny store (Generic: script tag, Push API, feeds)
Catalog freshnessFeed or Push API1
VariantsYes
Stock per physical storeYes (feed or Push API)2
Store opening hoursplatform
Signed-in customersYour server mints a token3
Order statusYes (full history)4
Guest order lookup (extra factor)last name, postcode
Add to cartYes5
Checkout linktemplate
Discount codesYes6
Cancellationssend a request, cancel directly7
Returnssend a request, platform return8
Lead sync to the platformNo
BillingCard or invoice (Stripe)
  1. Catalog Push API or scheduled feeds (Google Shopping XML, CSV, JSON)
  2. Needs a local inventory feed or inventory batches
  3. Needs identity tokens minted by the merchant's server
  4. Needs the optional Generic RPC endpoint (customer.orders, customer.order, guest lookup)
  5. Needs ShopAssist.setCartHandler(...) or an add-to-cart URL on the storefront
  6. Needs a JavaScript cart handler implementing applyDiscount
  7. direct needs the Generic RPC ops orders.cancel.check and orders.cancel.execute
  8. platform needs the Generic RPC op returns.create

This is the design target per platform. Each connected store reports what it actually supports in your dashboard.

Supported versions

  • Any storefront: *

Install in 3 steps

Typical setup: About 15 minutes plus a product feed or API integration

  1. 1.Add the script tag

    Copy the script tag from Widget → Install in the dashboard and paste it before </body> on every page. Then add your storefront domains under Allowed domains.

  2. 2.Choose a catalog source

    Add a product feed (Google Shopping XML, CSV or JSON, pulled at least every 60 minutes) or push your catalog with the Catalog Push API using an API key with the catalog:write scope. The Push API works on every plan.

  3. 3.Optional: orders and signed-in customers

    Connect a Generic RPC endpoint for order status and actions, and mint an identity token on your server so signed-in customers can ask about their orders.

Read the full install guide

Frequently asked questions

Does it work with headless and single-page stores?

Yes. The JavaScript API tells the widget about route changes, the cart and the signed-in customer. The loader can be pinned with Subresource Integrity.

How do signed-in customers get recognised?

Your server mints a short-lived identity token and the page passes it to the widget. The docs have examples for Python, Node.js and PHP.

Do I need the Catalog Push API on a paid plan?

No. The Catalog Push API, order reports, privacy requests and store reads work on every plan.

Put ShopAssist on your store.