There should be a field in the webhook payload that tells you what triggered the webhook. It would make working with them much easier and more predictable, improving overall DX.
This missing context creates a lot of unnecessary complexity. For example:
- Having to rely on brittle workarounds (like setting metafields) to tag our own updates.
- Depending on the scenario, this would require keeping the metafields up to date, in some scenarios requring an extra API call
- Can’t reliably distinguish between merchant-initiated changes and automated ones
If this were combined with the new filter feature, it would dramatically reduce noise, especially for high-frequency topics like products/update
.
Being able to filter out webhook events triggered by our own app would improve performance, simplify logic, and make our systems much more resilient.