Unexpected false result with fulfillmentOrder.lineItems

Topic summary

A Shopify Flow workflow condition is unexpectedly returning false when checking for products with a specific product type (“A”) within fulfillment order line items.

The Issue:

  • The condition checks if at least one fulfillment item contains a line item with product type “A” AND is being shipped
  • When testing on orders containing both product types A and B, the workflow shows a green checkmark at the product level (confirming type “A” was detected) but fails with a gray X at the line item level
  • Orders with only a single item of type “A” pass successfully
  • The user suspects the TRUE result from the product-level check isn’t propagating up to the “At least one of line items” condition

Attempted Solutions:

  • Swapping the order of conditions: no effect
  • Changing from “equal to” to “includes”, “starts with”, or “is at least one of”: same result

Current Status:
The issue remains unresolved. The user is seeking clarification on whether this is user error or unexpected Shopify Flow behavior. Screenshots of the workflow conditions and test results are included in the original post.

Summarized with AI on October 23. AI used: claude-sonnet-4-5-20250929.

I am getting a “False” from a workflow Condition that I expect a “True” from. Any ideas what’s wrong with my Condition?

Condition:

  • For at least one of the order fulfillment items (batches of items shipped, delivered, or picked up)
    • At least one of line items in that fulfillment item has a product with a product type equal to “A” (lineItems_item.lineItem.product.productType)
    • The fulfilment item is being shipped (fulfillmentOrders_item.deliveryMethod.methodType)

When I test this on an order that has products with product types of both A and B it returns false. The workflow run shows a pass (green check mark) that a product was detected with the correct product type, but at the next level up which is the line item level, it shows a fail (gray X), as if the data is not being passed up to the line item level from the product level. I’m including screenshots to hopefully explain things better.

Here are the workflow conditions (I swapped the order to see if that would somehow help; it didn’t):

Meanwhile, if the order contains only one item and that item has the correct type “A,” then it passes.

Update: This issue seems to be related to the fact that this particular order was modified after the customer checked out online. I’m still not sure exactly what’s going on, though.

Instead of equal to bike, have you tried includes, starts with, or is at least one of?

It has the same result, which is what I would expect since the initial check that uses the equals or includes is already returning true.

It’s as if the TRUE result is not being passed up a step to the check for “At least one of line items”

@PaulNewton any ideas on this one? Is this user error, or unexpected behavior?

Did you mean the Flow PM @ paul_n?
Try not to at people not in a thread for help, EVERYONE wants individual help for their private benefit.

Duly noted. I only did so because thought there was a real possibility I might have found a bug or at least “unintended behavior.”

I think I remember something weird about one of my workflows not going through with “at least one of” and I had to use negative logic to make it work. E.g. “None of”. And then put the action in the “Else”.

1 Like

It’s a bit hard to tell without looking at your data because you have multiple lists.

But I suspect the problem is that you are AND’ing the two conditions together. So you need at least one fulfillment order to have the delivery method type == SHIPPING and for that same fulfillment order to have a line item with the product type that includes Bike. Likely, your fulfillment order that matches the first condition doesn’t match the second.