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.
- In your Shopify admin, go to Settings → Apps and sales channels → Develop apps → Create an app.
- Configure Admin API scopes – read_products, write_products, read_orders, write_orders, read_customers, write_customers, read_inventory, write_inventory, etc.
- Install the app. Copy the Admin API access token (starts with shpat_).
- In Automize, open Settings → Connectors → Shopify → Add connection. Enter store sub-domain + the access token.
Scopes required:
read_productswrite_productsread_orderswrite_ordersread_customerswrite_customersread_inventorywrite_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.
| Operation | Category | What it does |
|---|---|---|
| Adjust inventory | General | Adjust Shopify inventory levels. |
| Cancel order | General | Cancel a Shopify order. |
| Close order | General | Close a Shopify order. |
| Complete Draft Order | General | Complete a draft order (convert to real order) |
| Count Orders | General | Get a count of orders |
| Count products | General | Count Shopify products. |
| Create customer | General | Create a Shopify customer. |
| Create draft order | General | Create a Shopify draft order. |
| Create fulfillment | General | Create a fulfillment for a Shopify order. |
| Create order | General | Create a Shopify order. |
| Create product | General | Create a Shopify product. |
| Create Webhook | General | Create a new webhook |
| Delete product | General | Delete a Shopify product. |
| Get customer | General | Get a Shopify customer by ID. |
| Get order | General | Get a Shopify order by ID. |
| Get product | General | Get a Shopify product by ID. |
| Get Shop | General | Get shop configuration and metadata |
| List collections | General | List Shopify collections. |
| List customers | General | List Shopify customers. |
| List draft orders | General | List Shopify draft orders. |
| List fulfillments | General | List fulfillments for a Shopify order. |
| List inventory | General | List Shopify inventory items. |
| List orders | General | List Shopify orders. |
| List products | General | List Shopify products. |
| List variants | General | List variants for a Shopify product. |
| List Webhooks | General | List all webhooks |
| Search customers | General | Search Shopify customers. |
| Update Customer | General | Update an existing customer |
| Update order | General | Update a Shopify order. |
| Update product | General | Update a Shopify product. |
| Update variant | General | Update a Shopify product variant. |
Operations
Adjust inventory
Adjust Shopify inventory levels.
| Parameter | Required | Type | Description |
|---|---|---|---|
Inventory Item Id inventory_item_id | Yes | text | |
Location Id location_id | Yes | text | |
Available Adjustment available_adjustment | Yes | text |
Cancel order
Cancel a Shopify order.
| Parameter | Required | Type | Description |
|---|---|---|---|
Order Id order_id | Yes | text |
Tips
- reason: customer, fraud, inventory, declined, other. email=true notifies customer. restock=true returns inventory.
Close order
Close a Shopify order.
| Parameter | Required | Type | Description |
|---|---|---|---|
Order Id order_id | Yes | text |
Complete Draft Order
Complete a draft order (convert to real order)
| Parameter | Required | Type | Description |
|---|---|---|---|
Draft Order Id draft_order_id | Yes | text |
Count Orders
Get a count of orders
No input parameters.
Count products
Count Shopify products.
No input parameters.
Create customer
Create a Shopify customer.
| Parameter | Required | Type | Description |
|---|---|---|---|
Customer customer | Yes | text |
Tips
- email or phone required. addresses[] for shipping addresses.
Create draft order
Create a Shopify draft order.
| Parameter | Required | Type | Description |
|---|---|---|---|
Draft Order draft_order | No | textarea |
Create fulfillment
Create a fulfillment for a Shopify order.
| Parameter | Required | Type | Description |
|---|---|---|---|
Fulfillment fulfillment | No | textarea |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Order order | Yes | text |
Create product
Create a Shopify product.
| Parameter | Required | Type | Description |
|---|---|---|---|
Product product | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Webhook webhook | No | textarea |
Tips
- topic (e.g. orders/create) + address (your webhook URL) + format (json or xml).
Delete product
Delete a Shopify product.
| Parameter | Required | Type | Description |
|---|---|---|---|
Product Id product_id | Yes | text |
Tips
- Hard-delete. Use status=archived if you want recoverable removal.
Get customer
Get a Shopify customer by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
Customer Id customer_id | Yes | text |
Tips
- Returns customer + addresses + last_order + total_spent.
Get order
Get a Shopify order by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
Order Id order_id | Yes | text |
Tips
- Returns order + line_items + customer + fulfillments + transactions.
Get product
Get a Shopify product by ID.
| Parameter | Required | Type | Description |
|---|---|---|---|
Product Id product_id | Yes | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Order Id order_id | Yes | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Product Id product_id | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Customer Id customer_id | Yes | text | |
Customer customer | Yes | textarea |
Tips
- PUT-style. tags is a comma-separated string.
Update order
Update a Shopify order.
| Parameter | Required | Type | Description |
|---|---|---|---|
Order Id order_id | Yes | text | |
Order order | No | textarea |
Tips
- Limited fields editable – notes, tags, custom attributes. Pricing changes after creation usually need edit_order separately.
Update product
Update a Shopify product.
| Parameter | Required | Type | Description |
|---|---|---|---|
Product Id product_id | Yes | text | |
Product product | Yes | text |
Tips
- PUT-style. To update a variant, send variants:[{id:variant_id, price:'29.99'}].
Update variant
Update a Shopify product variant.
| Parameter | Required | Type | Description |
|---|---|---|---|
Variant Id variant_id | Yes | text | |
Variant variant | No | textarea |
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.