AI lifestyle photos for every new Shopify product, sent to Slack
When a new product is created in Shopify, generate an on-brand lifestyle image, attach it to the product, and drop it in your marketing Slack channel.
Build me an agent that turns every new Shopify product into a social-ready lifestyle photo and hands it to my marketing team in Slack.
Trigger: the Shopify products/create webhook. The agent should run once per newly created product.
For each new product:
1) Call Shopify Get Product to pull the full title, body description, product type, tags, and the current images list.
2) Check the image skip guard. If the product already has more than IMAGE_SKIP_THRESHOLD images (default 3, make this a workflow input I can edit), skip the rest of the steps and log that it was skipped.
3) Write a vivid scene prompt for the image model. Think editorial flat lay or in-context lifestyle shot, not a sterile studio cutout. Use the product's title, description, type, and tags to ground the scene in what the product actually is and who it's for. Always append a reusable BRAND_AESTHETIC snippet (also a workflow input I can edit) describing mood, color palette, lighting, props, and setting so every image stays on brand. Default the BRAND_AESTHETIC to something tasteful and editorial I can rewrite later.
4) Call Generate Image with that prompt at 1:1 aspect ratio so the output is Instagram-ready. Generate Image returns base64 image data plus a MIME type — keep the bytes in memory and pass them through to the next two steps.
5) Call Shopify Update Product to append the new image to the product's images list. Do not replace or reorder existing images — the existing primary photo must stay primary. Just add the new one to the end.
6) Call Slack Bot Upload a File to send the image to the marketing Slack channel (make the channel a workflow input). The caption should name the product, link to its Shopify admin page (https://{shopDomain}/admin/products/{productId}), and tell the marketing team the image is ready to grab for posts and ads. Keep the caption short and friendly.
Workflow inputs I want to be able to edit later without rebuilding: the destination Slack channel, the image skip threshold, and the BRAND_AESTHETIC snippet that gets appended to every scene prompt.
Error handling: if Generate Image fails or returns nothing usable, do not update Shopify and do not post to Slack — just log the failure so we can investigate. If the Slack upload fails after the image is already attached to the product in Shopify, log it but don't roll back the Shopify update.
Additional information
What does this prompt do?
- Watches Shopify for new products and reacts the moment one is created.
- Writes a vivid scene description from the product's title, description, type, and tags, then generates a square, social-ready lifestyle image.
- Attaches the new image to the product in Shopify without disturbing your existing primary photo.
- Posts the image to your marketing Slack channel with a short caption and a link back to the product so the team can grab it for posts and ads.
- Skips products that already have plenty of imagery so you don't pile on extras you don't need.
What do I need to use this?
- A Shopify store you can connect with permission to read and update products.
- A Slack workspace and the channel where your marketing team wants the images delivered.
- A short brand aesthetic snippet (mood, colors, props, setting) you want every image to follow. You can edit it any time and every run will use the latest version.
How can I customize it?
- Edit the brand aesthetic snippet to change the look, mood, props, or setting used in every image.
- Change the image skip threshold so it runs only on products with very few photos, or on every new product no matter what.
- Swap the destination Slack channel or update the caption template, including which links and details get included.
Frequently asked questions
Will the new image replace my existing product photo?
What if a product already has lots of photos?
Can I control the style of the images?
Does it work for products imported in bulk or only ones I add by hand?
Where does the image actually go in Slack?
Turn every new Shopify product into a social-ready photo.
Connect Shopify and Slack once, write your brand aesthetic, and Geni handles the visual the moment a new product goes live.