Mechanic now supports custom Shopify webhooks.
This gives advanced users a new way to receive Shopify webhook events in Mechanic, with Shopify filtering deliveries before they arrive, customizing payload fields, including metafields, and routing events onto custom
user/...
event topics. This also unlocks something new for Mechanic: Shopify metaobject webhook event topics.
You can now create custom Shopify webhooks for:
shopify/metaobjects/create
shopify/metaobjects/update
shopify/metaobjects/delete
Each metaobject webhook uses a
type:
filter, so you can subscribe to the exact metaobject definition your task cares about. This filter is required by Shopify.What this is good for:
- receiving only matching Shopify webhook deliveries
- routing product updates to one specific task instead of triggering every task subscribed to shopify/products/update
- including known metafields directly in the webhook payload
- subscribing to Shopify metaobject events
A practical example: product updates.
With a regular
shopify/products/update
subscription, every enabled task listening to that topic receives every product update. If you have 20 product-update tasks, all 20 are triggered, and each task has to decide whether the update matters.With a custom Shopify webhook, Shopify can filter first, and Mechanic can route only the matching deliveries to a purpose-specific
user/...
topic, like user/products/active_update
. That gives you a cleaner one-to-one path from a Shopify event to the task or workflow that should respond.Most Shopify-triggered tasks should still use regular
shopify/...
subscriptions. Custom Shopify webhooks are for cases where Shopify-side filtering, payload customization, metafields, or metaobject events matter before the event reaches Mechanic.A few gotchas:
- Shopify webhook filters are not exactly the same as Shopify Admin search queries.
- Payload customization does not make a webhook unique. Shopify only allows one enabled webhook for the same Shopify topic and filter, you can work around this with neutral filters like id:*andcreated_at:*.
- Metaobject webhooks require a concrete type: filter.
We also cleaned up Mechanic’s Settings area, removing the old tab layout and making the growing set of settings easier to scan and navigate.
Learn more: