Daily failed payment recovery for your Whop members

By General Input

Every weekday morning, find the Whop payments that failed, email those members a friendly card update note, and get a digest of the revenue at risk.

Integrations

  • Whop
  • Gmail
  • Slack

Type

Agentic Task

Categories

  • Finance
  • Operations

Every weekday at 9am, run a failed payment recovery pass on my Whop business.

Start with Whop List Payments, using the status filter to pull payments that failed or are past due, and narrow the results to the last 24 hours. If nothing comes back, post a short note to my revenue Slack channel saying there were no failed payments and stop there.

For each failed payment, gather the context I need to judge it. Use Whop Retrieve Membership on the membership tied to the payment to get the plan, the product, the current membership status and the billing period. Use Whop Retrieve Member to get the member's name and email, how long they have been a member, and their lifetime spend.

Be careful with the money units. Payment amounts from Whop List Payments are integers in the smallest currency unit, so divide them by 100 before any dollar figure appears in an email or in the digest. Plan amounts are decimal numbers already in the plan's currency, so never mix the two and never add them together. Every figure I see should be a properly formatted currency amount.

Rank the failures by dollars at risk. Use the failed payment amount as the base, then weigh it against the member's lifetime spend and tenure so that long standing, high value members rise to the top of the list rather than being treated the same as a brand new small subscription.

Before contacting anyone, apply two skip rules. First, skip the member if the retry already succeeded, which you can tell when the membership has gone back to an active or valid status, or when a later successful payment exists for the same membership in the payment list. Second, skip anyone who was already emailed about this in the last 7 days, which you can check with Gmail List Messages by searching my sent mail for that member's email address. Nobody should be emailed about a failed payment twice in the same week.

For everyone who remains, draft a short friendly card update email and send it with Gmail Send a Message. Keep it warm and non-threatening. These are customers whose card expired, not delinquents. Use their first name, name the product or plan they are on, say plainly that the latest payment did not go through, give one clear line about updating their card, and keep it under roughly 120 words. No dunning language, no threats about losing access, no urgency countdowns, no all caps. Personalize by tenure, so a member of two years gets thanked for sticking around while a very new member gets a lighter touch.

Finish by posting a digest to my revenue channel with Slack Send a Message. Include the total dollars at risk across all failures from the last 24 hours, the list of who was contacted with the amount and plan for each, who was skipped and the reason why, and a clearly separated section calling out the highest value accounts that need a human follow up, meaning large amounts, long tenure, or a card that has now failed more than once. That last section is what I act on personally, so make it specific about why each account made the list.

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 leadsChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findWin back no-show and cancelled appointments every morningLive 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