
Bulk Product Operations for Magento 2 — 37 Mass Actions
Edit thousands of Magento 2 products in one pass. 37 mass actions for price, status, visibility, attributes, categories, related products, media and stock — each written at the store scope where the attribute actually lives, so the change takes effect instead of silently missing.
Reprice, restatus and recategorise thousands of products in one action
Editing a large Magento catalogue one product at a time is slow, and a missed save goes straight to your live storefront. Bulk Product Operations does it in a single action: select the products, pick one of 37 mass operations, and apply it to all of them at once. What takes an afternoon of one-by-one edits becomes one run — and every run is recorded, so you can see exactly what changed.
What you'll use it for
- Reprice a range in seconds — apply a seasonal discount, raise prices by a percentage, or set price from cost, then roll it back just as fast.
- Disable a discontinued line storewide — including on every website it's assigned to, so it really disappears from the storefront.
- Re-shelve products after a catalogue change — move a supplier's range to a new attribute set or set of categories in one pass.
- Fix copy at scale — find-and-replace a brand name, spec or phrase across hundreds of product descriptions.
- Clone a setup onto new products — copy a reference product's images, custom options or related/up-sell/cross-sell links across a whole range.
- Clear test or end-of-line products — remove them in volume with Fast Delete.
How a bulk run works
The 37 operations, by family
Every price operation supports set, increase or decrease; a fixed amount or a percentage; and cost-based values such as “set price to cost + 40%”, with a configurable rounding rule — across price, special price, cost and tier (advanced) prices.
Why your bulk changes will actually apply
The difference that matters. Many bulk tools write every change at the default scope, so a website- or store-scoped attribute is saved where the storefront never reads it — and the edit appears to do nothing. Bulk Product Operations writes each change at the scope the attribute actually uses, so a bulk disable, a website-level price or a store-view attribute takes effect. Status and visibility use Magento’s native bulk-attribute update, which applies across the store and is faster than saving each product individually.
Run it from the admin, or automate it
Every operation runs inline from Catalog → Products → Actions, so your team works where they already are. The same engine is also available over a GraphQL API for automation — PIM syncs, CI pipelines and scripts — accepting up to 5,000 product IDs per call, so larger sets are batched across calls. API access requires an admin token. (The full API reference is in the user guide.)
Permissions, safety and history
Bulk Product Operations ships seven separate permissions — Execute, Update Prices, Manage Categories, Manage Product Relations, Copy Attributes, Fast Delete and Text Replacement — so each admin role is granted only the actions it should run. Bulk deletions above a configurable threshold prompt for confirmation, and every run is recorded with the command, product count, status, the admin user and timestamps. There is no undo, so the workflow is built around filtering to the exact set before you run.
Specifications
| Magento | Open Source 2.4.9 and later 2.4.x |
|---|---|
| PHP | 8.4 and 8.5 (verified) |
| Operations | 37, across six families |
| Execution | Inline from the product grid; scriptable via GraphQL |
| GraphQL API | Up to 5,000 product IDs per call |
| Permissions | Seven separate ACL resources |
| History | Every run logged: command, product count, status, admin user, timestamps |
| Dependencies | None — no third-party libraries |
| Delivery & licence | Composer install, per-domain licence key, updates via Composer |
Works with
Part of the AgenticEcom suite for Catalog & Products:
Included in the Growth and Enterprise bundles.
Frequently asked questions
How do I edit multiple products at once in Magento 2?
Open Catalog → Products, filter the grid to the products you want, select them, then choose one of the 37 operations from the Actions menu and enter its parameters. The change is applied to every selected product in one pass.
Why don’t my bulk product changes apply or take effect?
Usually because the value was written at the wrong scope. Website- and store-scoped attributes (price, status, visibility and many others) are read by the storefront at their own scope; if a tool saves them only at the default scope, the storefront never sees the change. Bulk Product Operations writes at the scope the attribute uses, so the change applies.
Can I bulk update prices by a percentage, or set price from cost?
Yes. Price operations support set, increase and decrease; fixed amounts or percentages; and cost-based values such as cost + 40%, with a configurable rounding rule. Price, special price, cost and tier prices are all covered.
Can I bulk change product status or visibility across all websites?
Yes. Status and visibility are written with Magento’s native bulk-attribute update so the change applies across the store and every website a product is assigned to.
Can I bulk assign or remove products from categories?
Yes. You can assign products to categories, remove them, replace their assignments, or update them in bulk.
Can I mass-delete products in Magento 2?
Yes. Use Delete for a standard removal, or Fast Delete for clearing large product sets quickly. Fast Delete has its own permission, and bulk deletions above a configurable threshold ask for confirmation first.
Is it safe to run on a large catalogue? Can I undo a run?
There is no undo, so the workflow is built to prevent mistakes: you filter to the exact set first, deletions above a set threshold ask for confirmation, and every run is logged with the command, count, user and time. Run a risky change on a small selection first, and for a very large catalogue, work in batches.
Can I automate bulk operations without using the admin?
Yes. The same engine is available over a GraphQL API, accepting up to 5,000 product IDs per call, so larger sets are batched across calls. API access requires an admin token.
Which Magento and PHP versions are supported?
Magento Open Source 2.4.9 and later 2.4.x, verified on PHP 8.4 and 8.5, with no third-party dependencies.

