Shopify connector
React to orders, inventory, and customer changes as they happen, and read or write products, orders, customers, and fulfillments from any Neblex workflow or agent, with bulk operations for whole catalogs and full order history, all under the same governance and audit trail as every other connector.
Overview
The Shopify connector lets a Neblex workflow or agent treat a store as a source and a destination: push paid orders into an ERP, keep inventory in step with a warehouse system, enrich and route customers, and answer questions about orders, without a nightly export and without hitting a rate limit mid-run.
- Works against production stores and development stores, switched per connection
- Uses the GraphQL Admin API by default, falling back to REST for the few resources GraphQL does not cover
- Bulk operations handle a whole catalog or years of order history as a single background job that returns a file
- One connector powers deterministic workflows, agent tool calls, and inventory and order sync jobs, all in the same run log
Why teams use the Shopify connector
The three jobs this connector is picked for most often, and what each one gets you.
- Get orders into the ERP cleanly.
- Keep inventory honest across channels.
- Feed marketing the events it needs.
Worked example
A real flow e-commerce ops teams turn on first, with the actual field-level detail.
Paid Shopify order to a NetSuite sales order, with a fraud hold
On orders/paid, Neblex creates or matches the customer, raises the sales order, and routes anything Shopify flags as high risk to a review queue before it posts.
- Trigger:
Order eventfororders/paid, carrying the order, line items, customer, and addresses. - Risk check: read the order's risk assessment. If the recommendation is
cancelorinvestigate, post to#order-reviewwith the order link and stop until a human releases it. - Customer:
Upsert recordon the ERP customer, keyed on external IDshopify_customer_id, mappingcustomer.email → email,customer.first_name → first name,customer.last_name → last name,shipping_address.country_code → billing country. - Order: create the sales order, mapping
order.name → otherRefNum, and each line to an item sublist line withline.sku → item,line.quantity → quantity,line.price → rate, plus a shipping line fromtotal_shipping_price_set. - Guard: if any
line.skudoes not match an ERP item, hold the order in the review queue rather than creating a partial order. - Close the loop: write the ERP order number to a Shopify order metafield
custom.erp_order_number, so support can see it on the order page.
Example flows
Common patterns other teams start from with this connector.
- Order to ERP. Paid orders become NetSuite sales orders, new shoppers become customers, and fulfillment status flows back to the store. (E-commerce ops)
- Store to email and SMS. Orders, refunds, and customer changes stream to Klaviyo with enriched, deduped customer records. (Marketing)
- Orders to the books. Daily order and payout totals sync into QuickBooks as sales receipts and deposits, reconciled to the payout. (SMB finance)
- Store data to the warehouse. Order, product, and customer history loads into Snowflake through a nightly bulk export, then a polled change trigger, or Shopify's webhooks pointed at a Neblex endpoint, keeps it current. (Data)
Supported objects
Admin API resources are supported for read and write. Metafields extend any of them with your own structured data.
Commonly used resources
Product, Variant, Collection, Order, Draft Order, Customer, Inventory Item, Inventory Level, Location, Fulfillment, Fulfillment Order, Refund, Transaction, Discount, Price Rule, Metafield
Metafields on products, orders, customers, and variants are read and written like any other field, so a workflow can store an ERP ID or a sync status directly on the Shopify record.
Security and access
The connection is scoped to the Admin API access scopes you grant, so it can only read and write the resources you approve.
- OAuth 2.0 or access token. OAuth 2.0 for a public app, a store access token for a single store. Scopes are granted per resource, for example
read_orders,write_inventory. - Scope-limited access. A connection without
write_productscannot change the catalog. Grant the narrowest scope set each flow needs. - Webhook endpoints. A flow can expose a webhook endpoint for Shopify to call, protected by an API consumer key with per-consumer rate limits, quotas, and metering.
- Full audit trail. Every webhook, read, write, and bulk job, with the resource ID, flows into the same Neblex audit trail as every other connector.
Limits, as the vendor publishes them
The shape of the vendor's limits, as published at the time of writing. Verify the exact figures for your plan; they change without notice. Neblex honors the vendor's own rate-limit and retry signals and backs off within them.
- The GraphQL Admin API uses a cost bucket of 1,000 points that refills at 50 points per second, higher on Shopify Plus. The connector reads the cost of each query and paces to fit
- The REST Admin API allows about 2 requests per second with a 40-request burst, doubled on Plus
- Only one bulk operation of each type runs per store at a time. Large reads and writes queue behind it and return a file
- Webhooks are retried over roughly 48 hours across 19 attempts, so a flow must be safe to run twice on the same event
- Order, fulfillment, and inventory writes follow Shopify's own state rules, for example an unpaid order cannot be fulfilled, and the connector surfaces the rejection rather than forcing it
What a flow can do in Shopify
Read and update products, variants, and inventory levels, create, close, and cancel orders, fulfil orders and manage fulfilment holds, calculate and create refunds, create and update customers, run bulk operations over the whole catalog, and many more.
The connector exposes 367 operations, generated from Shopify as it ships, and 100% of them describe their output so later steps can map fields without guessing. Authentication: None.
How flows react to changes in Shopify
Shopify does not push change events to Neblex. A flow reacts to changes either with a Poll for changes trigger that reads the connector on a schedule and detects inserts, updates, and deletes, or by giving Shopify a Neblex webhook endpoint to call when it supports outbound notifications on your plan.
Frequently asked questions
Does the Shopify connector use GraphQL or REST?
GraphQL Admin API by default, since it is where Shopify adds new capability and it lets one query pull related data together. It falls back to REST for the few resources GraphQL does not yet cover.
Can it react to orders in real time?
Shopify does not push change events to Neblex on its own. Point Shopify's webhook topics such as orders/paid and inventory_levels/update at a Neblex webhook endpoint and the flow starts when the webhook arrives; a Poll for changes trigger on the schedule you set covers everything else, including deletes.
How do I load a large catalog or full order history?
A bulk operation runs the query as a background job and returns a JSONL file, so a first sync of a large store does not fight the cost limit. Polled change triggers then keep it current.
Does it handle custom data with metafields?
Yes. Metafields on any resource are read and written like standard fields, so you can keep an ERP order number or a sync status on the Shopify record itself.
Does it work with a development store?
Yes. Each connection targets a production or development store, so you can build and test on a dev store and promote the same flow through environments.
Bring one real integration
We will build it with you against your own systems, with the run log open.