Query the order's fulfillmentOrders to identify which line items are assignedLocationId and their fulfillableQuantity
Call fulfillmentCreateV2 mutation with the fulfillmentOrder GID and only the line items that are currently in stock, leaving backorder items unfulfilled
For backorder items, set a custom metafield on the line item or order indicating expected availability date
Monitor inventory levels via inventoryLevel queries or webhook on inventory_levels/update; when stock arrives, a new fulfillmentOrder for the remaining items becomes available
Trigger a second fulfillmentCreateV2 for the backorder line items once inventory is confirmed and communicate the shipment to the customer
Known gotchas
Shopify automatically splits fulfillment orders when items are at different locations; do not assume a single order maps to a single fulfillmentOrder GID
Sending a partial shipment notification via notifyCustomer: true on fulfillmentCreateV2 is per fulfillment; the customer will receive an email for each fulfillment, so coordinate messaging to avoid confusion
Cancelling a fulfillmentOrder for backorder items marks them as unfulfillable; use fulfillmentOrderHold instead to indicate a reason and release date without permanently blocking fulfillment
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp