Weekly Shopify win-back emails for dormant customers

Every Monday morning, find your high-value Shopify customers who haven't ordered in a while and get personalized win-back emails drafted in Gmail.

Agentic Task
ShopifyGmailMarketingSalesEmail AutomationAI ReportsContent Generation

Build an agent workflow that runs on a cron schedule every Monday at 9:00 AM America/New_York. The goal is to find dormant high-value Shopify customers and draft personalized win-back emails in Gmail for our marketing lead to review and send.

Steps the agent should follow each run:

1. Use Shopify 'List Customers' to pull customers updated or created in roughly the last 12 months (paginate as needed, max 250 per page). For each customer, use Shopify 'Get Customer Orders' to compute their lifetime spend (sum of total_price across orders) and the number of days since their most recent order.

2. Keep only customers who meet ALL of these criteria: lifetime spend is at least $300 (configurable threshold), most recent order was between 60 and 180 days ago, customer has accepted marketing (accepts_marketing is true) or has no opt-out, and the customer has a valid email address.

3. For each qualifying customer, look at the line items from their past orders to identify what they previously bought. Use Shopify 'List Products' to retrieve the current product catalog and pick one or two relevant products they have NOT purchased yet (same product type or vendor as a past purchase is a good signal).

4. Draft a short, warm, personalized email for each customer (subject line plus body, around 80 to 130 words). The email should: greet them by first name, reference one specific product they previously bought, suggest the one or two new product picks with a one-line reason, and include a soft incentive by default (a free shipping reminder, a 'we just restocked your favorite' nudge, or a simple 'we'd love to see you back' line). Do not include a discount code unless explicitly enabled. Sign it from the marketing lead.

5. Deliver the drafts via Gmail. Default mode: send a single digest email using Gmail 'Send a Message' to the marketing lead's address. The digest should list each qualifying customer (name, email, lifetime spend, days since last order, past favorite, suggested products) followed by the proposed subject and body, so the lead can copy, edit, and send. Provide a configuration flag to switch to per-customer Gmail drafts instead (one draft per recipient saved in the lead's Drafts folder).

Important behavior: never send emails directly to customers. Everything goes to the marketing lead for review. If zero customers qualify in a given week, still send the digest with a one-line note saying nothing matched this week so the lead knows the workflow ran. Cap the list at the top 25 highest-spend qualifying customers per run to keep the digest readable.

Inputs the user should be able to configure: the lifetime spend threshold (default $300), the dormant window in days (default 60 to 180), the marketing lead's recipient email, the delivery mode (digest vs. per-customer drafts), whether to include a discount code, the run time zone, and the sender name to use in the email signature.

Additional information

What does this prompt do?
  • Scans your Shopify store every Monday at 9am and surfaces past customers who spent above your threshold but haven't ordered in 60 to 180 days.
  • Drafts a short, personalized email for each one that references what they previously bought and suggests one or two relevant products they have not tried yet.
  • Delivers everything to your marketing lead's Gmail as draft messages or as a single digest email, so a human can review and send.
  • Keeps the tone soft and trust-first by default. No discount codes, just a friendly nudge and a relevant suggestion.
What do I need to use this?
  • A Shopify store you can connect (Admin access)
  • A Gmail account for the person who will review and send the drafts
  • A rough idea of your lifetime spend threshold for a 'high-value' customer (for example, $300)
  • Your preferred dormant window (the default is 60 to 180 days since last order)
How can I customize it?
  • Change the schedule (for example, every other Monday, or a different day and time zone) or the recipient who receives the drafts.
  • Adjust the spend threshold and the dormant window (60 to 180 days) to fit your store's buying cycle.
  • Swap the soft incentive in the email template (free shipping reminder, restock note, loyalty mention) or add a discount code if you want one.
  • Choose whether the agent saves the messages as Gmail drafts in your inbox or sends one digest email with all the recipients and proposed copy.

Frequently asked questions

Does this actually send emails to my customers automatically?
No. By default, the agent prepares the messages and leaves them for you to review. You decide what goes out. You can switch it to auto-send later once you trust the output.
How does it personalize the emails?
For each qualifying customer, the agent looks at what they previously ordered, how long it has been since their last purchase, and your current product catalog. It then writes a short, friendly message that references their past favorites and suggests one or two products they have not bought yet.
What counts as a 'high-value' customer?
You set the bar. A common starting point is anyone whose lifetime spend in your store is $300 or more. You can raise or lower the threshold when you set up the workflow.
Will it email the same customer every week?
You can tell the agent to skip anyone who already received a win-back recently, or shrink the dormant window so a customer falls out of the list once they pass 180 days. Both options are easy to add.
Do I need a Shopify Plus plan?
No. Any Shopify plan that lets you create a custom app and connect a Gmail account works.

Stop letting your best customers slip away quietly.

Connect Shopify and Gmail once, and Geni hands you ready-to-send win-back drafts every Monday morning.