Shopify Webhookとは?種類一覧・設定方法・APIとの違いをわかりやすく解説

What Is a Shopify Webhook? Types, Setup Methods, and How It Differs from the API

Tsun ライターチーム

When connecting Shopify with an order management system or inventory management system, you may want Shopify to automatically notify another system whenever a new order comes in, or to reflect a product or inventory change in an external service right away.

"Shopify Webhook" is the feature that lets Shopify communicate events happening in your store to the outside world. When a specific event occurs, Shopify can automatically send that information to an app or external system. Webhooks are available not only for orders and products created in your store, but also for a wide range of events such as shipping and returns.

This article explains how Shopify Webhooks work, what kinds of notifications you can receive, common use cases, how to set them up, and the points to watch out for when using them.

What Is a Shopify Webhook

A Shopify Webhook is a feature that sends related information to an app or external system when something happens in Shopify, such as an order being created or a product being updated.

Automatically Notifying External Systems of What Happens in Shopify

For example, suppose the following events occur in Shopify:

  • A new order comes in
  • Product information is updated
  • Inventory quantity changes
  • Customer information is updated
  • A product is shipped

With Webhooks, you can send information to an external service the moment such a change happens. For example, you can send order details to an order management system whenever a new order comes in, or trigger processing in an inventory management system whenever stock levels change.

What Are Webhook Topics? Their Relationship to Subscriptions

In Shopify Webhooks, "which event triggers a notification" is specified by a Webhook topic.

Some representative Webhook topics include the following.

Webhook Topic Event Notified
orders/create An order was created
orders/updated An order was updated
products/update A product was updated
inventory_levels/update Inventory levels were updated
customers/update Customer information was updated
fulfillments/update A fulfillment was updated
refunds/create A refund was created

For example, with orders/create, a Webhook is delivered whenever an order is created.

When using Webhooks, you configure which topic and which destination the Webhook should be delivered to. This configuration is called a Webhook subscription. When the configured event occurs, the data related to that event is sent to the specified destination.

Since Shopify provides a large number of Webhook topics, you can set up the topics and destinations you need based on "what should happen in the external system when a specific event occurs in Shopify."

How This Differs from Polling the API Periodically

Besides Webhooks, another way to keep track of changes in Shopify is to periodically call the API to check for information. Both Webhooks and the API are used to connect Shopify with external systems, but they play different roles.

Here's how to choose between Webhooks and the API.

Webhook API
Best suited for Finding out quickly that a change occurred Retrieving, creating, or updating the information you need
Timing Sent by Shopify when the event occurs Queried from the external side to Shopify whenever needed
Examples - Sync a new order to an order management system
- Notify an inventory management system when stock levels change
- Trigger an update process on a search service when a product is updated
- Look up detailed order information
- Fetch a full product list in bulk for use within an app
- Update product or inventory information from an external system

In real-world integrations, it's common to combine both: for example, detecting that an order was created via a Webhook, then fetching the latest order details via the API afterward.

Common Types of Shopify Webhooks

Shopify lets you subscribe to Webhooks for a wide range of events related to running a store. The main types are as follows.

Category Representative Webhook Topics Main Use Cases
Orders orders/create, orders/updated, orders/paid, orders/cancelled Syncing order, payment, and cancellation information
Products products/create, products/update, products/delete Syncing product information
Collections collections/create, collections/update, collections/delete Syncing collection information
Inventory inventory_levels/update Syncing inventory levels by location
Customers customers/create, customers/update, customers/delete Integrating with CRM and marketing automation tools
Shipping / Fulfillment fulfillments/create, fulfillments/update Syncing shipping status
Returns / Refunds returns/request, returns/update, refunds/create Returns management and accounting processes
Cart / Checkout carts/create, carts/update, and others Syncing cart information, etc.
Draft Orders draft_orders/create, draft_orders/update Integrating B2B or phone orders, etc.
Discounts discounts/create, discounts/update, discounts/delete Syncing discount information
Payments / Chargebacks disputes/create, disputes/update Responding to disputes
Locations locations/create, and others Syncing store and warehouse information
Themes themes/create, themes/update, themes/publish Detecting theme changes and publishing
Apps app/uninstalled, app/scopes_update Handling app uninstalls and scope changes
Privacy customers/data_request, customers/redact, shop/redact Handling personal data disclosure and deletion requests

The topics available and the data they include may change depending on the API version. As of August 2026, the latest stable version is 2026-07. When implementing Webhooks, check the specification for the API version you're using in the official Shopify Webhooks reference.

Official Shopify Webhooks Reference (List of Topics)

Below, we introduce representative Webhooks and their use cases by category.

Order-Related Webhooks

For orders, you can receive a wide range of events such as new orders being created, order details being updated, payment, and cancellation. Using orders/create, you can notify an external system exactly when an order is created in Shopify. This can be used, for example, to connect Shopify to an order management or core business system so that order data is automatically registered whenever a new order comes in.

Product-Related Webhooks

For products, you can be notified of product creation, updates, and deletion. Representative topics include products/create, products/update, and products/delete. If an external product management system or search service also uses Shopify's product information, these can trigger a reflection of the change.

Collection-Related Webhooks

There are Webhooks that correspond to collection creation, updates, and deletion. Using collections/create, collections/update, and collections/delete, you can notify an external system when a collection in Shopify changes. This can be used to sync collection information when an external service also relies on it.

Inventory-Related Webhooks

You can receive changes related to inventory levels and inventory items. The representative inventory_levels/update lets you detect when inventory levels at a given location are updated. If you manage inventory across multiple locations, such as physical stores and warehouses, this can be used to trigger syncing with an external inventory management system.

Customer-Related Webhooks

You can be notified of customer creation, updates, and deletion. For example, using customers/update, you can inform an external system exactly when customer information changes in Shopify. If you also manage customer information in a CRM or marketing automation tool, this can be used for data integration. Note that when an app handles customer data, you also need to check the required access scopes and other permissions.

Shipping / Fulfillment-Related Webhooks

You can be notified of events related to shipping and fulfillment. Using fulfillments/create or fulfillments/update, you can notify an external system of shipping status changes in Shopify. This can be used to sync shipping status with a warehouse management system or shipping-related system.

Returns / Refunds-Related Webhooks

You can be notified of returns and refunds that occur after a purchase. For returns, topics such as returns/request and returns/update are available; for refunds, there is refunds/create, among others. These can be used to pass information to a returns management or accounting system and trigger the subsequent process.

Cart / Checkout-Related Webhooks

You can be notified of events related to carts and checkouts before an order is finalized. This can be used to detect cart creation and updates, and to trigger any necessary processing on an external service.

Draft Order-Related Webhooks

You can be notified of events related to draft order creation, updates, and deletion. Draft orders are used when staff create orders received by phone or email, or for B2B transactions. This can be useful for data integration when an external order management system also handles draft orders.

Discount-Related Webhooks

For discounts, you can be notified of events such as discounts/create, discounts/update, and discounts/delete. If an external system also uses Shopify's discount information, this can be used to sync the addition, modification, or removal of discounts.

Payment / Chargeback-Related Webhooks

You can be notified of events related to disputes. Using disputes/create or disputes/update, you can detect when a dispute such as a chargeback occurs, or when its status changes. This can be used to trigger a payment review or internal process.

Location / Store Settings-Related Webhooks

In Shopify, a physical store, warehouse, or other place where you store and manage products can be managed as a "location." Webhooks let you receive events related to location creation, updates, deletion, and deactivation. This can be used to sync store and warehouse information with an external system, and Webhook topics are also available for store-level changes such as shop information.

Theme-Related Webhooks

Besides theme creation, updates, and deletion, using themes/publish lets you detect when the published theme changes. This can be useful for theme management apps or for triggering another process when a theme is published.

App / Privacy-Related Webhooks

For Shopify apps, app/uninstalled lets you detect when the app is uninstalled, and app/scopes_update lets you detect changes in access permissions. Apps distributed through the Shopify App Store must also support the privacy-related compliance Webhooks.

Representative topics include customers/data_request, which handles customer data disclosure requests, customers/redact, which deletes customer data, and shop/redact, which deletes store data. Note that these three are a separate set of compliance-specific topics apart from the regular list of Webhook topics, and are configured in the app's configuration file (shopify.app.toml).

Three Ways to Set Up Shopify Webhooks

There are three main ways to set up Webhooks in Shopify. Broadly, these break down into creating them per store from the Shopify admin, and configuring Webhook subscriptions during Shopify app development.

Method Best Suited For
Shopify admin You want to create a Webhook individually for a specific store
shopify.app.toml You want to set up a common Webhook across multiple stores that have installed your app
GraphQL Admin API You want your app to set up different Webhooks for each store

Creating a Webhook from the Shopify Admin

You can also create a Webhook from the Shopify admin without writing any code.

Go to Shopify admin → "Settings" → "Notifications" → "Webhooks" → "Create webhook," and specify the event you want to be notified of, the data format, the destination URL, and the Webhook API version.

Webhook creation screen in the Shopify admin

Image source: Shopify admin

Screen for specifying the Webhook's event, destination URL, and API version in the Shopify admin

Image source: Shopify admin

From the admin, you can select events related to orders, products, customers, inventory, collections, fulfillment, themes, and more. However, not every Webhook topic listed in the developer reference can be configured from the admin. If you only need Webhooks for a specific store, this is the first approach to consider.

Setting It Up in shopify.app.toml

When developing a Shopify app, you can pre-configure the Webhooks you want to receive in the app's configuration file, shopify.app.toml.

With this approach, the same Webhook configuration applies to every store that has installed your app. It's well suited to apps that need to receive common events, such as "order created" or "product updated," across multiple stores. This is mainly the setup method used by Shopify app developers.

Setting It Up via the GraphQL Admin API

If you want to vary which Webhooks you receive per store, you can use the GraphQL Admin API. For example, you could receive order-related Webhooks for one store, while receiving order and inventory-related Webhooks for another store, allowing different configurations per store.

In app development, you can choose shopify.app.toml when you want a common Webhook configuration across multiple stores, and the GraphQL Admin API when you want to vary the configuration per store.

Points to Keep in Mind When Using Shopify Webhooks

When using Shopify Webhooks, you need to consider not only which topics to select, but also delivery failures, duplicates, and security.

The main points to keep in mind are as follows.

Configure Only the Webhooks You Need

Choose the Webhook topics you need based on what you want to integrate. For app-facing Webhooks, you can also narrow down the notification targets and the data received by specifying conditions.

Verify That the Webhook Actually Came from Shopify

When receiving Webhooks in an external system, you need to verify that the data really was sent by Shopify. When receiving over HTTPS, you can use X-Shopify-Hmac-Sha256 to verify the sender.

Also, since the same Webhook can sometimes arrive more than once, it's important to make sure your processing doesn't end up double-registering the same order, for example.

Plan for Delivery Failures

Webhooks may not always arrive successfully, due to issues such as system outages or communication errors on the receiving end. In Shopify, a failed delivery is retried up to 8 times over 4 hours, and if it continues to fail, the Webhook subscription itself may be automatically deleted. Make sure you can monitor whether Webhooks are being received successfully, so you don't miss a deletion and end up with notifications silently stopping.

Don't Rely on Webhooks Alone for Data Sync

Notification delays, processing failures, or out-of-order delivery can cause discrepancies between the data in Shopify and in your external system. When syncing important information such as orders or inventory, make sure you can fetch the latest data from the Admin API as needed and verify it matches the data on the Shopify side.

Check the API Version

The Webhook topics available and the data they include may change depending on the API version. When developing or making changes, be sure to check the Webhooks reference for the API version you're using.

Webhooks are convenient for integrating with external systems, but it's important to design not just for receiving notifications, but also for handling delivery failures and duplicates.

Summary

A Shopify Webhook is a feature that sends related data to an app or external system when an event such as an order being created or a product being updated occurs. A wide range of topics is available, covering orders, products, inventory, customers, shipping, and returns/refunds.

When using Webhooks, it's important to work out "what should happen in the external system when a specific event occurs in Shopify" and choose the topics you need accordingly. When handling important data, also consider security, duplicate deliveries, handling delivery failures, and periodic data checks via the API.

Back to blog
  • Shopifyのコレクションとは?新機能・作成方法・活用方法をわかりやすく解説

    What Are Shopify Collections? A Clear Guide to ...

    Tsunライターチーム

    A complete guide to Shopify's collection feature. Covers the July 2026 update's new capabilities — multiple sources, variants, and exclusion settings — along with how to create, use, customize, and...

    What Are Shopify Collections? A Clear Guide to ...

    Tsunライターチーム

    A complete guide to Shopify's collection feature. Covers the July 2026 update's new capabilities — multiple sources, variants, and exclusion settings — along with how to create, use, customize, and...

  • Shopify MCPとは?種類やできること、ストア運営者への影響をわかりやすく解説

    What Is Shopify MCP? A Clear Guide to Its Types...

    Tsun ライターチーム

    An overview of Shopify MCP (Model Context Protocol) types and roles, explaining the differences between Dev MCP, Catalog MCP, Cart/Checkout/Order MCP, Storefront MCP, and Customer Accounts MCP. Also covers key...

    What Is Shopify MCP? A Clear Guide to Its Types...

    Tsun ライターチーム

    An overview of Shopify MCP (Model Context Protocol) types and roles, explaining the differences between Dev MCP, Catalog MCP, Cart/Checkout/Order MCP, Storefront MCP, and Customer Accounts MCP. Also covers key...

  • Shopifyの割引アプリ「Discount Kit」とは?機能・メリット・料金プランを解説

    What Is Discount Kit, Shopify's Discount App? F...

    Tsun ライターチーム

    An overview of Shopify's discount app "Discount Kit": its features, benefits, pricing plans, how to use it, and things to watch out for since the settings are English only. For...

    What Is Discount Kit, Shopify's Discount App? F...

    Tsun ライターチーム

    An overview of Shopify's discount app "Discount Kit": its features, benefits, pricing plans, how to use it, and things to watch out for since the settings are English only. For...

  • Shopifyアプリ「ウルミル」とは|売上分析から改善アクションの検討まで支援するEC専門AIアシスタント

    What Is the Shopify App "Urumiru"? An E-Commerc...

    株式会社ユニマル

    Urumiru organizes your sales, order, product, and GA4 traffic data. With an AI daily report and chat consultations, it's an e-commerce AI assistant that helps Shopify stores understand their daily...

    What Is the Shopify App "Urumiru"? An E-Commerc...

    株式会社ユニマル

    Urumiru organizes your sales, order, product, and GA4 traffic data. With an AI daily report and chat consultations, it's an e-commerce AI assistant that helps Shopify stores understand their daily...

  • Fraud Controlとは?Shopifyの不正注文対策アプリの機能・メリット・注意点を解説

    What Is Fraud Control? Explaining the Features,...

    Tsun ライターチーム

    What is Shopify's free app "Fraud Control"? This article explains the features and benefits that help with fraud prevention, blocking checkouts, automation with Shopify Flow, and precautions to keep in...

    What Is Fraud Control? Explaining the Features,...

    Tsun ライターチーム

    What is Shopify's free app "Fraud Control"? This article explains the features and benefits that help with fraud prevention, blocking checkouts, automation with Shopify Flow, and precautions to keep in...

  • Shopifyアプリ「Pointia」とは?ストアクレジット対応でクーポン併用可能なポイントアプリ

    What Is the Shopify App "Pointia"? A Points App...

    RIDE Inc.

    For those looking to introduce a points program and membership ranks on Shopify. Pointia is an app for the Japanese market that automatically grants points as store credit. It supports...

    What Is the Shopify App "Pointia"? A Points App...

    RIDE Inc.

    For those looking to introduce a points program and membership ranks on Shopify. Pointia is an app for the Japanese market that automatically grants points as store credit. It supports...

1 of 6
  • 【ストアインタビュー後編】やりながら育てるShopify。「野菜をMOTTO」の試行錯誤:モンマルシェ株式会社 河野雄士さん

    [Store Interview, Part 2] Building and Growing ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." An in-depth look at our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its...

    [Store Interview, Part 2] Building and Growing ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." An in-depth look at our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its...

  • 【ストアインタビュー前編】 ECが主戦場でも、ECが目的ではない。「野菜をMOTTO」が貫くEC戦略:モンマルシェ株式会社 河野雄士さん

    [Store Interview, Part 1] Even When E-Commerce ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." Part 1 of our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its e-commerce...

    [Store Interview, Part 1] Even When E-Commerce ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." Part 1 of our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its e-commerce...

  • 【ストアインタビュー後編】取り返しのつかない失敗さえしなければ、全部学びになる。EC戦略と経営哲学:Beverich株式会社 代表取締役 木下慶さん

    [Store Interview, Part 2] As Long as You Don't ...

    テキサス・アユミ

    Kei Kinoshita, President of Beverich, discusses his strategy for splitting roles between Shopify and Amazon, how he uses the RuffRuff apps, and a management philosophy that turns failure into learning....

    [Store Interview, Part 2] As Long as You Don't ...

    テキサス・アユミ

    Kei Kinoshita, President of Beverich, discusses his strategy for splitting roles between Shopify and Amazon, how he uses the RuffRuff apps, and a management philosophy that turns failure into learning....

1 of 3
  • 編集プロセス

    EコマースやShopifyの初学者にとって、できるだけ “やさしく” “わかりやすく” “正確に” 難しいコマース用語やマーケティング用語、ストア構築から販売までの仕組み・ノウハウを伝えることを心がけて、記事コンテンツを作成しています。

    詳しく見る 
  • 掲載情報に関して

    掲載している各種情報は、株式会社Tsunが経験および、調査した情報をもとにしています。できるだけ“最新“かつ“正確“な情報の掲載に努めておりますが、内容を完全に保証するものではありません。当サイトによって生じた損害について、株式会社Tsunではその賠償の責任を一切負わないものとします。掲載情報に誤りがある場合には、お手数ですが株式会社Tsunまでご連絡をいただけますようお願いいたします。