| name | shopify-webhooks-events |
| description | Register and handle Shopify webhooks including mandatory GDPR compliance topics.
Use when setting up webhook subscriptions, handling order/product events,
or implementing the required GDPR webhooks for app store submission.
Trigger with phrases like "shopify webhook", "shopify events",
"shopify GDPR webhook", "handle shopify notifications", "shopify webhook register".
|
| allowed-tools | Read, Write, Edit, Bash(curl:*) |
| version | 2.7.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","ecommerce","shopify"] |
| compatibility | Designed for Claude Code |
Shopify Webhooks & Events
Overview
Register webhooks via GraphQL, handle events with HMAC verification, and implement the mandatory GDPR compliance webhooks required for Shopify App Store submission.
Prerequisites
- Shopify app with API credentials configured
- HTTPS endpoint accessible from the internet (use
shopify app dev tunnel for local)
- API secret for HMAC webhook verification
Instructions
Step 1: Register Webhooks via GraphQL
Use the webhookSubscriptionCreate mutation with WebhookSubscriptionTopic and WebhookSubscriptionInput to register subscriptions for all critical event topics (orders, products, customers, inventory, app lifecycle).
See Webhook Registration for the complete implementation.
Step 2: Configure Mandatory GDPR Webhooks
Required for App Store submission. These are configured in shopify.app.toml, not via API:
[webhooks]
api_version = "2025-04"
[[webhooks.subscriptions]]
topics = ["customers/data_request"]
uri = "/webhooks/gdpr/data-request"
[[webhooks.subscriptions]]
topics = ["customers/redact"]
uri = "/webhooks/gdpr/customers-redact"
[[webhooks.subscriptions]]
topics = ["shop/redact"]
uri = "/webhooks/gdpr/shop-redact"
Step 3: Implement GDPR Webhook Handlers
Three mandatory handlers: (1) customer data request -- collect and send all data for a customer, (2) customer redact -- delete customer personal data and specified orders, (3) shop redact -- delete ALL shop data 48 hours after uninstall.