How Lyna AI works with Shopify
When a store is connected, Lyna's AI agent manages it for you from chat by calling Shopify tools. You describe what you want ("create three candle products", "publish everything to the Online Store", "set up a 10% welcome code") and Lyna runs the matching tools against your store.

Lyna works across two surfaces:
- Admin (server side): catalog management (products, collections, discounts, orders). Lyna never holds your Admin token. Every Admin call is proxied through Lyna's server, which owns authentication and the permission gate.
- Storefront (client side): the public read and cart API your shoppers' browser talks to, using the public Storefront token that is safe to embed.
The workflow
- Lyna checks the connection status first.
- If no store is connected, Lyna shows a setup card so you can create or connect a store, then waits for you.
- Once connected, Lyna runs read tools freely and asks for approval on write tools, based on your permissions.

Read tools need no approval. Write tools are approval-gated: with the default "Ask each time" level, Lyna explains what it is about to do and waits for your confirmation. A tool set to "Never" returns a permission-denied result, and Lyna will not retry it.
Tools reference
The tables below list every Shopify tool, grouped by area, with its read or write classification. Write tools appear in the per-tool permission matrix and are approval-gated; read tools are available to any editor and are not individually gated.
Connection and setup
| Tool | Type | What it does |
|---|---|---|
| Check status | Read | Check whether a store is connected to the project. |
| Propose setup | Read | Show the create / connect setup card when no store is connected. |
| Get store create URL | Read | Open Shopify's store-creation page for a new store. |
| Get storefront credentials | Read | Return the public Storefront token and shop domain for the app. |
| Disconnect store | Write | Disconnect the store from the project (owner only). |
Products and variants
| Tool | Type | What it does |
|---|---|---|
| List products | Read | List products in the store. |
| Get product | Read | Fetch a single product with its variants and images. |
| Create product | Write | Add a product with variants, images, and pricing. |
| Update product | Write | Edit a product's title, description, tags, status, or media. |
| Delete product | Write | Permanently remove a product. |
| Add product image | Write | Add an image from a URL, an upload, or an AI-generated image. |
| Add product variant | Write | Add a variant such as a size or color. |
| Update product variant | Write | Edit a variant's price, SKU, inventory, or options. |
| Delete product variant | Write | Remove a variant from a product. |
Collections
| Tool | Type | What it does |
|---|---|---|
| List collections | Read | List collections in the store. |
| Create collection | Write | Group products into a new collection. |
| Update collection | Write | Edit a collection's title, description, or membership. |
| Delete collection | Write | Remove a collection. |
Discounts and pricing
| Tool | Type | What it does |
|---|---|---|
| List discount codes | Read | List code-based discounts. |
| List price rules | Read | List price rules. |
| Create discount code | Write | Create a code with a percentage or fixed amount, dates, and limits. |
| Update discount code | Write | Edit a discount code's value, schedule, or limits. |
| Delete discount code | Write | Remove a discount code. |
| Create price rule | Write | Create a price rule that defines how a discount applies. |
| Update price rule | Write | Edit a price rule's conditions or value. |
| Delete price rule | Write | Remove a price rule. |
| Create automatic discount | Write | Create a discount that applies automatically at checkout. |
Inventory and content
| Tool | Type | What it does |
|---|---|---|
| List locations | Read | List the store's inventory locations. |
| Get shop | Read | Read store name, currency, and plan. |
| List metaobjects | Read | List entries of a custom content type. |
| Set inventory | Write | Set available inventory for a variant at a location. |
| Set metafield | Write | Create or update a metafield on a product, collection, or other resource. |
| Create metaobject definition | Write | Define a custom content type for structured content. |
| Create metaobject | Write | Add an entry of a custom content type. |
| Upload file | Write | Upload an image or file to the store's content library. |
Orders and customers
| Tool | Type | What it does |
|---|---|---|
| List orders | Read | List recent orders. |
| Get order | Read | Read a single order. |
| List fulfillments | Read | List an order's shipments and tracking. |
| List customers | Read | List customers. |
| Get customer | Read | Read a single customer. |
| Create draft order | Write | Draft an order for a customer before it is finalized. |
| Complete draft order | Write | Turn a draft order into a real order. |
Reading orders and customers uses Shopify's Protected Customer Data scopes. Development stores are exempt, but production stores need Shopify's approval for those scopes. If a read reports missing scopes, add them in Shopify and reconnect the store.
Sales channels
| Tool | Type | What it does |
|---|---|---|
| List publications | Read | List the store's sales-channel publications. |
| Publish product | Write | Publish a product to a sales channel so it appears on your storefront. |
| Publish all products | Write | Publish every product to a sales channel in one step. |
Payments
| Tool | Type | What it does |
|---|---|---|
| Get payment settings | Read | Read the store's currency and supported wallet configuration. |
| Create checkout | Write | Mint a cart and return a hosted checkout URL to start a purchase. |
Webhooks
| Tool | Type | What it does |
|---|---|---|
| List webhooks | Read | List the webhook subscriptions registered for the store. |
| Create webhook | Write | Subscribe an endpoint to a webhook topic. |
| Delete webhook | Write | Remove a webhook subscription. |
Markets
| Tool | Type | What it does |
|---|---|---|
| List markets | Read | List the store's international selling regions and base currency. |
| Create market | Write | Add an international market (region and currency). |
Storefront and functions
| Tool | Type | What it does |
|---|---|---|
| Set storefront variables | Write | Write the Storefront API environment variables into your app. |
| Scaffold storefront | Write | Add the Storefront client plus starter product and cart routes. |
| Scaffold Shopify Function | Write | Generate a Shopify Function extension for discounts, validation, or checkout logic. |
Raw API access
| Tool | Type | What it does |
|---|---|---|
| Admin GraphQL query | Read | Run any read query against the Admin GraphQL API. |
| Admin REST read | Read | Send a GET request to the Admin REST API. |
| Storefront GraphQL | Read | Run a query against the public Storefront API. |
| Admin GraphQL mutation | Write | Run any write operation against the Admin GraphQL API. |
| Admin REST write | Write | Send POST, PUT, PATCH, or DELETE to the Admin REST API. |
Example prompts
- "Create three candle products with prices, descriptions, and images, then publish them to the Online Store."
- "Add Small, Medium, and Large variants to the t-shirt, each at $24.99."
- "Make a Summer Sale collection with the floral dresses."
- "Create a discount code SUMMER15 for 15% off, valid through August."
- "Set up an automatic 10% discount for orders over $100."
- "Set inventory for the blue mug to 40 at my main location."
- "Scaffold the storefront in my app with product listing and cart routes, then wire it to the connected store."
- "Display the products from my store on the home page in a grid."
- "Build a wishlist feature backed by the Storefront API."
- "Create a test checkout so I can verify the purchase flow."
The storefront Lyna generates targets your project's stack (Vite, React, React Router). Cart and checkout use the Storefront cart mutations and redirect shoppers to Shopify's hosted checkout, so there is never a custom payment form holding card data.