Recurring Donation Failure Alerts
Example prompt: "Check Stripe for any failed recurring donation payments in the last 24 hours. For each one, log the failure in our donor tracking Google Sheet, send an alert to our #fundraising Slack channel with the donor's name and amount, and draft a friendly email asking them to update their payment details — send it from Gmail."
The Problem
Recurring donors are the backbone of nonprofit revenue — they provide predictable income that makes budgeting possible. But payment methods expire, cards get replaced, and bank details change. When a recurring donation fails, it often goes unnoticed for days or weeks. By the time someone spots it in a Stripe dashboard, the donor may have already churned without realising their support stopped. Each failed payment that is not addressed promptly is lost recurring revenue, and re-engaging a lapsed recurring donor is far harder than simply helping them update their card.
How GloriaMundo Solves It
We build a workflow that runs daily to check Stripe for failed recurring payment attempts in the last 24 hours. An integration step fetches the failed payments — donor name, email, amount, failure reason, and how many previous successful payments they have made. A code step categorises each failure by type: expired card, insufficient funds, or bank decline. For each failed payment, an integration step logs the details in your donor tracking Google Sheet. An LLM step drafts a warm, empathetic email to the donor — not a cold "payment failed" notice, but a friendly message thanking them for their ongoing support and gently asking them to update their payment method, with a direct link to do so. A Slack notification alerts your fundraising team with donor details and the failure reason so they can follow up personally with long-standing donors. Glass Box preview shows you every draft email and Slack message before anything is sent.
Example Workflow Steps
- Trigger (schedule): Runs every morning at 9 AM.
- Step 1 (integration): Fetch failed recurring payment attempts from Stripe in the last 24 hours.
- Step 2 (code): Categorise failures by type — expired card, insufficient funds, bank decline. Calculate each donor's lifetime giving total.
- Step 3 (integration): Log each failure in the donor tracking Google Sheet with date, amount, reason, and lifetime total.
- Step 4 (LLM): Draft a friendly email for each donor thanking them for their support and asking them to update their payment method.
- Step 5 (conditional): If the donor has given more than 12 consecutive months, also flag them for a personal phone call from the team.
- Step 6 (integration): Send the payment update emails via Gmail.
- Step 7 (integration): Post a summary alert to the #fundraising Slack channel.
Integrations Used
- Stripe — source of failed recurring payment data
- Google Sheets — donor tracking and failure logging
- Gmail — sends friendly payment update request emails
- Slack — team alerts for failed payments
Who This Is For
Development directors and fundraising managers at nonprofits with a recurring giving programme who want to catch failed payments the same day they happen, rather than discovering lost recurring donors weeks later in a revenue report.
Time & Cost Saved
Manually checking Stripe for failed payments, cross-referencing with donor records, and drafting individual outreach emails takes 30-45 minutes per failure. A nonprofit with 200 recurring donors might see 5-10 failures per month. More importantly, the real cost is in lost revenue: a single unaddressed failure on a monthly donation of £25 represents £300 in annual recurring revenue lost. Catching and resolving failures within 24 hours significantly improves recovery rates compared to weekly or monthly reviews.