Choose the subscription route first: use shopify.app.toml when every shop installing your app should receive the same topic at the same destination; use the GraphQL Admin API when the topic, destination, or filter must vary by shop. Then select a supported delivery method, configure the subscription, and verify the deployed registration—not just that a test request reaches your handler.
This guide reflects Shopify documentation checked October 5, 2026. Webhook topics, payloads, and API behavior are version-sensitive, so check the current documentation and test compatibility before release.
As an Amazon Associate I earn from qualifying purchases.
Choose app-specific or shop-specific subscriptions
A webhook subscription tells Shopify which events an app wants and where to deliver them. The choice is mainly about the scope of configuration: shared across the app’s installing shops, or set separately for each shop.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
| Route | Use it when | Important checks |
|---|---|---|
App-specific subscription in shopify.app.toml |
The app uses the same topic and destination across its installing shops. Shopify recommends this route for a shared configuration. | Check topic, access scope, URI, API version, and deployment. This route supports all topics except product_feeds/full_sync, product_feeds/full_sync_finish, and product_feeds/incremental_sync. Shopify says a failing app-specific subscription is not deleted. |
| Shop-specific subscription through the GraphQL Admin API | Configuration needs to vary from shop to shop, such as the topic, destination, or filter. | The API version in the GraphQL request URL determines the subscription payload version. Shopify says this route supports every topic. Shopify says a failing shop-specific subscription is deleted. |
Those failure behaviors and supported topics are documented by Shopify and can change; confirm the current details in Manage webhook subscriptions before relying on them.
#1 Best Overall
Choose where Shopify should deliver events
Shopify documents three delivery destinations. The right fit depends on the infrastructure your team already operates; Shopify’s documentation does not establish comparative price, latency, uptime, or overall ease of operation.
| Destination | When it may fit | What to configure |
|---|---|---|
| HTTPS | Your team runs and maintains a receiving endpoint. | Use a reachable HTTPS endpoint, verify each delivery’s HMAC signature, and make the handler compatible with the payload API version. |
| Google Cloud Pub/Sub | You want cloud-based webhook delivery. Shopify recommends Pub/Sub for cloud delivery. | Configure the project and topic destination required by your chosen subscription route. |
| Amazon EventBridge | You use AWS event routing or prefer its event-source model. | Configure the EventBridge destination and the infrastructure that receives its events. |
Shopify’s setup guide lists these delivery options and cautions against using development mock servers such as webhook.site or Beeceptor for production. See Create a webhook subscription.
Check topic access and compliance requirements
Choose the event topic your app needs, then confirm its required access scope. Shopify states that each topic requires a corresponding scope. Public App Store apps must subscribe to mandatory compliance topics; these can be configured in the Dev Dashboard or app configuration. Check the current topic list and requirements in Shopify’s subscription documentation before release, because available topics can depend on API version.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #2
Configure an app-specific subscription
For a shared subscription, add a [[webhooks.subscriptions]] entry in shopify.app.toml with the topic and delivery URI. Optional fields include include_fields, filter, and name. Set the Webhooks API version in the [webhooks] section using api_version.
Use the exact configuration format and current options in Shopify’s Manage webhook subscriptions guide. Confirm the URI is appropriate for the chosen destination, and make sure the configured scopes cover the selected topic.
Create a shop-specific subscription with GraphQL
When settings must differ by shop, create the subscription with the GraphQL Admin API’s webhookSubscriptionCreate mutation. The mutation accepts a topic and subscription input; the delivery method and input fields depend on the destination.
Use the API version in the GraphQL request URL that you intend the shop-specific subscription to follow, and consult Shopify’s current webhookSubscriptionCreate reference for the required input shape and delivery options. The reference URL is for API version 2026-04; do not assume its details apply unchanged to a different version.
Set and test the payload API version
The Webhooks API version determines how Shopify serializes webhook payloads and can affect topic availability. For app-specific subscriptions, the version is set in [webhooks].api_version in the app configuration. For shop-specific subscriptions, it follows the version in the GraphQL request URL. Shopify recommends updating to the latest stable API version each quarter; test handler compatibility before changing versions.
For HTTPS deliveries, Shopify includes the version used in the X-Shopify-API-Version header. Use it to detect payload-version changes in your handler. Shopify’s Webhooks reference for API version 2026-01 documents delivery headers; the page’s version is 2026-01, so consult the reference matching your configured version.
Rank #4
- Income And Expense Log Book: This Income and Expense Record Book(8.5" x 10.5") is a necessary item for any small business owner or entrepreneur. It is an essential part of any business - helping you understand your overall earnings to determine if you are profitable.
- Daily Tracking and Weekly Overview: let our log tell you if you are profitable today! There are two pages per week to help you you track your income and expenses. At the end of each day or week, you can note whether you made a profit or a loss for the day.
- Clear P&L Statement For Your Business: This income and expense book makes it easy to see your expenses and how they fluctuate from time to time. This makes it easy for you to decide where you can cut back on expenses and assess your total annual net profit.
- Main Features: Expense Review + Income Review + Weekly Pages + Summary of The Year + Twin-Wire Binding + Waterproof Cover + Rounded corner design + Thicker paper
- Effective Organization: This budget book has a twin-wire binding and you can easily lay it flat at 180°. This effective design can help you work better and bring you great convenience in the process of using.
Build a safe HTTPS handler
For HTTPS delivery, validate X-Shopify-Hmac-Sha256 against the request body using your app’s secret before trusting or processing the event. Use the accompanying headers for routing, compatibility, and delivery tracking:
X-Shopify-Topicidentifies the topic.X-Shopify-Shop-Domainidentifies the shop.X-Shopify-API-Versionidentifies the payload version.X-Shopify-Webhook-Idis unique to a webhook delivery.X-Shopify-Event-Idis shared across deliveries arising from the same merchant action.X-Shopify-Triggered-Atrecords when Shopify triggered the delivery.
Shopify documents these headers in its Webhooks reference. Since a delivery may be repeated, design processing to recognize repeats. The unique delivery ID and the shared event ID describe different levels of identity; choose which one matters for your idempotency rules rather than treating them as interchangeable.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Decide how much payload to receive
By default, Shopify sends the full REST resource for the topic as JSON. You can use include_fields to select fields, including nested fields such as variants.price, and a filter to restrict events to matching resources.
Best Value
Reducing fields can also remove information your handler needs to distinguish meaningful changes. Shopify warns that if selected fields make multiple event payloads identical, deliveries may be debounced within a short window. Review the delivery behavior in Webhooks delivery structure before narrowing a payload.
Test the handler and verify the registered subscription
- Exercise processing: run
shopify app webhook triggerto send a synthetic request, or use a development mock endpoint. This checks how your code processes a request; it does not establish that Shopify has the intended subscription registered. - Deploy the app configuration: use Shopify CLI to deploy the app version containing the app-specific subscription configuration.
- Verify the active setup: inspect the deployed app version and subscription in the Dev Dashboard. For shop-specific subscriptions, query the GraphQL Admin API to confirm the subscription is present and configured as intended.
- Check migration duplicates: when moving from shop-specific to app-specific subscriptions, remove existing shop-specific subscriptions for the same topics first to avoid duplicate notifications.
Shopify’s setup guide explains CLI testing and deployment; its subscription guide covers deployment and migration.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




