Connect Shopify to Fondoo

Live5 min readUpdated

This connection lets your AI agent work inside your own Shopify store. It can read and edit products, collections and customers, update prices and stock, read orders, and create discounts. It can also add supplier products as drafts and send store orders to a dropshipping or print-on-demand supplier. You create a small private app for your store in Shopify's Dev Dashboard and give Fondoo its client ID and secret.

What Fondoo can do with it

Fondoo uses Shopify's GraphQL Admin API (version 2026-10). Actions, used through connector_action:

  • Read: store.info (store currency), products.list / products.get, collections.list / collections.get, customers.list / customers.get, orders.list / orders.get, inventory.list, webhooks.list.
  • Write: products.create / products.update, collections.create / collections.update, customers.create / customers.update, variants.price (change variant prices), inventory.update (set available stock), discounts.create (a basic discount code), webhooks.create.
  • Destructive (owner approval for agents): products.delete, collections.delete, customers.delete, webhooks.delete.
  • Money (owner approval for agents): orders.create, fulfillments.create.

Fondoo also uses this connection in its commerce tools:

  • list_store_products: read your products page by page.
  • import_supplier_product: create a draft product from a CJ, Printful, Printify or Gelato item, with the price worked out from cost, shipping and your margin. The store currency must be USD.
  • sync_inventory: copy CJ stock to a Shopify item (needs the inventoryItemId and locationId).
  • route_order_to_supplier: send a real store order to a supplier. This always needs the owner's approval.

Before you start

  • A Shopify store you own, and permission to create apps in its Shopify organization.
  • It must be your own store. Fondoo uses Shopify's client credentials grant. It only works when the app and the store belong to the same Shopify organization (client credentials grant). Agencies working for a client need an app in the client's organization.
  • Legacy custom apps are closed. Since 1 January 2026 you can't create new custom apps in the Shopify admin. You use the Dev Dashboard instead (Shopify changelog). Fondoo does not accept old shpat_ admin tokens.
  • No extra Shopify fee for a private app.

Step by step: get your credentials

Follow Shopify's guide for creating an app in the Dev Dashboard (create apps):

  1. Open the Shopify Dev Dashboard while signed in to the organization that owns your store.
  2. Go to Apps → Create app and choose to start from the Dev Dashboard. Name it Fondoo and click Create.
  3. On the Versions page, keep the default App URL unless you have your own. Then open Scopes and add these (access scopes):
    • read_products, write_products: products, collections and variant prices.
    • read_inventory, write_inventory: stock levels.
    • read_orders, write_orders: read orders and create them.
    • read_customers, write_customers: customers.
    • write_discounts: discount codes.
    • write_fulfillments: mark orders as fulfilled.
    • Optional: read_all_orders, if the agent should see orders older than 60 days. Merchant-owned apps don't need Shopify's approval for it.
  4. Click Release to publish this version.
  5. Install the app on your store: use Install app on the Installs card (or the ⋯ menu), pick your store and click Install.
  6. Open App settings. In the Credentials card, copy the Client ID and Client secret.
  7. Note your store's myshopify.com address, for example my-shop.myshopify.com. It's shown in the Shopify admin under Settings, and it's not your custom domain.

What goes where:

Fondoo fieldWhat to paste
shopmy-shop.myshopify.com
clientIdthe Client ID
clientSecretthe Client secret
merchantOwnedtype true to confirm the app and store are in the same organization

Fondoo swaps the client ID and secret for an access token, which lasts about 24 hours. Fondoo renews it automatically before it expires.

Connect it in Fondoo

In the dashboard

  1. Open Connections.
  2. Under Available, find Shopify (in the Stores group) and click Use a key.
  3. Click Open secure key entry (single use, expires after 15 minutes). Fill in the four fields and save.
  4. Click Check connection on the new card.

By asking your agent

Example prompt:

Connect my Shopify store my-shop.myshopify.com. Send me a secure link for the app credentials, then show me my first 10 products.

The agent calls:

add_connection_key({ provider: "shopify", siteId: "<site id>" })    // secure paste link
test_connection({ connectionId: "<id>" })
list_store_products({ connectionId: "<id>" })

For a help link only: connect_service({provider:"shopify", siteId}) (signed, valid 15 minutes).

Over REST: POST https://api.getfondoo.com/v1/ops/add_connection_key with Authorization: Bearer <your Fondoo API key> and {"provider":"shopify","siteId":"<site id>"}. Then /v1/ops/test_connection and /v1/ops/connector_action the same way.

Webhooks

You don't need to set up webhooks for Fondoo. If you want Shopify to notify one of your own endpoints (for example an automation tool), the agent can register a subscription with webhooks.create. It is limited to the topics ORDERS_CREATE, ORDERS_FULFILLED, CARTS_CREATE and CARTS_UPDATE, and the callback URL is whatever you give it. Shopify signs those deliveries for your endpoint to check. Fondoo does not receive them.

Test that it works

  1. Run test_connection (or Check connection). It asks Shopify which scopes the app has. The result lists confirmed scopes and any unknown ones you still need to add.
  2. Ask: "What currency is my store in?" (store.info).
  3. Ask: "List my products." (list_store_products).
  4. Try a safe write in a test product: "Change the price of my test product's first variant to 12.00." (variants.price).

Troubleshooting

  • "Client credentials cannot be performed on this shop". The app and store are in different Shopify organizations. Create the app in the store owner's organization.
  • Invalid Shopify token or 401. The client secret is wrong, or the app isn't installed on this store. Reinstall it from the Dev Dashboard and paste the credentials again with rotate_connection_key.
  • A scope shows as unknown. Add it under Scopes, click Release for a new version, and update the installation if Shopify asks. Then run test_connection again.
  • "Shopify rejected the mutation; check fields and permissions". The input is missing a required field, or the scope for that action isn't granted.
  • Orders older than 60 days are missing. Add read_all_orders.
  • Throttled requests. Shopify limits GraphQL by query cost: 100 points per second on standard plans, 200 on Advanced, 1,000 on Plus (rate limits). Fondoo also keeps to 60 actions per minute. Wait a moment and retry.

Limits, data and security

  • What Fondoo stores: the client ID and secret, encrypted, and the short-lived access token, encrypted. The shop domain is stored as a plain identifier. Store data is read when needed and not copied, apart from product and order IDs that Fondoo maps for supplier imports and routed orders.
  • Rotate: in the Dev Dashboard, rotate or regenerate the client secret (check Shopify's current option in App settings). Then run rotate_connection_key({connectionId}). Fondoo drops the cached token and gets a new one.
  • Disconnect: delete_connection({connectionId}) removes the stored credentials (owner approval for agents). Then uninstall the app from your store in Shopify. Uninstalling removes the app's access to your store.