Zendesk
Support
FloConnector is a hosted Shopify MCP server. Securely connect Claude, ChatGPT and other AI clients to Shopify. Ask in plain English; it runs the 57 tools for you, behind one endpoint, with you deciding what it can touch.
Beta. Connect it today and every tool below is live. It is new enough that we are still testing it against real Shopify accounts, so tell us if something looks off and we will fix it fast.
Built in-house. We wrote this connector ourselves and call Shopify directly, with no third party in the path. Nothing in a request or response is retained by anyone but Shopify.
Single connection. One Shopify organisation per workspace. Connect another in a separate workspace.
Tools
57 tools your agent gets the moment Shopify is connected.
57 tools
List products in the store, newest first. Supports Shopify search syntax in `query` (e.g. `status:active`, `vendor:Acme`, `tag:summer`, `created_at:>2024-01-01`).
Get one product by id, including its options and variants.
Create a new product. Set `productOptions` (e.g. Color/Size) here if the product will have variants; add the variants afterwards with shopify_create_variants.
Update an existing product's core fields (title, description, vendor, type, tags, handle, status). Does NOT update variants — use shopify_update_variants for those.
Permanently delete a product and all its variants, media, and inventory. Irreversible — consider setting status to ARCHIVED with shopify_update_product instead.
Add one or more variants to a product in bulk. Each variant's `optionValues` must match the product's options (e.g. Color=Red). Set the product's options first with shopify_create_product.
Update one or more existing variants in bulk (price, compare-at price, SKU, barcode). Each variant must carry its `id`.
Permanently delete one or more variants from a product. Irreversible.
List product collections (manual and smart). Supports Shopify search syntax in `query` (e.g. `title:Sale`).
Get one collection by id, with the first page of its products.
List the store's locations (warehouses, shops) with their ids. Needed before adjusting or setting stock, since inventory is tracked per location.
List inventory items with their stock levels per location. Supports Shopify search syntax in `query` (e.g. `sku:ABC-123`, `tracked:true`). Each item maps 1:1 to a product variant.
Get one inventory item by id, with its stock level at every location it's stocked in.
Change stock by a RELATIVE amount (delta) at one or more locations — e.g. -2 when two sold, +10 on a delivery. STEP 2: read the current quantity with shopify_get_inventory_item first, since each change must carry it as `changeFromQuantity`. Prefer this over shopify_set_inventory: deltas compose safely if something else changes stock at the same time.
Set stock to an EXACT quantity at one or more locations — for a stocktake result. STEP 2: read the current quantity with shopify_get_inventory_item first, since each entry must carry it as `changeFromQuantity`. Use shopify_adjust_inventory instead when you know the change rather than the total.
Update an inventory item's SKU, unit cost, tracking, or shipping/customs fields. Does NOT change stock counts — use shopify_adjust_inventory or shopify_set_inventory for that.
List every discount on the store — both code discounts (the customer types a code) and automatic ones (applied with no code). Each result's `__typename` says which kind it is, and its id is what the deactivate/delete tools take. Supports Shopify search syntax in `query` (e.g. `status:active`, `title:summer`).
Get one discount by id — code-based or automatic — including its codes (if any) and current status.
Create a discount the customer applies by typing a code at checkout (e.g. SUMMER20). Give either `percentage` (10 = 10% off) or a fixed `amount` off. Applies store-wide.
Create a discount applied automatically at checkout with no code entered. Give either `percentage` (10 = 10% off) or a fixed `amount` off. Applies store-wide.
Turn off an active code discount without deleting it (it can be reactivated in the store admin). Prefer this over deleting — the sale's history stays intact.
Permanently delete a code discount. Irreversible — consider shopify_deactivate_discount_code instead.
Turn off an active automatic discount without deleting it (it can be reactivated in the store admin). This is what to use when a merchant asks to stop or pause a sale — it takes effect immediately and keeps the sale's history intact.
Permanently delete an automatic discount. Irreversible — prefer shopify_deactivate_automatic_discount, which stops the sale just as immediately but can be undone.
List the store's blogs. A blog is the container articles are published into — you need its id to create an article.
List blog articles. Supports Shopify search syntax in `query` (e.g. `blog_title:News`, `published_status:published`).
Publish a new article to a blog. `body` is HTML. Get `blogId` from shopify_list_blogs first. Set isPublished false to save it as a draft.
Get one blog article by id, including its full HTML body, author, and publish state.
Update an existing article's title, body, summary, tags, or publish state.
Permanently delete a blog article. Irreversible — to take a post off the storefront while keeping it, set isPublished false with shopify_update_article instead.
List the store's static pages (About, Contact, policies…). Supports Shopify search syntax in `query`.
Get one static page by id, including its full HTML body.
Create a new static page. `body` is HTML. Set isPublished false to keep it hidden while drafting.
Update an existing static page's title, body, handle, or publish state.
Permanently delete a static page. Irreversible — consider unpublishing with shopify_update_page instead.
List files in the store's content library (images, videos, documents).
Add files to the store's content library by URL — Shopify fetches each one itself. Use the returned file id to attach an image to a product.
STEP 1 of translating: list a resource's translatable fields with the `digest` each one needs. Pass a product, collection, page, or article id. Feed the key + digest into shopify_register_translations.
STEP 2 of translating: save translated values for a resource. Each entry needs the `key` and `translatableContentDigest` from shopify_get_translatable_content — Shopify rejects translations without them so a translation can't outlive its source text.
List customers, newest first. Supports Shopify search syntax in `query` (e.g. `email:jane@example.com`, `country:Australia`, `orders_count:>5`).
Get one customer by id, including their order count, lifetime spend, and default address.
Create a customer record. An email is normally required for the customer to be usable at checkout. Only set acceptsMarketing from real, given consent.
Update an existing customer's details. Only the fields you pass change; omitted fields are left alone.
Permanently delete a customer record. Irreversible, and it fails if the customer has orders (Shopify keeps order history intact). For a privacy erasure request, use the store admin's redact flow instead.
List orders, newest first. Supports Shopify search syntax in `query` (e.g. `financial_status:paid`, `fulfillment_status:unfulfilled`, `created_at:>2026-01-01`). Only reaches orders from the last 60 days unless the store has granted extended order access.
Get one order by id, including line items, totals, customer, and shipping address.
Update an order's internal note, tags, or email. Cannot change line items or prices — Shopify treats those as an order edit, which is not exposed here.
Cancel an order, optionally refunding payment and restocking inventory. Irreversible — a cancelled order cannot be un-cancelled.
List draft orders (quotes and manually-created orders). Supports Shopify search syntax in `query` (e.g. `status:open`).
Create a draft order (a quote). Each line item needs a `variantId` and quantity — or a `title` and `price` for a one-off custom item. Returns an `invoiceUrl` you can send to the customer to pay.
Turn a draft order into a real order. Set paymentPending true to mark it awaiting payment, false to treat it as already paid. This reserves inventory and is not easily undone.
Permanently delete a draft order. Irreversible. Does not affect completed orders.
STEP 1 of fulfilling: list an order's fulfillment orders (the per-location slices of it) with what's still fulfillable. Feed the returned id into shopify_fulfill_order.
STEP 2 of fulfilling: mark a fulfillment order as fulfilled, optionally with tracking details. Omit `lineItems` to fulfil everything remaining. Get the fulfillmentOrderId from shopify_get_fulfillment_orders.
List gift cards with their balances. Supports Shopify search syntax in `query` (e.g. `status:enabled`).
Issue a new gift card for an initial value. The full code is returned ONCE at creation and cannot be retrieved later — only the masked code is readable afterwards.
Disable a gift card so its remaining balance can no longer be spent. Use this for a card issued in error, or one whose code has leaked. Shopify has no delete for gift cards — deactivating is the only way to take one out of circulation, and it cannot be undone through this connector.
No tools match your search.
What it covers
The Shopify connector covers the storefront's operational core: products and their variants, collections, inventory items and levels across locations, and the adjustments that move stock between them. It is a native FloConnector connector rather than a brokered one, because Shopify's protected customer data rules require the data path stay in our own custody.
Shopify scopes an install to a single store. Each storefront is its own connection.
Create a FloConnector workspace, connect Shopify once from the dashboard, then add your FloConnector endpoint to Claude as a custom connector. Claude handles the sign-in prompt; there is no server to host and no code to write. The same endpoint works in ChatGPT.
57 tools: 23 that read Shopify data and 34 that change it. Every tool is listed on this page, so you can see exactly what the model is able to call before you connect.
No. FloConnector holds the Shopify credential, encrypted before it is stored, and calls Shopify on the model's behalf. The AI client only ever sees the tools and their results, never the credential behind them.
Yes. Each connection is exposed through a profile, and a profile carries only the tools you switch on. Leave the 34 write tools off and the connection is read-only.
Yes. The endpoint is a standard hosted MCP server, so it works in any client that supports MCP connectors, including Claude and ChatGPT.