Back to tools

AI Agent Tool

Shopify logo

Shopify

Shopify Admin API for managing stores: products, orders, customers, inventory, and checkout.

E-commerceVerified

Shopify

•

One-click Login

About Shopify

The Shopify Admin API (GraphQL-first since 2024, REST legacy) gives developers full programmatic control over a Shopify store. It covers products, variants, inventory, orders, customers, discounts, fulfillment, and checkout customization. The REST Admin API became legacy in October 2024 and all new public apps must use GraphQL. Shopify releases quarterly versioned API snapshots (e.g., 2026-01, 2026-04). Rate limits use a points-based cost model; Shopify Plus accounts get 2x the standard throughput.

AI Agent Use Cases

- Product, variant, and inventory management via GraphQL mutations

- Order creation, fulfillment, and refund processing

- Customer account and address management

- Shopify Functions for checkout customization, discount logic, and shipping rules

- Bulk operations API for large dataset exports and imports

- Webhook subscriptions for real-time store event notifications

Available Actions

These are the specific actions that AI agents can perform with this tool

Inputs

productIds

The identifier of a product

collectionId

The identifier of a collection

Inputs

resource

The Shopify Admin API resource type.

gid

The Shopify Admin Resource ID. For example, the ID of a Product, Customer, Order, DraftOrder, or OnlineStoreArticle. Can be found at the end of the URL in Shopify Admin.

tags

An array of tags to add

Inputs

alert

alert

mutation

The mutation to be executed in bulk. [See the documentation](https://shopify.dev/docs/api/usage/bulk-operations/imports) for a list of supported mutations. Example: `mutation call($input: ProductInput!) { productCreate(input: $input) { product { id title } } }`

filePath

File path in the `/tmp` directory of a JSONL file including the variables for the mutation. Each line in the JSONL file represents one input unit. The mutation runs once on each line of the input file. [See the documentation](https://shopify.dev/docs/api/usage/bulk-operations/imports) for more information.

clientIdentifier

An optional identifier which may be used for querying

syncDir

syncDir

Inputs

blogId

The identifier of a blog

title

The title of the article

author

The name of the author of the article

body

The text content of the article, complete with HTML markup

summary

A summary of the article, which can include HTML markup. The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.

image

The URL of the image associated with the article

tags

An array of tags to add

Inputs

title

The title of the blog.

Inputs

title

The name of the custom collection

products

The identifier of a product

metafields

An array of objects, each one representing a metafield. If adding a new metafield, the object should contain `key`, `value`, `type`, and `namespace`. Example: `{{ [{ \

imageUrl

The source URL that specifies the location of the image

Inputs

ownerResource

Filter by the resource type on which the metafield is attached to

name

The human-readable name for the metafield definition

namespace

A container for a group of metafields. Grouping metafields within a namespace prevents your metafields from conflicting with other metafields with the same key name. Must have between 3-255 characters.

key

The key of the metafield. Keys can be up to 64 characters long and can contain alphanumeric characters, hyphens, underscores, and periods.

type

The type of data that the metafield stores in the `value` field. Refer to the list of [supported types](https://shopify.dev/apps/custom-data/metafields/types).

pin

Whether to pin the metafield definition

Inputs

type

The metaobject type

Inputs

title

The title of the page.

body

The text content of the page, complete with HTML markup

Inputs

title

Title of the new product

productDescription

A description of the product. Supports HTML formatting. Example: `<strong>Good snowboard!</strong>`

vendor

The name of the product

productType

A categorization for the product used for filtering and searching products

status

The status of the product. `active`: The product is ready to sell and is available to customers on the online store, sales channels, and apps. By default, existing products are set to active. `archived`: The product is no longer being sold and isn

images

A list of URLs of images to associate with the new product

options

The custom product properties. For example, Size, Color, and Material. Each product can have up to 3 options and each option value can be up to 255 characters. Product variants are made of up combinations of option values. Options cannot be created without values. To create new options, a variant with an associated option value also needs to be created. Example: `[{\

tags

An array of tags to add

Inputs

productId

The identifier of a product

optionIds

The product options to apply to the product variant

price

The price of the product variant

image

The URL of an image to be added to the product variant

sku

A unique identifier for the product variant in the shop

locationId

The ID of the location that the inventory level belongs to. Options will display the name of the Location ID

available

Sets the available inventory quantity

barcode

The barcode, UPC, or ISBN number for the product

weight

The weight of the product variant in the unit system specified with Weight Unit

weightUnit

The unit of measurement that applies to the product variant

metafields

An array of objects, each one representing a metafield. If adding a new metafield, the object should contain `key`, `value`, `type`, and `namespace`. Example: `{{ [{ \

Inputs

title

Title of the smart collection

disjunctive

If `false`, the product must match all the rules to be included in the smart collection. Otherwise, it only needs to match at least one rule

rules

The number of rules to input

Inputs

blogId

The identifier of a blog

articleId

The identifier of an article

Inputs

blogId

The identifier of a blog

Inputs

pageId

The identifier of a page

Inputs

blogId

The identifier of a blog

maxResults

The maximum number of results to return

reverse

Sort the results in descending order. Defaults to ascending.

Inputs

namespace

Filter results by namespace

key

Filter results by key

Inputs

type

The metaobject type

Inputs

maxResults

The maximum number of results to return

reverse

Sort the results in descending order. Defaults to ascending.

Inputs

title

The name of the custom collection

exactMatch

The collection title search should be an exact match

maxResults

The maximum number of results to return

sortKey

The key to sort the results by

reverse

Sort the results in descending order. Defaults to ascending.

Inputs

productId

The identifier of a product

productVariantId

ID of the product variant. Takes precedence over **Title**

title

The name of the product variant

createIfNotFound

Creates the product variant with **Title** and the fields below if not found

optionIds

The product options to apply to the product variant

Inputs

title

The name of the product

exactMatch

The product title search should be an exact match

productIds

Select multiple Product IDs or provide Product IDs as a JSON array. For example: `{{ [\

collectionId

The identifier of a collection

productType

A categorization for the product used for filtering and searching products

vendor

The name of the product

maxResults

The maximum number of results to return

sortKey

The key to sort the results by. Keys `RELEVANCE` and `INVENTORY_TOTAL` not for use with `Collection ID`.

reverse

Sort the results in descending order. Defaults to ascending.

Inputs

blogId

The identifier of a blog

articleId

The identifier of an article

title

The title of the article

bodyHtml

The text content of the article, complete with HTML markup.

author

The name of the author of the article

summary

A summary of the article, which can include HTML markup. The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.

image

The URL of the image associated with the article

tags

An array of tags to add

Inputs

locationId

The ID of the location that the inventory level belongs to. Options will display the name of the Location ID

productId

The identifier of a product

inventoryItemId

The ID of the inventory item associated with the inventory level. There is a 1:1 relationship between a product variant and an inventory item. Each product variant includes the ID of its related inventory item. To view a list of Inventory Items, choose a product using the field above

available

Sets the available inventory quantity

reason

The reason for the quantity changes

referenceDocumentUri

A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory quantities or the Shopify resource that

Inputs

type

The metaobject type

metaobject

The metaobject to update

Inputs

pageId

The identifier of a page

title

The title of the page

body

The text content of the page, complete with HTML markup

Inputs

productId

The identifier of a product

title

The new title of the product

productDescription

A description of the product. Supports HTML formatting. Example: `<strong>Good snowboard!</strong>`

vendor

The name of the product

productType

A categorization for the product used for filtering and searching products

status

The status of the product. `active`: The product is ready to sell and is available to customers on the online store, sales channels, and apps. By default, existing products are set to active. `archived`: The product is no longer being sold and isn

images

A list of URLs of images to associate with the new product

tags

An array of tags to add

metafields

An array of objects, each one representing a metafield. If adding a new metafield, the object should contain `key`, `value`, `type`, and `namespace`. Example: `{{ [{ \

handle

A unique human-friendly string for the product that serves as the URL handle. Automatically generated from the product

seoTitle

The product title used for search engine optimization

seoDescription

The product description used for search engine optimization

Inputs

productId

The identifier of a product

productVariantId

The identifier of a product variant

optionIds

The product options to apply to the product variant

price

The price of the product variant

image

The URL of an image to be added to the product variant

sku

A unique identifier for the product variant in the shop

barcode

The barcode, UPC, or ISBN number for the product

weight

The weight of the product variant in the unit system specified with Weight Unit

weightUnit

The unit of measurement that applies to the product variant

metafields

An array of objects, each one representing a metafield. If adding a new metafield, the object should contain `key`, `value`, `type`, and `namespace`. Example: `{{ [{ \