Hi, I’ve been using Sidekick to help me replace the checkout.order.tags and checkout.order.fulfillment_status in my Order Status page with the new app-based version, but I’m stuck. I asked Sidekick to write a post detailing where I’m up to with the problem:
I’m migrating a custom script from the legacy Order Status Page (using checkout.order.tags and checkout.order.fulfillment_status) to a Customer Account UI Extension, and I’m struggling to access the same order data.
What I’m trying to do: Display manufacturing status messages on the Order Status page based on order tags (or metafields). For example:
-
If order has tag
x CUTTER→ show “Your mats are being cut” -
If order has tag
x EMBROIDERY→ show “Your mats are being embroidered” -
Only show for unfulfilled/partially fulfilled orders
What I’ve tried:
-
Direct access to order data
- The
shopify.orderobject only contains basic fields (id,name,cancelledAt,processedAt,confirmationNumber). NotagsorfulfillmentStatus.
- The
-
Order metafields
- Created an order metafield (
custom.manufacturing_status) with Customer Account API read access enabled, butshopify.metafieldsreturns an empty array.
- Created an order metafield (
-
GraphQL queries
- Attempted to query using
shopify.query():
query { order(id: "gid://shopify/Order/123") { tags fulfillmentStatus metafield(namespace: "custom", key: "manufacturing_status") { value } } }Error:
Field 'order' doesn't exist on type 'QueryRoot' - Attempted to query using
-
Schema introspection
- Checked available query fields and discovered the
queryAPI appears to be pointing to the Storefront API (which hascustomer,product,collection, etc.) rather than a Customer Account-specific API.
- Checked available query fields and discovered the
My questions:
-
How do I access order tags in a Customer Account UI Extension on the order status page?
-
If tags aren’t available, how do I access order metafields that have Customer Account API access enabled?
-
Is there a different API or query structure I should be using for the
customer-account.order-status.block.rendertarget? -
How can I check fulfillment status (unfulfilled vs partially fulfilled vs fulfilled) to conditionally show/hide the extension?
My setup:
-
Extension target:
customer-account.order-status.block.render -
API version:
2025-10 -
Using Preact with
@shopify/ui-extensions
A Shopify staff member mentioned I should use “the Customer Account Extensibility API to query the Fulfillment Status” but I haven’t been able to find documentation on the correct query structure or available fields for this API.
Any help would be greatly appreciated! Thanks in advance.