Shopify integration

E-commerce: products, orders, customers, inventory, fulfillments, collections

Help CentreConnectors

Overview

Shopify is the dominant SMB e-commerce platform. The Automize Shopify connector covers the storefront's main object surface – products, variants, inventory, orders, customers, fulfillments, and metafields – via the Admin REST API.

  • Regions: Each Shopify store has its own sub-domain (yourstore.myshopify.com). The connector hits your store directly.
  • Plans: Basic, Shopify, Advanced, Plus – all expose the Admin REST API. Plus has higher rate limits and additional endpoints (multi-location, Functions).

Setting up the connection

Auth type: Bearer Token.

  1. In your Shopify admin, go to Settings → Apps and sales channels → Develop apps → Create an app.
  2. Configure Admin API scopes – read_products, write_products, read_orders, write_orders, read_customers, write_customers, read_inventory, write_inventory, etc.
  3. Install the app. Copy the Admin API access token (starts with shpat_).
  4. In Automize, open Settings → Connectors → Shopify → Add connection. Enter store sub-domain + the access token.

Scopes required:

  • read_products
  • write_products
  • read_orders
  • write_orders
  • read_customers
  • write_customers
  • read_inventory
  • write_inventory

Find your credentials at https://yourstore.myshopify.com/admin/settings/apps/development.


Rate limits

Shopify uses leaky-bucket rate limiting – 40-call burst, 2/sec replenish on standard plans, higher on Plus. The connector reads X-Shopify-Shop-Api-Call-Limit and pauses near the cap. For high-volume loads use the Bulk Operations GraphQL endpoint (separate flow, not exposed here).


Data model

Storefront-centric:

    Shop ─┬─ Products ─── Variants ─── Inventory Levels (per location)
          ├─ Customers ─── Orders ─── Line Items ─── Fulfillments
          ├─ Collections (smart + custom)
          ├─ Discount Codes
          └─ Metafields (custom data on most resources)

IDs are numeric (passed as strings or numbers). Admin REST uses
/products/{id}.json style URLs.

Available operations

31 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Adjust inventoryGeneralAdjust Shopify inventory levels.
Cancel orderGeneralCancel a Shopify order.
Close orderGeneralClose a Shopify order.
Complete Draft OrderGeneralComplete a draft order (convert to real order)
Count OrdersGeneralGet a count of orders
Count productsGeneralCount Shopify products.
Create customerGeneralCreate a Shopify customer.
Create draft orderGeneralCreate a Shopify draft order.
Create fulfillmentGeneralCreate a fulfillment for a Shopify order.
Create orderGeneralCreate a Shopify order.
Create productGeneralCreate a Shopify product.
Create WebhookGeneralCreate a new webhook
Delete productGeneralDelete a Shopify product.
Get customerGeneralGet a Shopify customer by ID.
Get orderGeneralGet a Shopify order by ID.
Get productGeneralGet a Shopify product by ID.
Get ShopGeneralGet shop configuration and metadata
List collectionsGeneralList Shopify collections.
List customersGeneralList Shopify customers.
List draft ordersGeneralList Shopify draft orders.
List fulfillmentsGeneralList fulfillments for a Shopify order.
List inventoryGeneralList Shopify inventory items.
List ordersGeneralList Shopify orders.
List productsGeneralList Shopify products.
List variantsGeneralList variants for a Shopify product.
List WebhooksGeneralList all webhooks
Search customersGeneralSearch Shopify customers.
Update CustomerGeneralUpdate an existing customer
Update orderGeneralUpdate a Shopify order.
Update productGeneralUpdate a Shopify product.
Update variantGeneralUpdate a Shopify product variant.

Operations

Adjust inventory

Adjust Shopify inventory levels.

ParameterRequiredTypeDescription
Inventory Item Id inventory_item_idYestext
Location Id location_idYestext
Available Adjustment available_adjustmentYestext

Cancel order

Cancel a Shopify order.

ParameterRequiredTypeDescription
Order Id order_idYestext

Tips

  • reason: customer, fraud, inventory, declined, other. email=true notifies customer. restock=true returns inventory.

Close order

Close a Shopify order.

ParameterRequiredTypeDescription
Order Id order_idYestext

Complete Draft Order

Complete a draft order (convert to real order)

ParameterRequiredTypeDescription
Draft Order Id draft_order_idYestext

Count Orders

Get a count of orders

No input parameters.


Count products

Count Shopify products.

No input parameters.


Create customer

Create a Shopify customer.

ParameterRequiredTypeDescription
Customer customerYestext

Tips

  • email or phone required. addresses[] for shipping addresses.

Create draft order

Create a Shopify draft order.

ParameterRequiredTypeDescription
Draft Order draft_orderNotextarea

Create fulfillment

Create a fulfillment for a Shopify order.

ParameterRequiredTypeDescription
Fulfillment fulfillmentNotextarea

Tips

  • Modern flow uses fulfillment_orders endpoint (not exposed here). REST fulfillments still work for simple shipping label workflows.

Create order

Create a Shopify order.

ParameterRequiredTypeDescription
Order orderYestext

Create product

Create a Shopify product.

ParameterRequiredTypeDescription
Product productYestext

Tips

  • title required. variants[] auto-creates with default options if not specified.
  • status defaults to draft – set status=active to publish.

Create Webhook

Create a new webhook

ParameterRequiredTypeDescription
Webhook webhookNotextarea

Tips

  • topic (e.g. orders/create) + address (your webhook URL) + format (json or xml).

Delete product

Delete a Shopify product.

ParameterRequiredTypeDescription
Product Id product_idYestext

Tips

  • Hard-delete. Use status=archived if you want recoverable removal.

Get customer

Get a Shopify customer by ID.

ParameterRequiredTypeDescription
Customer Id customer_idYestext

Tips

  • Returns customer + addresses + last_order + total_spent.

Get order

Get a Shopify order by ID.

ParameterRequiredTypeDescription
Order Id order_idYestext

Tips

  • Returns order + line_items + customer + fulfillments + transactions.

Get product

Get a Shopify product by ID.

ParameterRequiredTypeDescription
Product Id product_idYestext

Tips

  • Returns product + variants + images. fields=id,title,vendor to project.

Get Shop

Get shop configuration and metadata

No input parameters.


List collections

List Shopify collections.

No input parameters.

Tips

  • Custom (manual) and Smart (rule-based) collections. Use collection_type=custom or smart to filter.

List customers

List Shopify customers.

No input parameters.

Tips

  • Search via Search Customers for query-style filters.
  • Page via limit + page_info.

List draft orders

List Shopify draft orders.

No input parameters.


List fulfillments

List fulfillments for a Shopify order.

ParameterRequiredTypeDescription
Order Id order_idYestext

Tips

  • order_id. Returns fulfillments incl. tracking info.

List inventory

List Shopify inventory items.

No input parameters.


List orders

List Shopify orders.

No input parameters.

Tips

  • Filter by status (open, closed, cancelled, any), financial_status (paid, pending, refunded), fulfillment_status.
  • Use created_at_min/_max for date ranges.

List products

List Shopify products.

No input parameters.

Tips

  • Page via limit (max 250) + page_info cursor (modern pagination).
  • Filter by status (active, archived, draft), vendor, product_type, created_at_min, updated_at_min.

List variants

List variants for a Shopify product.

ParameterRequiredTypeDescription
Product Id product_idYestext

Tips

  • product_id. Returns all variants of a product.

List Webhooks

List all webhooks

No input parameters.

Tips

  • Webhook subscriptions on this shop.

Search customers

Search Shopify customers.

No input parameters.

Tips

  • query: 'email:foo@bar.com' or 'last_name:Smith'. Substring + boolean operators supported.

Update Customer

Update an existing customer

ParameterRequiredTypeDescription
Customer Id customer_idYestext
Customer customerYestextarea

Tips

  • PUT-style. tags is a comma-separated string.

Update order

Update a Shopify order.

ParameterRequiredTypeDescription
Order Id order_idYestext
Order orderNotextarea

Tips

  • Limited fields editable – notes, tags, custom attributes. Pricing changes after creation usually need edit_order separately.

Update product

Update a Shopify product.

ParameterRequiredTypeDescription
Product Id product_idYestext
Product productYestext

Tips

  • PUT-style. To update a variant, send variants:[{id:variant_id, price:'29.99'}].

Update variant

Update a Shopify product variant.

ParameterRequiredTypeDescription
Variant Id variant_idYestext
Variant variantNotextarea

Tips

  • Variant-level updates (price, sku, inventory_management). Use Update Product for cross-variant changes.

FAQ

REST vs GraphQL?
Shopify is migrating toward GraphQL. REST still works fully – connector uses REST. For bulk operations or schema introspection, prefer Shopify's GraphQL Admin API (separate flow).
Why does Create Product create a draft?
Default status is draft. Set status=active to make it live.
Inventory – Adjust vs Set, which?
Adjust (delta) is concurrency-safe – two simultaneous decrements don't fight. Set (absolute) is for full sync from an external system of record.
Webhooks – best practice?
For order-creation flows, webhook into Automize rather than polling List Orders. Set up via Create Webhook with your Automize ingest URL + topic=orders/create.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.