Skip to content
All connectors
Shopify logo

Shopify

Commerce, marketplaces & inventory

Move Shopify orders, products and stock to the rest of your business without re-keying.

45 ways to read, 21 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Shopify with Nexra

Connected, approved, proven.

The things teams do most with Shopify, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Run bulk querybulk_operations.createApproval by rule
  • Create collectioncollections.createApproval by rule
  • List Shopify Payments balance transactionsbalance_transactions.listRead

Example flow

  1. Shopify · List Shopify Payments balance transactionsbalance_transactions.listDone
  2. Shopify · Run bulk querybulk_operations.createMaker-checker
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Shopify.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to Shopify
  • Shopify's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect a Shopify Inc. test account before you go live.

For developers

Technical detail

Shopify orders, fulfillments, returns, products, collections, inventory (adjust or set exact stock), draft orders, discounts, metafields, metaobjects, markets, bulk queries and Shopify Payments payouts and disputes.

Shopify Inc. API docs
Source actions
45
Destination actions
21
Data types
34

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

balance transactions1
  • List Shopify Payments balance transactionsSourceIncremental

    Every movement on the Shopify Payments balance (charges, refunds, fees, adjustments, chargebacks, reserves), with gross, fee and net amounts, the order and the payout it settles in.

bulk operations3
  • Run bulk queryDestinationNot retried automaticallyApproval before production

    Starts an asynchronous bulk query export; poll bulk_operations.get for the JSONL result URL.

  • Get bulk operationSource

    One bulk operation's status and JSONL result URL.

  • List bulk operationsSource

    Bulk operations of this app with status, object counts and result URLs.

collections4
  • Create collectionDestinationNot retried automaticallyApproval before production

    Creates a custom collection, optionally with up to 250 products.

  • Get collectionSource

    One collection with smart rules, sort order and its first 50 product IDs.

  • List collectionsSourceIncremental

    Custom and smart collections with product counts.

  • Update collectionDestinationProvider duplicate protectionApproval before production

    Updates a collection's title, handle, description and sort order.

customer segment members1
  • List segment membersSource

    Customers that belong to a segment, with name, order count and spend.

customer segments1
  • List customer segmentsSource

    Customer segments with their ShopifyQL definition (read only).

customers5
  • Get customerSource

    One customer with marketing consent states, order count, amount spent and default address.

  • List CustomersSource

    List operation for Customers.

  • Search customersSourceIncremental

    Customers changed since a time, with consent, spend and address details.

  • Update customerDestinationProvider duplicate protectionApproval before production

    Updates names, note, tags and tax exemption on an existing customer by ID.

  • Upsert CustomersDestinationNexra idempotency keyApproval before production

    Upsert operation for Customers.

discounts3
  • Create code discountDestinationProvider duplicate protectionApproval before production

    Creates a percentage or fixed-amount code discount on the whole order, or on listed products or collections.

  • Get discountSource

    One code or automatic discount.

  • List discountsSourceIncremental

    Code and automatic discounts with status, codes, usage and combination rules.

disputes1
  • List Shopify Payments disputesSourceIncremental

    Chargebacks and inquiries on Shopify Payments charges, with amount, reason, status, the order and the evidence deadline.

draft orders4
  • Create draft orderDestinationNot retried automaticallyApproval before production

    Creates a draft order from variants or custom items, for invoicing or B2B order capture.

  • Get draft orderSource

    One draft order with up to 250 line items, addresses, note and tags.

  • List draft ordersSourceIncremental

    Draft orders with status, totals, invoice URL and the completed order ID.

  • Update draft orderDestinationProvider duplicate protectionApproval before production

    Updates an open draft order's line items, note, tags, email, PO number and addresses. Completing a draft is not supported.

fulfillment orders1
  • List fulfillment ordersSource

    Fulfillment orders of an order with assigned location and remaining line-item quantities.

fulfillments3
  • Create fulfillmentDestinationNot retried automaticallyApproval before production

    Fulfils a fulfillment order (all remaining items, or the listed line items) with optional tracking.

  • List order fulfillmentsSource

    Shipments of an order with tracking, delivery status and fulfilled line items.

  • Update fulfillment trackingDestinationProvider duplicate protectionApproval before production

    Sets the tracking number, URL and carrier of an existing fulfillment.

inventory adjustments1
  • Adjust available inventoryDestinationProvider duplicate protectionApproval before production

    Adds or subtracts available quantity for an inventory item at a location, with Shopify duplicate protection.

inventory items3
  • Get inventory itemSource

    One inventory item with SKU, cost, tracking and customs data.

  • List inventory itemsSourceIncremental

    Inventory items with SKU, tracking, unit cost and customs data.

  • Update inventory itemDestinationProvider duplicate protectionApproval before production

    Updates SKU, unit cost, tracking, shipping and customs data of an inventory item.

inventory levels2
  • List inventory levels at a locationSource

    Available, on-hand, committed, incoming and reserved quantities for every item stocked at a location.

  • Set inventory quantityDestinationProvider duplicate protectionApproval before production

    Sets the available (or on-hand) quantity of an inventory item at a location to an exact number, for stock synced from an ERP or warehouse, with Shopify duplicate protection.

inventory1
  • List InventorySource

    List operation for Inventory.

locations2
  • Get locationSource

    One location with address, activation and fulfilment flags.

  • List locationsSource

    Stock locations with address and fulfilment flags, including inactive ones.

markets1
  • List marketsSource

    Markets with status, type and base currency (read only).

metafield definitions1
  • List metafield definitionsSource

    Metafield definitions for an owner type, with namespace, key, type and validations.

metafields2
  • List metafieldsSource

    Metafields of a product, variant, customer, order, collection or other owner, with typed values.

  • Set metafieldDestinationProvider duplicate protectionApproval before production

    Creates or updates a metafield on an owner resource by namespace and key.

metaobject definitions1
  • List metaobject definitionsSource

    Metaobject types with their field definitions and entry counts.

metaobjects3
  • Get metaobjectSource

    One metaobject entry with typed field values.

  • List metaobjectsSourceIncremental

    Metaobject entries of one type with typed field values.

  • Upsert metaobjectDestinationProvider duplicate protectionApproval before production

    Creates or updates a metaobject entry by type and handle; only the mapped fields change.

orders2
  • Get orderSource

    One order with up to 250 line items, transactions and fulfillment orders.

  • List ordersSourceIncremental

    Orders ordered by last update with line items, payment transactions, totals and addresses.

payouts1
  • List Shopify Payments payoutsSourceIncremental

    Payouts from the Shopify Payments balance to the bank, newest last, with the net amount and the gross and fee totals for charges, refunds, adjustments and reserved funds.

prices2
  • List PricesSource

    List operation for Prices.

  • Upsert PricesDestinationNexra idempotency keyApproval before production

    Upsert operation for Prices.

product media1
  • List product mediaSource

    Image, video and 3D model metadata of a product (URLs, alt text, dimensions).

product publications1
  • Publish to sales channelDestinationProvider duplicate protectionApproval before production

    Publishes a product or collection to a publication (sales channel), optionally at a future date.

product variants4
  • Create product variantsDestinationNot retried automaticallyApproval before production

    Adds up to 100 variants to a product with option values, prices and SKUs.

  • Get product variantSource

    One variant with SKU, barcode, prices, options and inventory item details.

  • List Product VariantsSource

    List operation for Product Variants.

  • Update product variantsDestinationProvider duplicate protectionApproval before production

    Updates up to 100 variants of one product by ID: prices, barcode, tax, stock policy, SKU, cost and tracking.

products4
  • Create productDestinationNot retried automaticallyApproval before production

    Creates a product with options. Shopify creates one initial variant; add more with product_variants.create.

  • Get productSource

    One product with up to 250 variants.

  • List productsSourceIncremental

    Products with variants, prices, options and inventory item IDs, by last update.

  • Update ProductsDestinationNexra idempotency keyApproval before production

    Update operation for Products.

publications1
  • List publicationsSource

    Sales channel publications products and collections can be published to.

refunds1
  • List order refundsSource

    Refunds of an order with refunded line items and refund transactions (read only).

returns2
  • Get returnSource

    One return with its line items and reasons.

  • List order returnsSource

    Returns of an order with status, returned line items and reasons (read only).

shop1
  • Get shopSource

    Store name, domains, currencies, time zone, units and plan.

transactions1
  • List order transactionsSource

    Payment transactions of an order (authorisations, sales, captures, refunds) with gateway and status.

webhooks1
  • List webhook subscriptionsSource

    This app's webhook subscriptions with topic, destination and format (read only).

Access and limits

Authentication
Admin API access token
Plans and access
All Shopify plans; Plus stores have higher GraphQL cost budgets. The custom app's Admin API access scopes limit what each operation can read or write. Customer, order and address data require protected customer data access.
Test environment
Shopify Partner development stores can be used for testing.
Rate limits
Calculated query cost against a leaky-bucket point budget per app and store (restore rate depends on plan). Throttled responses return THROTTLED with extensions.cost; Nexra derives the retry delay from the cost and restore rate.
Pagination
Relay cursors (first/after with pageInfo.endCursor), up to 50 nodes per page.
Provider events
Webhook subscriptions for orders, products, inventory levels, fulfillments and refunds. Flows can start the moment something happens: when a new order is placed; when an order is paid; when an order is fulfilled; when an order is cancelled.

Before you build a flow

  • Customer reads and email-keyed customerSet writes with read-back verification are implemented. Requires read_customers and write_customers with protected customer data access. Product/variant and base-price reads, exact-SKU title updates and currency-checked variant base-price updates are implemented with read-back verification. Requires product read/write permission. Title updates affect all variants of the parent product. Missing or duplicated SKUs stop products.update and prices.upsert; they change existing products only (products.create creates new ones). Physical on_hand inventory reads (inventory.list) include every active location for tracked items with unique SKUs. Requires read_inventory and location read access. Untracked items are excluded. Each location must be matched to the destination warehouse; no totals, reservation conversion or automatic stock-source equivalence. Stock changes are relative adjustments (inventory_adjustments.create); an absolute stock level cannot be set. No market pricing or tax conversion.
  • Order lists return up to 25 line items and 10 transactions per order to stay within query cost limits; use orders.get for up to 250 line items and 50 transactions.
  • Product lists return up to 50 variants per product; products.get returns up to 250.
  • Refunds are read only. Refund creation, order cancellation, payment capture and deletes are not implemented.
  • Shopify Payments payouts, balance transactions and disputes are read only and need the read_shopify_payments_accounts plus payouts or disputes scopes; stores on other payment providers have none.
  • Inventory adjustments use Shopify's @idempotent directive with a key derived from the Nexra idempotency key; Shopify recognises a repeat for 24 hours.
  • Draft order and fulfillment creation have no Shopify idempotency key; uncertain creates are not repeated automatically.
  • Intentionally excluded: order editing, draft order completion (it can charge the customer), refund and return creation, order cancellation and capture, discount activation changes, webhook subscription changes, bulk mutations and every delete.
  • Fulfillments, transactions and refunds come from the order's non-paginated lists (up to 100, 100 and 50 per order).
  • discounts.create creates basic percentage or fixed-amount code discounts for all buyers; buy-X-get-Y, free-shipping, app and automatic discounts are read only.
  • bulk_operations.create starts read-only bulk queries; the result is a signed JSONL file URL that Nexra returns but does not download.

Developer reference

  1. Create the Shopify Inc. credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose Shopify, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/shopify and the Connections API.