Flow Loops or Bulk Operations for Hundreds of Shopify Records?
Flow loops are a BUY past 100 records: Get data actions can only run on lists up to 100 items long, so a For each loop cannot sweep a large catalog. Buy Matrixify from $20/month for merchandiser-run bulk edits (verified Sep 2026). Build a Bulk Operations API job only when the run has to happen unattended, where Plus allows 1,000 points/second.
Your profile — see how the verdict shifts
- Confidence
- High — Read Shopify's advanced workflows page: Get data actions can only run on lists up to 100 items long, and For each loop (iterate) is the action that applies conditions and actions to each item individually (verified Sep 2026). Read the Flow troubleshoot page for the surrounding limits: a 1,000-workflow ceiling per store, a warning at more than 10 active workflows using the same trigger, 40 or fewer wait steps, 90 days of total wait time, and a combined 36-hour execution limit per workflow section. Read the bulk operations documentation: from API version 2026-01 each app can run up to five bulk query operations per shop simultaneously, against one operation of each type at a time on earlier versions, and a bulk query has to complete within 10 days or it is stopped and marked as failed. Read the rate-limit table: 1,000 points/second on Plus against 100 on standard plans. Fetched both App Store listings: Matrixify carries 4.9★ across 1,594 reviews with Built for Shopify status, and MESA 5.0★ across 153 reviews. This is a healthy category with a clear incumbent, which is why the verdict lands on BUY rather than on a build. Build bands are Deploi estimates.
- Reference scenario
- $20M–$200M GMV · Shopify Plus · 20,000–60,000 SKUs · a merchandising team retagging collections and updating metafields ahead of campaigns · agency dev bench available but not on call
- As of
- September 2026
Decision at a Glance
| Your profile | Verdict | Why |
|---|---|---|
| Under 100 records per run, triggered by an event | WAIT | Flow already covers it. A Get data action plus a For each loop applies conditions and actions to each item individually, free on every plan from Basic upward, with nothing to install and nothing to schedule. |
| Hundreds to a few thousand records, started by a merchandiser | BUY | Matrixify Basic at $20/month moves 5,000 products, 2,000 customers and 1,000 orders per file (verified Sep 2026), and a person reviews the file before it runs. That review step is worth more than any automation at this size. |
| Tens of thousands of records, recurring but human-initiated | BUY | Matrixify Big at $50/month handles 50,000 products, 20,000 customers and 10,000 orders per file, and Enterprise at $200/month adds batch import with 10 or more parallel threads per job (verified Sep 2026). Building a pipeline to match that costs more than a decade of the subscription. |
| Catalog-wide updates that must run unattended, off an event or a schedule | BUILD | The one case a file-based tool cannot serve. A Bulk Operations API job runs without a person: five bulk query operations per shop simultaneously from API version 2026-01, 10 days to complete each, and 1,000 points/second of Plus rate-limit headroom to spend. |
What Flow Bulk Iteration Actually Drives
| Outcome | Impact | How it works |
|---|---|---|
| Operational efficiency | High | A merchandiser retags 20,000 products from one reviewed file instead of an ops person chaining workflows that each stop at 100 items. |
| Revenue — indirect | Medium | Catalog changes that land before a campaign rather than during it decide whether the collection page, the badges and the discounts all agree on launch morning. |
| Customer experience | Medium | A half-applied catalog edit shows wrong badges, missing tags or stale copy on the products the sweep never reached, and shoppers see the inconsistency before anyone internally does. |
| Data & insight | Medium | A bulk job that logs every touched record gives you a durable history of catalog changes, where Flow's own run history disappears after 14 days. |
Spend ceiling: Size the spend to how often the job runs without a person. A catalog sweep a merchandiser starts belongs on a $20–$50/month tool and nothing more (verified Sep 2026). A build at $9,000–$28,000 (Deploi estimate, illustrative) is justified only by unattended runs, and one nightly job rarely justifies it on its own.
What buying enables (top apps)
- + Catalog-wide import and export the same afternoon, at 4.9★ across 1,594 reviews (verified Sep 2026)
- + A human review step before anything changes, which no automated sweep gives you
- + Per-file ceilings up to unlimited on Enterprise, with batch import and 10 or more parallel threads per job
- + A free tier that moves 10 records of each type, enough to prove the file shape before paying
What building additionally unlocks
- + Runs that start from an event or a schedule with nobody present, which a file-based tool cannot do
- + Direct use of the Plus rate-limit allowance of 1,000 points/second, batched the way your data actually shapes
- + A permanent change log in your own warehouse, outliving Flow's 14-day run retention
- + Partial-failure handling and idempotent writes tuned to your catalog rather than to a generic importer
Find Your Verdict in 3 Questions
Does a single run touch more than 100 records?
Yes: Go to question 2.
No: Your verdict: WAIT — Flow's Get data action plus a For each loop covers it, free on every plan from Basic upward.
Does a person start the run, working from a file they can review before it applies?
Yes: Your verdict: BUY — Matrixify from $20/month moves 5,000 products per file on Basic and 50,000 on Big (verified Sep 2026), with a human check built into the process.
No: Go to question 3.
Does the job have to run unattended, off an event or on a schedule nobody watches?
Yes: Your verdict: BUILD — a Bulk Operations API job at $9,000–$28,000 (Deploi estimate, illustrative) runs without a person and logs exactly what it changed.
No: Your verdict: BUY — a file-based tool is cheaper and safer than a pipeline nobody has to schedule.
The TCC Scorecard — 12 Dimensions
TCC — Total Cost of Capability: what it actually costs to have this capability over three years, whichever way you get it. Each dimension is scored 0–5 for both paths. How we score →
| Dimension | Buy | Build | Why |
|---|---|---|---|
| Cost | |||
| Acquisition & implementation | Matrixify installs and runs its first export the same afternoon; a bulk-operations job with scheduling, retries and reporting is a 3–7 week build at $9,000–$28,000 (Deploi estimate, illustrative). | ||
| Recurring fees | Matrixify bills $20–$200/month by per-file record ceilings and MESA $12–$299/month (verified Sep 2026); a job you own has no subscription, and Flow itself stays free on every plan. | ||
| Maintenance & upgrades | The vendor absorbs Shopify's quarterly API version changes and the schema drift underneath them; your team absorbs both for a custom job, including the bulk query's connection and depth limits. | ||
| Switching & exit | A file-based tool leaves your data in spreadsheets you already hold, so leaving costs almost nothing; a custom job is ordinary code that moves with your integration layer. | ||
| Risk | |||
| Vendor risk | Matrixify carries 4.9★ across 1,594 reviews with Built for Shopify status (verified Sep 2026), which is as established as this category gets; a job you own has no vendor to lose. | ||
| Security & compliance surface | Bulk exports put customer and order data into files that leave the platform and land in inboxes and drives; a job you own can keep every record inside your own systems. | ||
| Platform-deprecation exposure | Bulk operations changed shape at API version 2026-01, moving from one operation of each type at a time to five bulk query operations per shop simultaneously. A vendor tracks that cadence for you; your own job needs the version bump scheduled. | ||
| Value | |||
| Fit to requirement | A file-based tool covers almost every catalog edit a merchandiser describes; a custom job additionally covers the ones that have to fire off an event, unattended, at three in the morning. | ||
| Time to market | One afternoon against 3–7 weeks (Deploi estimate, illustrative), and the free tier moves 10 records of each type so you can prove the shape of the file first. | ||
| Performance & scale | Matrixify Enterprise runs batch imports with 10 or more parallel threads per job (verified Sep 2026); a bulk-operations job spends the Plus allowance of 1,000 points/second directly and hands back one result file per query. | ||
| Data ownership & AI-readiness | Both lanes produce exportable data, but only a job you own writes a permanent record of what changed and when, where Flow's own run history disappears after 14 days. | ||
| Focus & opportunity cost | Building a bulk pipeline to do what a $20/month app already does well is the clearest example of dev time spent on the wrong problem (verified Sep 2026). | ||
The App Landscape
| App | Status | Pricing | Best for |
|---|---|---|---|
| Shopify Flow | Native — Per july 2026 research. Shopify's own automation layer — the WAIT option to exhaust first | Free at entry volumes; scales with volume (verified Sep 2026) | Per-record, event-triggered logic under the 100-item ceiling |
| Matrixify | Live — The bulk import/export workhorse many 'internal tools' secretly are | Free (10 records per file); $20/month Basic, $50/month Big, $200/month Enterprise with unlimited records at entry volumes; scales with volume (verified Sep 2026) | Merchandiser-run catalog edits from hundreds to tens of thousands of records |
| MESA: Workflow Automation | Live — 5.0★, 153 reviews; 7-day trial on all paid plans. A multi-step automation platform that reaches further across your stack than Flow's own actions. Useful for orchestrating a bulk job's surrounding steps, though it is an automation tool rather than a bulk-editing one, so it does not remove the need for a real bulk lane. | Basic $12/month; Flex $29/month; Pro $99/month; Unlimited $299/month (verified Sep 2026) | Wiring the steps around a bulk job when Flow's own actions run out |
| Bulk Operations API job | Build lane — A service you run that submits a bulk query, waits for the result file and applies changes through the Admin API. From API version 2026-01 each app can run up to five bulk query operations per shop simultaneously, against one of each type at a time on earlier versions, and each query has 10 days to complete before it is stopped and marked as failed. Queries allow a maximum of five total connections and two levels of depth. | $9,000–$28,000 one-time plus ~15–20% a year in upkeep (Deploi estimate, illustrative) | Catalog-wide changes that must run unattended, off an event or on a schedule |
The Build Path
- Split the work by size and by who starts it: Keep Flow for per-record, event-triggered logic under the 100-item ceiling, where it is free and needs no code. Send everything catalog-wide to a bulk lane. Most teams discover that the split is obvious once written down, and that they had been asking one tool to do both jobs.
- Bulk query to read, Admin API mutations to write: Submit the query, poll for the result file, then apply changes in batches. From API version 2026-01 each app can run five bulk query operations per shop simultaneously, and each has 10 days to complete. Queries are capped at five total connections and two levels of depth, which shapes how you model the read.
- Spend the rate-limit budget deliberately: Plus allows 1,000 points/second on the GraphQL Admin API against 100 on standard plans, and that budget is shared with every other integration touching the store. Batch mutations, back off on throttling, and run the heavy sweep when the ERP sync is quiet.
- Idempotency, partial failure and a run log: A catalog job that dies halfway is the normal case, not the exception, so make every write repeatable and record which records were touched. Flow keeps run history for only 14 days, so the job's own log is the only durable record of what changed and when.
- Effort band
- $9,000–$28,000 build — Deploi estimate (illustrative); one recurring job sits in the $10–25K contact-form band, a general-purpose pipeline with scheduling, retries and reporting in the $25–75K band
- Typical timeline
- 3–7 weeks (Deploi estimate, illustrative); the query and the writes take a week, and partial-failure handling takes the rest
- Maintenance, honestly
- ~15–20% of build cost per year (Deploi estimate): roughly $1,400–$5,600/yr (Deploi estimate, illustrative) for quarterly Admin API version bumps, bulk-operation behavior changes and new record types the merchandising team wants covered. Flow itself stays free.
- What you own — and what you take on
- You own: the schedule, the batching strategy, the change log and the retry behavior on partial failure. You take on: rate-limit budgeting shared with every other integration, and a job that now has to be monitored like production.
3-Year Total Cost of Capability
| Buy (app path) | Build (custom path) | |
|---|---|---|
| Year 0 (setup) | $1,000–$4,000 (templates, process and training) | $9,000–$28,000 |
| Years 1–3 (recurring) | $1,800–$3,600 (subscription) | $4,200–$16,800 (maintenance) |
| 3-year total | ≈$2,800–$7,600 | ≈$13,200–$44,800 |
- † All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
- † Buy path: Matrixify Big at $50/month held flat, plus initial template and process work at illustrative agency rates.
- † Build path: one recurring bulk-operations job with scheduling, retries and a change log, plus upkeep; three-year horizon; Flow is free in both lanes.
What the Sticker Price Hides
On the buy path
- — Per-file record ceilings, not per-month allowances, decide the tier: 5,000 products on Basic at $20/month against 50,000 on Big at $50/month (verified Sep 2026)
- — Bulk exports put customer and order data into spreadsheets that leave the platform and live on in drives and inboxes
- — Rolling back a bad import means building a second file from a backup export, so the export before the import is not optional
- — A file-based tool needs a person, which is exactly why it cannot serve an event-driven or overnight job
On the build path
- — Rate-limit budget is shared: 1,000 points/second on Plus is generous until an ERP sync is running against the same store
- — Bulk operations changed shape at API version 2026-01, so a job written against the older one-operation-at-a-time behavior needs revisiting
- — Partial failure is the normal case at catalog scale, and handling it properly is most of the build rather than a finishing touch
- — ~$1,400–$5,600/yr upkeep (Deploi estimate, illustrative) for API version bumps and new record types
What Merchants Say
Ops teams describe the same failure: a retag workflow tests perfectly against a small collection, then covers only the first stretch of a large one in production and reports success.
Bulk-edit reviews cluster on the undo problem: the import ran, the file was wrong, and rolling back means building a second file from a backup export that nobody took.
If You Change Your Mind Later
If you bought and outgrow it
Leaving a file-based tool costs almost nothing, because the assets are spreadsheets you already hold and templates you can rebuild in a day. Keep the export files that preceded each large import, since those doubles as both your rollback path and your record of what the catalog looked like before.
If you built and want out
Nothing strands: a bulk-operations job is ordinary code calling documented APIs, and its change log stays in your warehouse. Retreating to a file-based tool is a real option for any job that turns out to run on a human's schedule after all, which is more of them than teams expect.
When This Answer Changes
We're watching for:
- ▸ Flow's Get data cap rising above 100 items, which would move the boundary this page is drawn on
- ▸ Bulk query concurrency changing again after the shift at API version 2026-01 to five simultaneous operations per app per shop
- ▸ A native Flow action for catalog-wide edits, which would remove the need for a second tool entirely
Verdict change log:
No changes since first publication (September 2026).
Common Questions
How many items can a Shopify Flow loop handle?
Flow's Get data actions can only run on lists up to 100 items long. A For each loop then applies conditions and actions to each item individually, so 100 is the practical ceiling for one workflow's sweep. Flow also enforces a combined 36-hour execution limit per workflow section, 40 or fewer wait steps, and a 1,000-workflow cap per store.
What should I use instead of a Flow loop for a whole catalog?
A bulk tool. Matrixify moves 5,000 products per file on Basic at $20/month and 50,000 on Big at $50/month, with everything unlimited on Enterprise at $200/month (verified Sep 2026). For unattended runs, the GraphQL Bulk Operations API lets each app run five bulk query operations per shop simultaneously from API version 2026-01, each with 10 days to complete.
Is it safe to run a large Flow loop against live orders?
Not past 100 items, and not without a plan for partial failure. A For each loop that stops halfway leaves some records changed and some untouched, and Flow keeps run history for only 14 days to reconstruct which. Test the workflow first, remembering that a test run stops at the first action that tries to make a change.
Your Next Steps
If you're going with BUY(matches your selected profile)
- List every recurring bulk job and mark which ones a person starts, because those belong on the file-based path
- Prove the file shape on the free tier, which moves 10 records of each type before you pick a paid plan
- Match the tier to your largest single file rather than your monthly volume, since the ceilings are per file
- Export before every large import, so the rollback file exists before you need it
- Leave the sub-100-record, event-triggered work in Flow, where it costs nothing
If you're going with BUILD
- Confirm the job genuinely has to run without a person, because that is the only thing the build buys you
- Model the read against the bulk query's five-connection and two-level depth limits before writing the job
- Batch the writes and back off on throttling, budgeting against 1,000 points/second on Plus
- Make every write idempotent and log each touched record, since Flow's own history lasts 14 days
- Alert on partial completion rather than on failure alone, because a half-finished catalog sweep reports success
Official Docs & Sources
- Advanced workflows: Get data and For each loop (100-item cap) — Shopify Help Center
- Flow workflow limits and troubleshooting — Shopify Help Center
- Bulk query operations (concurrency and 10-day completion) — shopify.dev
Official documentation linked for verification — our verdicts and estimates are our own.
Related Decisions
Your App Has No Flow Connector: Build the Bridge or Wait?
Only an app's own developer can ship its Flow tasks. Outbound automation needs just Send HTTP Request; inbound needs a bridge app from $29/month (verified Sep 2026).
Flow Failure Alerting on Shopify: Build the Watcher or Buy One?
Shopify ships no store-wide Flow alert. Build a watcher on the Workflow error occurred trigger, which fires once per workflow version within a 30-day window.
Flow Workflow Retries on Shopify: Build Your Own Safety Net?
Flow retries transient errors like step timeouts and 5XX statuses, and never retries permanent ones. Critical workflows need their own error branches.
Flow Wait Steps or a Lifecycle Tool for a 90-Day Win-Back?
Shopify Flow allows 40 wait steps per workflow and 90 days of total waiting. A 90-day win-back needs a lifecycle platform; shorter operational waits stay in Flow.
Should You Build or Buy Site Search on Shopify?
Site search on Shopify splits by catalog size: native to ~1,000 SKUs, buy in the middle, build at big-catalog, search-led scale.
Hitting Flow's 100-item ceiling on a catalog job?
We draw the line between what stays in Flow and what belongs in a bulk lane, set up the file-based path for your merchandisers, and build the unattended job only where one is genuinely needed.
Contact us todayVerdict scored for the reference scenario above. Estimates are not quotes; app pricing and platform limits carry their verification date and get re-verified quarterly. Full scoring anchors: see the TCC methodology.
Read how we score these decisions (the TCC Framework). No affiliate links, no paid placement — no app vendor pays to appear here.