# Automate Shopify product cleanup and merchandising tasks

Product catalogs need regular cleanup: archive dead products, tag stock states, update metafields, and keep merchandising data consistent.

Canonical URL: https://blog.jsworkflows.com/articles/automate-shopify-product-cleanup-and-merchandising/

Category: Operations

Product catalog work is easy to underestimate. A store may need to archive products that are no longer sellable, tag products based on inventory, update metafields, clean up stale data, or prepare records for a merchandising review.

These tasks are usually not difficult one by one. The problem is that they repeat.

## The pain point

Catalog cleanup often depends on rules that are specific to the store.

- Archive products only when every variant is out of stock.
- Add an `out-of-stock` tag when total inventory reaches zero.
- Remove a sale tag after a promotion ends.
- Update variant metafields from supplier data.
- Flag products missing required merchandising fields.
- Send a review list before changing product status.

These rules are operational, but they affect what shoppers see.

## Why manual cleanup is risky

Manual catalog work tends to happen late.

Teams notice the problem after a product page is wrong, a collection contains stale items, or support receives questions about unavailable products. When the catalog is large, it is also hard to know whether the cleanup was complete.

A workflow makes the rule repeatable and inspectable.

## What JsWorkflows can do

A product workflow can run when Shopify sends a product or inventory event. It can also run on a schedule to scan records and clean up stale data.

Examples:

- Archive products when all variants are out of stock.
- Add or remove stock status tags.
- Update product or variant metafields from an external source.
- Create a daily list of products missing SEO, vendor, type, or metafield data.
- Notify a merchandising team when products enter a review state.

The workflow can log what it changed, what it skipped, and why.

## Where custom logic helps

Simple product rules can often be handled with no-code automation. JsWorkflows becomes useful when the rule needs to query variants, inspect inventory across locations, update metafields, process batches, or call another system.

For example, "archive products when all variants are out of stock" sounds simple. In practice, the workflow may need to check product status, variant inventory, tags, exceptions, and whether the product belongs to a specific vendor or type.

That is clearer in code than in a long chain of no-code conditions.

## A good first workflow

Start with a workflow that does not immediately change product status.

For example, create a scheduled workflow that finds active products with zero total inventory and sends a review email. Once the team trusts the output, the workflow can be updated to add tags or archive products automatically.

This reduces risk while proving the automation.

## Keep merchant settings simple

Catalog workflows often need a few merchant-facing settings:

- Tags to add or remove.
- Product types or vendors to include.
- A notification email.
- A threshold or review delay.

Technical details such as page size, retry count, and throttle delay should stay in code. The merchant should configure the business rule, not the mechanics.

