> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Shopify

**Authentication:** OAuth or private app credentials. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* List orders placed in the last 24 hours over \$500, by customer.
* Find products with inventory below reorder point and email the buyer.
* Pull total revenue by SKU for Q1.

## Available Tools

#### list_customers

List customers with pagination and search. Use page_info cursor for next page

#### get_customer

Get a customer by ID. Use list_customers to find valid customer IDs

#### create_customer

Create a customer. At least one of email, phone, first_name, or last_name required. Use list_customers to check for duplicates

#### update_customer

Update a customer by ID. Use get_customer to verify the customer exists first

#### delete_customer

Delete a customer. This action is irreversible. Use list_customers to find valid IDs

#### update_customer_email_marketing_consent

Update email marketing consent for a customer. Use get_customer to find the customer ID first

#### list_inventory_levels

List inventory levels across locations. Use list_locations to find valid location IDs. Use page_info cursor for next page

#### adjust_inventory_quantities

Adjust inventory quantities at specific locations. Use list_inventory_levels to find inventory item IDs and list_locations for location IDs

#### list_orders

List and filter orders by status, dates, financial/fulfillment status. Use page_info cursor for next page

#### get_order

Get an order by ID. Use list_orders to find valid order IDs

#### create_order

Create a new order. Use list_products to find valid variant IDs for line items

#### update_order

Update an order. Only email, note, tags, and shippingAddress can be updated. Use get_order to check state

#### cancel_order

Cancel an order with reason and refund/restock options. Use get_order to check order state first

#### mark_order_paid

Mark an order as paid. Order must have pending/authorized/partially_paid status. Use get_order to verify

#### debug_order_fulfillment

Debug order fulfillment status and fulfillment orders. Use get_order first to check basic order info

#### list_products

List products with pagination and filtering. Use page_info.endCursor for next page

#### get_product

Get a product by ID. Use list_products to find valid product IDs

#### create_product

Create a new product. Title is required, status defaults to draft

#### update_product

Update an existing product. Use get_product to verify the product exists first

#### delete_product

Delete a product. Use list_products to find valid product IDs. This action is irreversible

#### set_product_bulk

Create multiple products in bulk. Each product must include a title. Use list_products to verify results

#### create_product_variants_bulk

Create multiple variants for a product. Use get_product to check existing variants first

#### update_product_variants_bulk

Update multiple product variants. Use get_product to find variant IDs. Handles price, SKU, and inventory

#### update_product_variant

Update a single product variant by ID. Use get_product to find variant IDs

#### get_shop_info

Get shop information including name, email, domain, currency, timezone, and plan details

#### list_locations

List all locations for the shop. Use page_info.endCursor for next page

#### edit_order_line_items

Modify order line items using Shopify's 3-step edit flow. Set quantity to 0 to remove an item. Use get_order to find line_item_id values first.