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.
Integrations
NetX
Shopify
Slack Bot
Type
Categories
- Marketing
- Operations
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.
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.
How to customize it
- 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.
Use cases
- Data Sync
- Daily Digests