Get Data Order - How to loop through more than 100 orders

Topic summary

Main issue: Iterating beyond Shopify Flow’s 100-item limit for scheduled queries (orders, products, variants) and avoiding repeated processing when doing bulk updates.

Key constraints and behaviors:

  • Flow “For each” loops cap at 100; scheduled queries often return the same first 100.
  • Updating a product metafield within a product-update flow counts as an update, causing an infinite loop unless guarded.

Solutions and workarounds:

  • Build a custom app using REST/GraphQL APIs to paginate through >100 items (confirmed workable).
  • Run flows more frequently; if still hitting 100, Flow may be insufficient.
  • Batch with tags: query with tag_not:processed, then add a tag after processing. Use two loops in one flow (second loop in the “then” path of the first) and reduce max records (≈50) to handle both tagging and metafield updates.
  • Prevent loops by checking if the metafield already equals the desired value before setting it.
  • For mass updates (e.g., 1500+), partition with time-based or staged tags (e.g., processed_hour_12); Flow may not process all in a single window.

Outcome: Product metafields were mass updated successfully using the two-loop/tag strategy.

Current status: New request to iterate ~5000 variants to update an availability metafield based on inventory; approach unresolved. Screenshots show Flow setup but no final solution yet.

Summarized with AI on December 16. AI used: gpt-5.

Hi,

I have same question, In Shopify Flow, how can we iterate more than 100 items, For loop has limitation of 100.

I like Shopify Flow to schedule run every day for syncing compare_at_price to metafield for all products/variants.
How can we loop in this case ? I have set flow but it updates only 100.