Connect Shopify to OpenClaw on Operator.io
Shopify is an e-commerce platform for building, managing, and scaling online stores. It streamlines sales, inventory, and payments so merchants can focus on growth.
Automate Shopify with AI
Your OpenClaw agent lives on Operator and treats Shopify as one more service it can drive. Send it an outcome in a Telegram or Discord message and it works out which of the 361 Shopify actions to run, then runs them.
Your agent reaches Shopify directly or through connectors like Composio MCP and Pipedream MCP, which handle the sign in and token refresh for you, so there is nothing to wire up and no API keys to paste.
What your agent can do with Shopify
Your agent can call any of these Shopify actions by name as part of a larger task. Ask for the outcome you want and it picks the right ones.
Add product to custom collection
Add a product to a custom collection by creating a collect resource. Use when you need to link a product to a custom collection. Note: Can only add products to custom collections, not smart collections.
Adjust inventory levels
Adjust the inventory level of an inventory item at a single location. Use when you need to increase or decrease stock quantities at a specific location.
Apply fulfillment hold
Applies a fulfillment hold to an open fulfillment order, halting all fulfillment work. Use when you need to pause fulfillment due to payment issues, fraud concerns, address problems, or inventory shortages. The fulfillment order status w...
Approve a comment
Approves a pending comment and publishes it to a blog article, making it publicly visible to readers. This action changes the comment's status from 'pending' or 'unapproved' to 'published' and sets the published_at timestamp. Use this wh...
Bulk create products via GraphQL
Creates many products (20-50+) in one asynchronous Shopify bulk mutation job. Uses stagedUploadsCreate for JSONL upload, then bulkOperationRunMutation with productCreate, polling until completion and returning per-row success/errors.
Bulk delete customer addresses
Bulk delete multiple customer addresses in a single operation. This action permanently removes several addresses from a customer's address book at once, which is more efficient than deleting addresses one by one. Use this when you need t...
Delete metafields in bulk
Deletes multiple metafields in bulk using their owner ID, namespace, and key. If a metafield doesn't exist, the mutation still succeeds but returns null for that identifier in the response.
Bulk delete metaobjects
Asynchronously delete metaobjects and their associated metafields in bulk. Use this action to delete multiple metaobjects by their IDs or delete all metaobjects of a specific type. The operation is asynchronous and returns a job ID for t...
Run Shopify bulk query operation
Run a Shopify GraphQL bulk query operation and return the result file URL and operation metadata. Use when you need to retrieve large datasets (thousands of records) from Shopify without manual pagination, such as bulk fetching products,...
Calculate a refund
Calculate accurate refund amounts, taxes, and transactions for a Shopify order before creating an actual refund. Use this action to: - Preview refund calculations for line items with accurate tax breakdowns - Determine shipping refund am...
Cancel App Subscription
Cancel an app subscription in Shopify using the appSubscriptionCancel GraphQL mutation. Use when you need to cancel an existing app subscription, optionally with prorated credits.
Cancel Shopify bulk operation
Cancel a running Shopify bulk operation. Use when you need to stop a long-running bulk query or mutation operation that is no longer needed. Note that there may be a short delay between when cancelation starts and when the operation is a...
Cancel a fulfillment
Cancels an existing fulfillment by its ID, reverting all line items to an unfulfilled state. Use this when a fulfillment was created in error or needs to be redone. The cancellation is permanent and cannot be undone - the line items will...
Cancel a Fulfillment Order
Cancels a fulfillment order in Shopify and marks it as closed. This creates a replacement fulfillment order with the same line items, allowing reassignment to a different location. Use this for merchant-managed fulfillments. For third-pa...
Cancel an order
Cancels a Shopify order and optionally restocks items and sends email notifications. Use when canceling an order that has not yet been paid or fulfilled. Orders cannot be cancelled if payment status is already paid or if the order has ex...
Close an order
Closes an open Shopify order. Use when all line items have been fulfilled or canceled and all financial transactions are complete.
Complete a draft order
Complete a draft order in Shopify and transition it to an actual order. Use when you need to finalize a draft order, reserve inventory, and create a corresponding order. When completing with payment_pending=true, the payment gateway is s...
Connect inventory item to location
Connects an inventory item to a location, establishing where the item can be stocked and fulfilled. This creates an inventory level with an initial available quantity of 0. Use this when you need to enable a product variant to be stocked...
Count articles in blog
Retrieves a count of all articles from a blog. Use when you need to know how many articles exist in a specific blog, optionally filtered by creation, publication, or update dates and publication status.
Get blogs count
Retrieves the total count of all blogs in a Shopify store. Use this action when you need to know how many blogs exist in the store without fetching the full list of blog details. This is useful for pagination calculations, analytics, or...
Retrieve count of custom collections
Retrieves a count of custom collections with optional filters. Use when you need to know how many custom collections exist in the store, optionally filtered by product, publication status, or date ranges.
Get draft orders count
Retrieves a count of draft orders from a Shopify store. Use when you need to know how many draft orders exist without fetching full draft order details. Supports filtering by status and date range to count specific subsets of draft orders.
Count all the events
Count all events in a Shopify store with comprehensive filtering. Use when you need to determine how many events match specified criteria including date range, resource type, or action verb.
Count fulfillments for order
Retrieves a count of fulfillments associated with a specific order. Use when you need to determine how many fulfillments exist for an order, optionally filtered by creation or update dates.
Retrieves a count of locations
Retrieves a count of locations. Use when you need to determine how many physical or virtual locations are configured in the Shopify store.
Count resource metafields
Retrieves the count of metafields attached to a Shopify resource (products, blogs, collections, customers, orders, etc.). Use this when you need to know how many metafields are associated with a resource without retrieving the full list....
Retrieve page count
Retrieve the total count of pages in a Shopify store. Use when you need to determine how many pages exist, optionally filtered by creation date, update date, publication date, publication status, or title.
Count price rules
Retrieves a count of all price rules. Use when you need to determine how many price rules (discount campaigns) are configured in the store.
Count product images
Retrieves the total count of images for a specific Shopify product. Use when you need to know how many images are associated with a product.
Retrieves a count of products
Retrieve a count of products in the Shopify store. Use when you need to get the total number of products, optionally filtered by collection, vendor, product type, status, or date ranges.
Count product variants
Retrieves the total count of variants for a Shopify product. Use when you need to know how many variants exist for a specific product.
Receive a count of all webhooks
Retrieves a count of existing webhook subscriptions. Use when you need to know how many webhooks are configured, optionally filtered by address or topic.
Create a metafield
Create a metafield for any Shopify resource. Use when you need to attach custom metadata to products, customers, orders, collections, or other supported resources.
Create A New Product Image
Create a new product image for a Shopify product. Use when you need to add an image to a product by providing either an image URL or base64-encoded image data. Products can have up to 250 images in PNG, GIF, or JPG formats.
Create app subscription
Create a recurring or usage-based app subscription for charging Shopify merchants. Use when setting up billing for app features and services. Returns a confirmation URL where the merchant must approve charges before the subscription beco...
Create Article
Create an article for a blog in Shopify. Use when you need to add blog content to a specific blog. The title field is mandatory - requests without titles return a 422 error.
Create Comment for Article
Create a comment for an article in Shopify. Use when you need to add reader comments to blog articles. Requires 'content' access scope and protected customer data access.
Create a new blog
Create a new blog in Shopify. Use when you need to add a blog to the store for publishing articles and content. The title field is mandatory.
Create a custom collection
Create a new custom (manually curated) collection in Shopify. Does not support smart collections. Use when you need to manually curate and group products for easier store browsing. Custom collections require a title and support optional...
Create Customer
Create a new customer in Shopify. Use to add a customer record to the store with contact details, addresses, and marketing preferences. Requires at least one of: email, phone, or both first_name and last_name. Errors (e.g., duplicate ema...
Generate Customer Account Activation URL
Generate a one-time account activation URL for a customer whose account is in 'disabled' state (not yet activated). Use this when you've imported customers and need activation URLs to send in welcome emails. The URL allows customers to s...
Create customer address
Create a new address for a customer. Use when you need to add an address to an existing customer's address list.
Create delegate access token
Create a delegate access token with a subset of the parent token's permissions. Use when you need to securely delegate limited access to subsystems or services. Each delegate token inherits only the specified scopes, ensuring minimal req...
Create Discount Code
Creates a discount code for an existing price rule. Price rules define the discount logic (e.g., 10% off, buy X get Y), and discount codes are the actual codes (e.g., 'SUMMER10') customers enter at checkout. Important: The price rule mus...
Create Discount Codes Batch
Create a discount code creation job for batch processing. Use when you need to asynchronously create up to 100 discount codes for a price rule in a single request.
Create a new draft order
Create a draft order in Shopify. Use when you need to create orders in draft state using product variant line items or custom line items. Draft orders are useful for creating orders on behalf of customers, generating invoices, or reservi...
Create EventBridge webhook subscription
Create an AWS EventBridge webhook subscription in Shopify. Use when you need to configure real-time event notifications to AWS EventBridge for events like order creation, product updates, or customer changes. EventBridge webhooks push ev...
Create Fulfillment
Creates a fulfillment for one or many fulfillment orders for a specific order. This completes the shipping process by marking items as fulfilled. IMPORTANT: You must first retrieve fulfillment orders using a "Get fulfillment orders for o...
Plus 313 more Shopify actions your agent can call.
How to connect Shopify
You authorize Shopify once from your dashboard. Operator holds the connection and refreshes the access tokens on its own, so your agent keeps working with Shopify without you signing in again. The same setup unlocks every other app your agent can reach, so you only do it once.
When you are ready, the get started guide walks through standing up your OpenClaw agent.
Common questions about Shopify
- How do I connect Shopify to Operator?
- Connecting Shopify is a one time sign in from your Operator dashboard. Operator keeps the connection live and rotates the token on its own, so the agent stays connected to Shopify and you never reauthorize by hand.
- Can my agent manage my store in Shopify?
- Yes. It can read and update products, orders, and customers, and report on what is happening. Ask for the day's orders or to adjust stock and it runs the matching Shopify actions, so you run the store from a chat instead of the admin panel.
- Do I need to write code or manage Shopify API keys?
- No. Operator manages the Shopify connection and token refresh, so there are no API keys to paste and nothing to deploy.
- Can my agent use Shopify together with my other apps?
- Yes. The same agent reaches every app you connect, so it can move between Shopify and tools like Cloudcart, Baselinker, Square in one job, reading from one and acting in another without you wiring anything between them.
Shopify integrations
Pick an app to see what your agent does across Shopify and it, or browse all integrations.
Put your agent on Shopify
Sign in, connect Shopify, and hand your agent the work. Your first week is free.
Get started