Skip to main content

Shopify

Receive webhook events from your Shopify store for orders, products, customers, fulfillments, inventory, and more — and route them to Discord, Slack, Telegram, or any HTTP endpoint.

Connect Shopify

The fastest way to connect is OAuth: enter your shop domain, authorize Dispatch in your Shopify admin, and we register webhook subscriptions for you. No copying URLs or signing secrets between dashboards.

Steps

  1. In Dispatch, go to Sources → Add Source → Shopify.
  2. Enter your shop domain (my-store.myshopify.com or just my-store) and click Connect with Shopify.
  3. You'll be sent to your Shopify admin to authorize the Dispatch app. Approve the requested permissions.
  4. You'll land back in Dispatch. Pick the webhook topics you want delivered (defaults are pre-checked: order created/paid/cancelled, product updated, customer created).
  5. Click Save topics. You're done — Shopify will start sending webhooks immediately.

Connect multiple stores

Click Connect another store in the Shopify source view to add additional shops to the same project. Each store gets its own source endpoint and topic selection.

Supported topics

Default topics (one click) — orders/create, orders/paid, orders/cancelled, products/update, customers/create.

Open Advanced topics in the Shopify source view to subscribe to any of these:

CategoryTopic
Ordersorders/create, orders/updated, orders/paid, orders/cancelled, orders/fulfilled, orders/partially_fulfilled, orders/refunded, orders/delete, orders/edited
Draft Ordersdraft_orders/create, draft_orders/update, draft_orders/delete
Productsproducts/create, products/update, products/delete
Customerscustomers/create, customers/update, customers/delete, customers/enable, customers/disable
Collectionscollections/create, collections/update, collections/delete
Fulfillmentsfulfillments/create, fulfillments/update
Inventoryinventory_items/*, inventory_levels/connect, inventory_levels/update, inventory_levels/disconnect
Checkoutscheckouts/create, checkouts/update, checkouts/delete
Refundsrefunds/create
Disputesdisputes/create, disputes/redacted
Subscriptionssubscription_contracts/*, subscription_billing_attempts/*
Shop & Themesshop/update, themes/*, product_listings/*, collection_listings/*

Topics Dispatch handles automatically

Three Shopify "compliance" topics — customers/data_request, customers/redact, and shop/redact — and the lifecycle topic app/uninstalled are subscribed automatically when you connect, and acknowledged silently. They are recorded in your event log for audit but never forwarded to your destinations (they contain instructions for app developers, not merchant events).

Manage topics later

Re-open Sources → Shopify to add or remove topics for any connected store, or click Disconnect to remove the integration entirely. Disconnecting deletes every webhook subscription Dispatch registered with Shopify and removes the source from your project.

Custom app setup (manual)

If you've built your own private/custom Shopify app and want to point it at Dispatch instead of using OAuth, click Use a custom app instead at the bottom of the Shopify source view. You'll get a webhook URL to paste into your custom app's webhook configuration, plus a field for the signing secret.

This path is also useful for development stores where OAuth tunneling is inconvenient.

Signature verification

Dispatch automatically verifies every incoming Shopify webhook. Requests with missing or invalid signatures are rejected with 401 Unauthorized and never reach your destinations.

Disconnect

To stop receiving events from a store, click Disconnect in the Shopify source view. Dispatch will:

  1. Delete every webhook subscription it registered for that store
  2. Remove the source endpoint from your project

If the merchant uninstalls the Dispatch app from their Shopify admin first, Shopify revokes the access token. Dispatch will see the app/uninstalled event in your event log; you can then disconnect the (now-dead) source from the dashboard.