Hi Shopify team,
I’ve run into an issue with fulfillment order webhooks that seems like a gap between documented behavior and actual behavior.
What I’m seeing:
-
When I manually merge fulfillment orders through the Shopify Admin, I receive the
fulfillment_orders/mergedwebhook as expected. -
When my system (or an app) explicitly calls the
fulfillmentOrderMergemutation, I also receive thefulfillment_orders/mergedwebhook. -
However, when Shopify automatically merges fulfillment orders (e.g., when a customer changes the fulfillment location to one that matches an existing fulfillment order, and Shopify auto-merges them), no
fulfillment_orders/mergedwebhook is sent.
Why this matters:
My fulfillment service integrates tightly with Shopify. For example, when a customer changes the fulfillment location to my warehouse, Shopify auto-merges the fulfillment orders. Since the webhook is not triggered in this scenario, my OMS never knows about the merge, leaving my fulfillment state out of sync.
Expected behavior:
The fulfillment_orders/merged webhook should fire in all merge cases (manual, API-initiated, and auto-merge by Shopify), or Shopify should clearly document that auto-merges do not emit this event.
Impact:
This gap prevents external fulfillment/OMS systems from keeping an accurate and real-time view of fulfillment orders when Shopify auto-merges them.
Request:
-
Can Shopify confirm if this is an intentional limitation or a bug?
-
If intentional, is there a recommended workaround to detect auto-merges in real time (other than polling the FulfillmentOrder API)?
Thanks in advance for your help.