Hourly hero-banner drafts for new Shopify products

Every hour, spot newly published Shopify products and drop two Ideogram hero-banner variants into your marketing Slack channel for approval.

Agentic Task
IdeogramShopifySlack BotMarketingOperationsContent GenerationNotifications & Alerts
PromptCreate

Every hour on a cron schedule, draft a fresh pair of hero banners for each product that was just published to Shopify and drop them into the marketing Slack channel so the team can approve or tweak before promoting.

Trigger: cron, every hour. Shopify is not a first-class poll provider for us, but a cron plus a filtered list read is enough to catch recent activity.

Step 1 — pull new products. Call Shopify List Products with status=active and a dates filter that scopes the read to the last hour (created_at_min or published_at_min set to now minus one hour, whichever field you find more reliable for the store). Note that Shopify's product REST endpoints are marked deprecated since API 2024-04 but still function for custom apps per Shopify's own docs, so this is fine to use.

Step 2 — clean the list. Skip any product that has no title, or whose title is an obvious placeholder like "Untitled", "New product", "Test", or a lone SKU. Dedupe by Shopify product ID against the set of products this workflow has already drafted banners for in previous runs, so the same product never gets banner-drafted twice even if the hourly window overlaps it.

Step 3 — generate two banners per product with Ideogram Generate (Ideogram 4.0). For each surviving product, call the operation twice:

  • Landscape homepage hero — aspect_ratio 16:9, prompt Ideogram to render an on-brand background scene and place the product name (and, if it fits, a short tagline derived from the product description) as legible in-image typography. Ideogram's edge over other image models is its typography, so lean on it.

  • Square social variant — aspect_ratio 1:1, same brand direction, same product name as the visible headline, tighter composition suitable for Instagram, Meta Ads, and Pinterest.

Remember Ideogram sets aspect_ratio and resolution as mutually exclusive on generate — pick aspect_ratio here. Read the resulting image URLs from data[].url on each response. Those URLs expire after a short window, so use them immediately in the Slack post below.

Step 4 — post to Slack for approval. Send one message per product into the #marketing channel using Slack Send a Message. Use Block Kit so both images render inline: an intro section that @-mentions the assigned marketer (or a marketing user group) and links back to the Shopify product URL, then two image blocks (one per variant) each with a short caption naming the ratio and its intended surface, then a final section with two or three quick copy suggestions the marketer can paste into the caption or landing hero — headline options, a supporting subhead, and a CTA line. Keep the tone friendly and marketing-editor-oriented, not developer-y.

State to persist between runs: the set of Shopify product IDs already drafted, so the dedupe check in Step 2 keeps working across hours. Trim old IDs after 30 days.

Nuance to bake in:

  • If Ideogram returns is_image_safe=false for a variant, skip that variant, note it in the Slack message, and continue with the other one instead of failing the whole product.

  • If the product has no featured image or vendor set, still generate — Ideogram is building from the name and description, not the product photo.

  • If zero eligible products come back in a run, do not post anything to Slack. Silent hours are fine — the channel should only get pinged when there is something to review.

What does this prompt do?

  • Checks Shopify every hour for products that were published or created in the last hour
  • Generates two on-brand Ideogram hero banners per product: one wide landscape for the homepage and one square for social
  • Renders the product name as legible typography inside each banner so the marketer can drop it in as-is
  • Posts both variants into your marketing Slack channel, tagging the reviewer with a link back to the Shopify product and quick copy ideas
  • Remembers which products it has already banner-drafted so nothing gets duplicated across hours

What do I need to use this?

  • A Shopify store with a custom app connection so we can read your product catalog
  • An Ideogram account with API credit for image generation
  • A Slack workspace and the name of the channel where your marketing team reviews new creative
  • The Slack handle of the marketer or channel group you want tagged for approval

How can I customize it?

  • Change how often it runs (every 30 minutes, twice a day, or only on weekday mornings)
  • Swap the two aspect ratios for the exact sizes your homepage hero slot and paid social templates use
  • Rewrite the on-brand prompt to lock in your palette, typography direction, and photography style

FAQs

Do I need a designer on staff to make this useful?
No. The whole point is that the banners come out ready to review. A marketer or founder can approve, tweak the copy, and post; Ideogram's in-image typography means the product name is already rendered, not left as a placeholder.
What happens if I publish ten products in one hour?
You get ten Slack posts, one per product, each with its own landscape and square variants. The workflow only skips a product if it has no title, an obvious placeholder title, or has already been drafted in a previous run.
Can it post to more than one channel or ping more than one person?
Yes. Point it at the channel you want and list the handles you want tagged. Common setups tag one marketing lead plus a paid-social channel group.
Will it re-draft the same product if I edit it later?
No. It dedupes on the Shopify product ID, so once a product has been banner-drafted, small edits will not trigger a second round. If you want a fresh set of banners after a big rework, ask the marketing team to re-run it on that product.
Does this work on the free Slack plan?
Yes, as long as your channel history is long enough that reviewers can still see the banners when they get around to them. If your workspace archives older messages, ask marketers to approve the same day.

Related templates

A brand asset library your marketing team actually searches

Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.

General Input Storage
General Input Database
JigsawStack
+1
App
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
Clean out the Looker dashboards and Looks nobody opens

One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.

Looker
Slack Bot
App
LiveKit live operations console for room moderation

Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.

LiveKit
Slack Bot
General Input Database
App
Wake up dormant Keap leads with a researched reason

Every Monday we find leads who never bought, research a real reason to reach out, and send a short personal email instead of another check in.

Keap
Slack Bot
Agentic Task
LiveChat coverage board for planning next week's shifts

See the exact hours your chat queue backs up and customers give up waiting, then plan next week's shifts before it happens again.

LiveChat
Slack Bot
General Input Database
App

Stop hand-drafting banners for every new product.

Let Shopify launches turn into ready-to-review hero banners in Slack before your marketer finishes their coffee.