Shopify integration

Shopify AI agents: order tracking and product assistants for your store

A store assistant needs two things: live order and inventory data, and product knowledge it can explain. The first is an HTTP API tool against the Shopify Admin API; the second is a knowledge base built from your product content. Both run behind the same chat widget on your storefront.

Tool type
HTTP API
Auth type
custom_header (X-Shopify-Access-Token)
Safety level
safe_read

What you can build

An order-tracking agent that finds the order for a signed-in customer and explains its fulfilment status.

A product assistant that answers sizing, materials and compatibility questions with citations from your catalogue content.

A pre-sales agent that checks stock for a variant before recommending it.

How to connect Shopify

  1. 01Create a custom app in Shopify with read_orders and read_products access and store the Admin API token on the tool's auth settings as a custom header, X-Shopify-Access-Token.
  2. 02Create an HTTP API tool for orders (GET https://{{shop}}.myshopify.com/admin/api/2024-10/orders.json?email={{email}}) with safe_read, and one for inventory levels.
  3. 03Add product content to a knowledge base, build an index and test retrieval with real customer questions.
  4. 04Attach the tools and the knowledge base to the agent, set the app to allow anonymous or require verified identity, and install the widget on the storefront.
  5. 05Set widget events to a status line so shoppers see 'Looking up your order…' rather than raw JSON.

Example tool definition

The shape a tool takes in the AgentRow builder API. Credentials are stored on the tool's auth settings, not in its configuration, so they never reach a prompt. Placeholders in double braces are filled by the model from the input schema.

{
  "name": "shopify_find_orders",
  "type": "http_api",
  "description": "Find a customer's recent orders by email and return their fulfilment status. Use when the user asks where their order is.",
  "auth_type": "custom_header",
  "safety_level": "safe_read",
  "is_readonly": true,
  "config": {
    "method": "GET",
    "url": "https://your-store.myshopify.com/admin/api/2024-10/orders.json",
    "query_params": { "email": "{{email}}", "status": "any", "limit": "5" },
    "allowed_domains": ["your-store.myshopify.com"]
  },
  "input_schema": {
    "type": "object",
    "properties": { "email": { "type": "string", "description": "The customer's email address" } },
    "required": ["email"]
  }
}

What the run trace shows

Every call appears in the run trace with the rendered request, the response status and body, timing, retries and errors, plus what the model was shown of the result. If the model never called the tool, the toolbox step shows whether it was bound for that model call and why.

Frequently asked questions

How do I keep one customer from seeing another's orders?

Require verified identity for the app and take the email or customer id from the identity token's claims rather than from what the visitor types. End user token tools bind only for signed-in users.

Can the agent remember a shopper between visits?

Yes. With memory set to remember this user, preferences such as sizes are saved per user after approval and read back on the next conversation.

Is there a typed e-commerce connector?

An e-commerce tool type exists but is not executable yet; the Admin API through HTTP API tools is the supported path today.

Connect Shopify to your first agent

Join the waitlist for early access. Tell us which systems you need to connect and we will point you at the right tool definitions.