Shopify Flow: filter by customer orders in Get Customer Data action

Topic summary

A user is attempting to filter customers in Shopify Flow’s Get Customer Data action based on whether they have unfulfilled orders. Their current query returns over 100 records, hitting the limit.

Key findings:

  • The Shopify Admin GraphQL API does not support filtering customers by order fulfillment status
  • Customer segmentation also lacks this capability, offering the same limited filter set as Flow

Proposed workaround:

  • Use two separate workflows to manage customer tags:
    • Tag customers when they place an order
    • Remove the tag when orders are fulfilled (unless other unfulfilled orders exist)
  • This would allow filtering by the custom tag instead

The user expressed surprise at the limited filtering options available for customer queries but plans to explore the tag-based approach.

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

I am using an advanced query in a Get customer data action in a workflow to retrieve customer records. At the moment, my query is matching more than 100 records, so only the first 100 are returned.

I would like to add something to my query to filter customers based on whether they have currently any unfulfilled orders. (See image below.) Is this possible?

Docs for filters on this query: https://shopify.dev/docs/api/admin-graphql/2024-04/queries/customers#argument-query-filter-default. TL;DR - you can’t filter customers on that. I think segmentation also doesn’t allow checking order / unfulfilled status.

You could instead set a tag of customers after they place an order and clear it when the order is fulfilled (unless they have other orders that are unfulfilled). I think that would require 2 workflows to make work.

1 Like

Thanks Paul. I had read the docs: I was just surprised that there are so few filters available for customers. As you say, segmentation doesn’t help because it seems that the same set of filters are available there as there are in workflows (i.e., the Flow app); so if I can’t craft a custom query to do something, I generally can’t create a segment to do it either.

Your idea of separate workflows makes sense, however, so I might try that. Thanks again.