Weekly lapsed VIP re-engagement on Messenger

Find your high-spend Shopify customers who have gone quiet and send each one a warm, personal Messenger note that references what they used to buy.

Agentic Task
ShopifyManychatSlackMarketingSalesEmail AutomationNotifications & AlertsContent Generation

Build me an agent workflow that re-engages my lapsed Shopify VIPs through Manychat once a week.

Trigger: cron, every Tuesday at 10:00 AM America/New_York.

On each run, do the following:

1. Identify lapsed VIPs. Call Shopify List Customers and Shopify List Orders to build a per-customer view of lifetime spend and last order date. A lapsed VIP is a customer whose total lifetime spend is greater than the configurable threshold (default $500) AND whose most recent order was more than the configurable lapse window ago (default 60 days). Skip anyone without an email.

2. For each lapsed VIP, look at their order history (the last few orders, product titles, average order value, and which product type or collection they buy most) and decide what would actually bring them back. The angle should be specific to them, for example: a restock of a product they bought before and loved, a complementary new release that fits what they usually buy, or a small "we miss you" gesture tied to their favorite category. Do not invent products or promotions that do not exist in their order data.

3. Match them to Manychat. Call Manychat Find Subscriber by System Field using the customer's email. If no match is returned, skip the customer (do not create a new subscriber).

4. Draft a short, warm Messenger-style direct message (two to four sentences, first-person, friendly, no emoji spam). Reference what they used to buy and the specific reason to come back. Include two quick replies: "Show me what's new" and "Send me the link". Send it via Manychat Send Content using the Dynamic Block v2 format.

5. Immediately after a successful send, call Manychat Add Tag to Subscriber by Name with the tag vip_reengagement_<month>, where <month> is the current month in YYYY_MM format (for example vip_reengagement_2026_05). At the start of step 1, also filter out any customer whose Manychat subscriber already has the current month's tag, so the same VIP is never messaged twice in one month.

6. After the batch completes, post a summary to Slack via Send a Message in the marketing channel (configurable). The summary should include: total lapsed VIPs identified, how many were matched in Manychat and messaged, how many were skipped because they were not in Manychat, and a short list of the customers messaged (first name + last order date). Keep it to one tidy message, no thread.

Configurable inputs the user should be able to set when installing the workflow: lifetime spend threshold (default 500), lapse window in days (default 60), Slack channel for the recap, and an optional override of the Messenger message tone (default: warm, concise, no discount unless explicitly enabled).

Respect Manychat's 24-hour messaging window and rate limits. If Send Content returns a messaging-window error for a subscriber, skip them gracefully and include them in the Slack recap under a "could not message" line. Do not retry aggressively.

Additional information

What does this prompt do?
  • Pulls your Shopify customers and orders every Tuesday morning to spot VIPs whose lifetime spend is above your threshold but who have not ordered in the last 60 days.
  • Looks at each lapsed VIP's order history to figure out the right hook to win them back, like a restock of something they loved or a relevant new release.
  • Matches each customer to their Manychat subscriber by email and sends a short Messenger note with two quick reply buttons so they can re-engage in one tap.
  • Tags everyone messaged with a monthly re-engagement tag so the same person is not pinged week after week, and posts a recap of the batch to your marketing Slack channel.
What do I need to use this?
  • A Shopify store login with permission to read customers and orders.
  • A Manychat account connected to your Messenger audience, with the ability to send content and add tags.
  • A Slack workspace and a channel where the marketing team wants the weekly recap posted.
How can I customize it?
  • Change the VIP threshold (default lifetime spend of $500) and the lapse window (default 60 days since last order) to match how your store defines a VIP.
  • Adjust the day and time the campaign runs, the Slack channel the recap is posted to, and the wording of the Messenger note and quick replies.
  • Swap the monthly tag name or shorten the cooldown if you want to re-engage the same VIPs more or less often.

Frequently asked questions

What if a lapsed VIP is not on my Manychat list?
The workflow skips anyone it cannot match to a Manychat subscriber by email, so you only message customers who have already opted in to your Messenger audience.
Will the same customer get messaged every week?
No. After each send, the workflow adds a monthly tag to the subscriber, and the next run excludes anyone who already has that tag. The cooldown resets at the start of each month.
How does it decide what to say to each VIP?
It reviews each customer's recent orders, average order value, and favorite product type, then picks a tailored angle such as a restock of something they bought before or a complementary new release.
Can I change the day, time, or threshold?
Yes. The send day, time of day, lifetime spend threshold, lapse window, and message wording are all configurable when you set the workflow up.
Do I need a paid Shopify or Manychat plan?
You need a Shopify plan that lets your apps read customers and orders, and a Manychat account that can send content and apply tags. Most standard plans on both platforms support this.

Bring your best customers back without lifting a finger.

Connect Shopify, Manychat, and Slack once, and Geni sends a warm, personal Messenger note to your lapsed VIPs every Tuesday at 10am.