Weekly lapsed VIP re-engagement on Messenger

By General Input

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.

Integrations

  • Shopify
  • Manychat
  • Slack

Type

Agentic Task

Categories

  • Marketing
  • Sales

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsReceiving dock console for inspecting and restocking Loop returnsWin back no-show and cancelled appointments every morningSee which influencer creators actually drove Shopify salesLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teams