Help us improve
Share bugs, ideas, or general feedback.
From shopify-commerce
Implements Shopify webhooks with HTTP/GraphQL, EventBridge, Pub/Sub, SQS subscriptions; HMAC verification, GDPR webhooks, retries, idempotency for event-driven integrations.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin shopify-commerceHow this skill is triggered — by the user, by Claude, or both
Slash command
/shopify-commerce:shopify-webhooksThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Registers Shopify webhooks via GraphQL, configures GDPR subscriptions in shopify.app.toml, and implements handlers with HMAC verification for events and App Store compliance.
Implements BigCommerce webhooks: manage store events like orders/products/customers, handle/verify payloads, add retry logic for real-time integrations.
Provides expert patterns for Shopify app development including Remix/React Router setup, embedded apps with App Bridge, webhook handling, GraphQL Admin API, Polaris components, billing, and app extensions.
Share bugs, ideas, or general feedback.
Fetch live docs:
site:shopify.dev webhooks for webhook overviewsite:shopify.dev webhook topics for available event topicssite:shopify.dev gdpr mandatory webhooks for GDPR requirementsShopify POSTs JSON to your endpoint:
webhookSubscriptionCreateFor AWS-based architectures:
For GCP-based architectures:
For queue-based processing:
Every HTTP webhook includes X-Shopify-Hmac-SHA256 header:
import crypto from 'crypto';
function verifyWebhook(body: string, hmacHeader: string, secret: string): boolean {
const hash = crypto
.createHmac('sha256', secret)
.update(body, 'utf8')
.digest('base64');
return crypto.timingSafeEqual(
Buffer.from(hash),
Buffer.from(hmacHeader),
);
}
Always verify HMAC before processing — reject unverified webhooks with 401.
orders/create, orders/updated, orders/paid, orders/fulfilled, orders/cancelled, orders/delete
products/create, products/update, products/delete
customers/create, customers/update, customers/delete
carts/create, carts/update
checkouts/create, checkouts/update
inventory_levels/update, inventory_items/update
fulfillments/create, fulfillments/update
refunds/create
Every Shopify app MUST implement these three webhooks:
customers/data_request — customer requests their data (data portability)customers/redact — customer requests data deletionshop/redact — store uninstalls your app, delete all store data within 48 hoursFailure to implement these can result in app rejection or removal from the App Store.
X-Shopify-Triggered-At header to detect stale payloadswebhookSubscriptions querymutation WebhookSubscriptionCreate {
webhookSubscriptionCreate(
topic: ORDERS_CREATE
webhookSubscription: {
callbackUrl: "https://your-app.com/webhooks/orders"
format: JSON
}
) {
webhookSubscription {
id
topic
endpoint {
... on WebhookHttpEndpoint {
callbackUrl
}
}
}
userErrors { field message }
}
}
X-Shopify-Webhook-Id header) for deduplicationFetch the Shopify webhook documentation for exact topic names, payload schemas, and subscription patterns before implementing.