Shopify

Connect Shopify to your Workspace to bring your store’s orders, products, customers, inventory, and payment disputes into Luo — log them, display them, build dashboards, or hand them off to the assistant for analysis.

What Luo can do

  • Shop — store name, contact email, primary domain, currency, and plan
  • Products & variants — products and their variants, including SKU, price, availability, inventory, barcodes, descriptions, and tags
  • Orders — financial and fulfillment status, totals, line items, and addresses, plus transactions, refunds, fulfillments (with tracking), and fraud-risk assessments
  • Customers — profiles (email, name, phone, lifetime spend, order count) and addresses
  • Draft orders — draft orders and their line items
  • Collections — manual and automated collections, and the products in them
  • Inventory — stock levels by location across your fulfillment locations
  • Disputes — Shopify Payments chargebacks and inquiries: status, reason, disputed amount, evidence due date, and the linked order. Filter by status (e.g. status:needs_response) or date opened. Dispute evidence itself isn’t available. Requires the read_shopify_payments_disputes scope and only applies to stores that use Shopify Payments.
  • Metafields — custom metafields on any resource, plus their definitions
  • Search — Shopify search syntax on list functions (e.g. created_at:>=2026-01-01 financial_status:paid, tag:VIP)

For the rare field these functions don’t expose, Luo can also run read-only GraphQL queries against the Admin API, reaching anything your granted scopes allow.

Shopify in Luo is read-only — it reads data but can’t create, update, fulfill, or cancel anything. Reading your full order history (beyond Shopify’s default 60-day window) requires the read_all_orders scope; see How to connect.

How to connect

You’ll create a custom app in the Shopify Dev Dashboard and paste its Client ID and Client secret into Luo.

1. Create the app

  1. Open the Shopify Dev Dashboard at dev.shopify.com/dashboard and sign in.
  2. In the left-hand menu, click Apps.
  3. Click Create app, enter a name (e.g. Luo Connector), and confirm.

2. Fill in the Versions menu

You land on the Versions menu. Fill in these fields, top to bottom:

URLs section

  • App URL:

    https://luo.app
    
  • Embed app in Shopify admin — leave unticked. Luo connects through the API, not inside the Shopify admin UI.

Access section

  • Scopes — paste this comma-separated list:

    read_products,read_orders,read_all_orders,read_customers,read_inventory,read_locations,read_draft_orders,read_shopify_payments_disputes
    

    read_all_orders is what lets Luo read orders older than 60 days. Leave it out and older orders come back empty, with no error.

    read_shopify_payments_disputes is what lets Luo read Shopify Payments disputes (chargebacks and inquiries). Leave it out and dispute lookups fail with an error asking you to add the scope.

  • Use legacy install flow — tick this checkbox.

  • Redirect URLs — paste Luo’s OAuth callback:

    https://platform.prd.luo.app/oauth/shopify/callback
    

Once the fields are filled in, release the version.

3. Set up Custom Distribution and install the app

You may be able to skip this step. Click your app’s name in the left-hand menu to return to the app overview. If there’s no Distribution card on the right, skip to step 4. If the card is present, you must install the app before you can connect in Luo — follow the steps below.

  1. In the Distribution card, click Select distribution method and choose Custom distribution.
  2. Untick “Allow multi-store install” — you only want this app on your one shop.
  3. Enter your shop URL (e.g. mystore.myshopify.com) and click Generate link.
  4. Open the generated install link in a new tab, select your store if prompted, and confirm.

Shopify installs the app and redirects you to Luo (there’s no separate success screen). Close that tab and return to the dev dashboard.

4. Copy the Client ID and Client secret

In the left-hand menu, click Settings. In the Credentials card, copy:

  • Client ID
  • Secret (this is the Client secret — the dashboard just labels it “Secret”)

5. Connect Shopify in Luo

  1. Open your workspace in Luo, go to Settings → Integrations, and click Add Integration.
  2. Select Shopify.
  3. Choose to connect as a user integration (your personal connection) or a workspace integration (shared across members).
  4. Paste:
    • Shop subdomain — the part before .myshopify.com in your shop URL (e.g. mystore for mystore.myshopify.com). The full URL works too.
    • Client ID and Client secret — from step 4.
  5. Click Continue. Luo redirects you to Shopify to authorize the app, then returns you with the integration connected.
  6. Click Create Integration.

Adding new permissions later

To grant a scope you didn’t enable at install:

  1. In the Dev Dashboard, add the extra scopes under Versions → Access and release a new version.
  2. Reinstall the app on your shop, then reconnect Shopify in Luo. This invalidates your existing authorization, so you’ll reconnect.

Connected before disputes were available? Your connection doesn’t include read_shopify_payments_disputes yet. Add that scope following the steps above, then reconnect Shopify in Luo to read disputes. Everything else keeps working in the meantime.

Privacy and data handling

Your custom app belongs to your shop, so there’s no app-store review to clear. Data flowing through Luo is governed by Luo’s security and privacy practices. To revoke access, uninstall the app from your shop — that immediately invalidates the token.