Run it again
A 15-minute Monday routine anyone on your team can run
Everything Donor Radar does is written down here: the weekly steps, the rules behind each list, and the exact prompts. Use the app, or paste the prompt into Claude or ChatGPT with your export attached.
Every week
Four steps
01
Export from GivebutterIn Givebutter, go to Transactions → Export → CSV. Export everything from the last two years.
02
Upload to Donor RadarDrop the file on the home page. It is read in your browser and never stored or uploaded.
03
Work the lists in orderStart with 01, monthly donors at risk. Each donor shows why they are on the list and what is at stake.
04
Edit, then sendDraft an email, fill in the bracketed links, make it sound like you, then copy it or open it in your email app.
Nothing is saved between sessions, so "Emailed" marks reset each time. Keep a note in Givebutter of who you contacted.
The rules
How a donor lands on a list
Plain rules you can check, not a black-box score. Each donor goes on the first list they qualify for, in this order. Today is the date of the latest transaction in your file.
01 · Monthly donors at riskGave monthly in the last 6 months, and either has a failed payment since their last successful monthly gift, has had no monthly gift for 40+ days, or cut their monthly amount by 20% or more.
Champions (checked second)Top 10% of donors by giving in the last 12 months, with a minimum of $500. Checked before lists 02 and 03 so your best supporters always get a thank-you.
02 · Ready to go monthlyNot a monthly donor, and gave 2 or more times in the last 12 months.
03 · Lapsed last yearGave 12 to 24 months ago and nothing in the last 12 months.
Without the app
Run the same playbook in Claude or ChatGPT
Attach your Givebutter transactions CSV, paste this prompt, and check the counts against Givebutter before sending anything.
Weekly donor radar prompt
You are helping a small nonprofit decide which donors to contact this week. I have attached our Givebutter transactions export (CSV). Each row is one transaction with the donor's name, email, amount, date, status (succeeded, failed, refunded) and frequency (one-time or monthly). Treat the latest transaction date in the file as "today". Ignore failed and refunded rows when adding up giving, but use failed rows to spot payment problems. Sort donors into four lists. Each donor goes in the first list they qualify for, in this order: 1. Monthly donors at risk: gave monthly in the last 6 months AND either had a failed payment since their last successful monthly gift, has not had a monthly gift for 40+ days, or lowered their monthly amount by 20% or more. 2. Champions: the top 10% of donors by giving in the last 12 months (at least $500). 3. Ready to go monthly: not a monthly donor, and gave 2 or more times in the last 12 months. 4. Lapsed last year: gave 12 to 24 months ago, and nothing in the last 12 months. For each list, show a table with: name, a one-line reason they are on the list (with the actual numbers), lifetime giving, last gift amount and date, and their main campaign. Put the most urgent or valuable donors first. Then give me the money at stake for each list. Finally, draft a short personal email for the top 5 donors in list 1: - 90 to 150 words, plain text, warm and specific to their history - use a bracketed placeholder where a link belongs, like [link to update your card] - never guilt-trip, never invent facts about our programs - champions get a thank-you with no ask - sign off as [your name], [organization] Show your counts so I can check them against Givebutter before I send anything.
Under the hood
The exact drafting prompt
Donor Radar sends these instructions to Claude, plus a short summary of one donor. No email address or last name is ever sent.
Instructions (system prompt)
You write short, personal donor outreach emails for small nonprofits. The sender is a real person at the organization writing to one donor. Rules: - 90 to 150 words in the body. Plain text, no markdown. - Where a link belongs, use a bracketed placeholder the sender will fill in, like [link to update your card] or [link to monthly giving]. Never invent URLs. - Sound like a warm, specific human, not a marketing team. Reference the donor's actual history (campaigns, how long they've given, amounts) where it helps. - Never guilt-trip. Never invent facts about the organization's programs beyond what is given. - Follow the segment's goal exactly. Champions get a thank-you with no ask. - Do not use em dashes. Use commas, colons or periods instead. - Sign off with the sender's name and organization on separate lines.
Per-donor message (example)
Organization: Riverbend Community Kitchen
Sender: Jordan
Donor segment: Monthly donors at risk
Why they're in it: 2 failed payments since their last $50 monthly gift
Goal of this email: A personal check-in and an easy way to restart or update their card.
Donor history:
{
"firstName": "Hana",
"segment": "at_risk",
"riskKind": "failed",
"reason": "2 failed payments since their last $50 monthly gift",
"given12mo": 400,
"gifts12mo": 8,
"lastGiftAmount": 50,
"lastCampaign": "Monthly Meals Club",
"totalGiven": 400,
"giftCount": 8,
"firstGift": "2026-01-24",
"lastGift": "2026-08-24",
"isRecurring": true,
"monthlyAmount": 50,
"topCampaign": "Monthly Meals Club",
"campaigns": [
"Monthly Meals Club"
]
}
Write the email.Ready for this week's list?See it with sample data