# Sync approved NetX product photos to Shopify every morning

> Every weekday at 6am ET, push the newest approved product photos from NetX straight to matching Shopify products and post a Slack recap.

- Workflow type: agent
- Services: NetX, Shopify, Slack Bot
- Categories: Marketing, Operations
- Published: 2026-07-02

## What it does

- Every weekday morning, checks your NetX library for product photos that were approved or re-versioned in the last 24 hours.
- Finds the matching Shopify product by SKU or handle and swaps in the new hero shot when the storefront image is out of date.
- Keeps a six-image cap and promotes the new hero photo to the first position so your product page leads with the approved shot.
- Posts a Slack recap of what was updated, what was already current, and which SKUs a human still needs to reconcile.

## What you'll need

- A NetX account with access to your Shopify-ready folder or storefront-approved tag.
- A Shopify store login with permission to edit products and their images.
- A Slack workspace and a channel where the marketing ops team wants the daily recap.

## Prompt

Every weekday at 6am ET, run an agent that keeps my Shopify storefront images in lockstep with the approved product photography in NetX. The trigger should be a cron schedule since NetX does not support event-based triggers.

Step 1 (find newly approved assets in NetX). Use NetX Search Assets by Query to find assets that were imported or re-versioned in the last 24 hours inside our "Shopify-ready" folder, or that carry the storefront-approved tag. For each asset, use NetX Get Asset Attributes to read the SKU from the filename and any custom attributes (for example a sku or product_code attribute) and to read the shot type (hero vs supporting).

Step 2 (match to a Shopify product). Use Shopify List Products with a SKU or handle filter to locate the matching product. If nothing matches, add the SKU to an "unmatched" list for the digest and move on.

Step 3 (update the storefront when the DAM is ahead). Compare the product's current image set to the DAM asset. If the DAM has a newer version of an existing hero image, or the product is missing the approved hero shot entirely, download the file via NetX Download Asset File and attach it using Shopify Update Product. Two constraints: enforce a maximum of 6 images per product (trim the oldest supporting shots first if needed to stay under the cap), and put the new hero in image position 1 so the product page leads with it. If the product is already in sync with the DAM, skip it and record why.

Step 4 (Slack digest). Finish by using Slack Bot Send a Message to post a digest to the marketing ops channel that lists: products updated (name, SKU, and which image position changed), assets skipped because they were already current, and unmatched SKUs that need a human to reconcile. Keep the digest concise but include enough detail that a marketing ops person can act on the unmatched list without opening either tool.

This should be an agent (not code) because it needs judgment for filename-to-SKU parsing (SKUs may appear before an underscore, in parentheses, or in a custom attribute), for deciding hero vs supporting shot from the NetX attributes, and for skipping products that are already in sync. Prefer safe defaults: when in doubt about whether a NetX asset is meant to replace an existing hero, skip and add it to the digest for a human to confirm rather than silently overwriting.

Configuration knobs I want to be able to change later: the NetX folder or tag it watches, the Slack channel, the run time, the per-product image cap, and the custom attribute name that carries the SKU.

## How to customize

- Change the time or days it runs, for example switch to every morning including weekends or move it to 7am local time.
- Point it at a different NetX folder or approval tag, and adjust how it reads the SKU from filenames or custom attributes.
- Swap the Slack channel, cap products at more or fewer images, or change the rule for what counts as a hero shot.

## FAQ

### What happens if a SKU in NetX does not match any Shopify product?

The agent leaves the storefront alone and lists the unmatched SKU in the Slack recap so a human can reconcile it, usually by fixing the filename or creating the missing product.

### Will this overwrite the images I already have on a product?

No. It only adds a photo when NetX has a newer or missing hero shot, and it keeps the total under your six-image cap by trimming older supporting shots first. Products that are already in sync are skipped and reported in the recap.

### How does the agent know which photo is the hero versus a supporting shot?

It reads the custom attributes on the NetX asset, like the shot type or usage tag, and falls back to filename cues. You can tell it exactly which attribute or tag to trust when you set it up.

### Can I change the Slack channel or the time it runs?

Yes. Both are simple settings you can update after the agent is created, along with the NetX folder it watches and the image cap per product.

### Do I need a developer to keep this running?

No. Once the three accounts are connected and the folder or tag is set, the agent runs itself on the schedule you choose and pings your team in Slack whenever it needs a human to weigh in.

Use this prompt in General Input: https://www.generalinput.com/prompts/sync-approved-netx-product-photos-to-shopify-every-morning