About
Send Shopify webhooks to Sazabi to search orders, refunds, products, inventory, customers, and app uninstalls next to the rest of your production telemetry. Shopify posts each event to your Sazabi intake URL as a JSONPOST, signed with an HMAC. There is no agent to deploy, and Sazabi never calls the Shopify API.
What Sazabi records
Each Shopify delivery becomes one Sazabi record that keeps the full payload, timestamped when Sazabi receives it, so a retry a day or two later still lands. The original time is kept as an attribute. These attributes are extracted for filtering:Prerequisites
- Access to Settings > Notifications > Webhooks in the Shopify admin, or to the Shopify app whose webhooks you configure.
- The key Shopify signs with: for an app’s webhook, the app’s client secret from the Shopify Dev Dashboard; for a webhook created in the admin, the ID Shopify says your webhooks are signed with, shown on the Webhooks page.
- Your Sazabi intake URL.
Signature verification is in early access. While it is on for your organization, Sazabi asks for the verification secret before it creates the intake URL, and rejects any delivery whose signature does not match. Contact support to turn it on.
Set up in the dashboard
1
Add the log source
In the Sazabi dashboard, open Settings > Log sources, choose Shopify Webhooks and add it. If Sazabi asks for a verification secret, paste the key Shopify signs with (see the prerequisites above). Sazabi then shows your intake URL.2
Create the webhook in Shopify
In the Shopify admin, open Settings > Notifications > Webhooks and click Create webhook.- Event: Choose the topic to send, such as
Order creation. Each webhook sends one topic, so create one per topic with the same URL. - Format: JSON.
- URL: Paste your Sazabi intake URL.
- Webhook API version: Choose the latest stable version.
uri to your Sazabi intake URL and deploy the app configuration.3
Save and verify
Save the webhook, then click Send test notification to deliver a sample event.Set up with the CLI
You can also register the Shopify Webhooks log source with the Sazabi CLI (installed and authenticated — see CLI reference).sazabi log-sources get <log-source-id> at any time to reprint the endpoint, or sazabi log-sources list to see every log source in the project.
Verify signatures
Shopify signs every delivery with a base64 HMAC-SHA256 of the body and sends it in theX-Shopify-Hmac-SHA256 header. Sazabi checks it on the exact bytes Shopify sent and rejects a delivery whose signature does not match with 401. A rejected delivery is not stored and not billed. Shopify does not sign a timestamp, so Sazabi cannot tell a replayed delivery from a fresh one.
To change the secret later, open the log source in Settings > Log sources and choose Rotate secret. The previous secret keeps working for 24 hours by default, so Shopify keeps delivering while you update it. The Intake page shows rejected deliveries and why.
Verify
Click Send test notification on the webhook, or create a draft order or update a product in a development store. Open the Intake page in the Sazabi dashboard and confirm records from the Shopify Webhooks source appear. Records typically arrive within a minute or two.Troubleshooting
Shopify reports failed deliveries with401 — The signature did not match. An app’s webhook is signed with the app’s client secret; a webhook created in the admin is signed with an ID unique to your store. Check that the secret in Sazabi is the one that signs this webhook.
400 from Sazabi — The body was not JSON. Choose JSON as the webhook format.
No records after saving — Confirm the URL exactly matches your Sazabi intake URL, including the https:// scheme. Shopify removes a webhook after repeated failed deliveries, so check that it is still listed.
Further reading
Intake
See per-source ingestion volume and health in the Intake page.
Webhook Events
Verify signatures and send webhooks from any other platform.
Verify webhook deliveries
Shopify’s documentation for the signature Sazabi checks.
Webhook topics
Every topic Shopify can send.
Log sources
Browse the full log source catalog.