Year-End Donor Giving Summaries
Example prompt: "At the start of January, pull every donation we received last year from Stripe and our donations Google Sheet, group the totals by donor and by fund, draft a personalised giving summary letter for each donor with their year's contributions and a short thank-you from the executive director, save each as a PDF in Google Drive, and email them out via Gmail."
The Problem
In January and February the development team is asked to produce a giving summary for every donor — a statement showing what they gave last year, often broken down by fund or campaign, so they can claim it on their tax return. For an organisation with a few hundred donors this is a fortnight of spreadsheet work, mail merge fiddling, and chasing up donors who gave through multiple channels. Donors expect the summary by the end of January, but the team is also closing the books and reporting to the board. The result is usually a rushed batch that goes out late, with a generic covering letter that does not feel like a thank-you.
How GloriaMundo Solves It
We build a workflow that runs on demand at year-end. An integration step pulls last year's donations from Stripe and a code step merges them with any offline gifts logged in the donations Google Sheet. A second code step groups donations by donor, computes totals by fund, and flags anyone whose contact details look incomplete. A sub-agent then handles each donor individually: an LLM step drafts a short personal note referencing what their giving funded, a code step renders the letter and a giving summary table into a PDF, and integration steps save the PDF to a year-specific Google Drive folder and email it from Gmail. Glass Box preview shows the full letter and summary table for a sample donor before the batch sends.
Example Workflow Steps
- Trigger (manual): Kicked off in early January for the previous calendar year.
- Step 1 (integration): Fetch all completed donations from Stripe for the year.
- Step 2 (integration): Read offline donations from the donations Google Sheet.
- Step 3 (code): Merge the two sources, group by donor, compute totals by fund, and flag missing addresses.
- Step 4 (sub_agent): For each donor, draft a personalised cover note, render the letter and giving table as a PDF, save to Google Drive, and email it via Gmail.
- Step 5 (conditional): If a donor has no email on file, save the PDF for postal printing and add them to a separate "needs post" Google Sheet.
- Step 6 (integration): Post a final summary to the #fundraising Slack channel — how many letters went out by email, how many need posting.
Integrations Used
- Stripe — source of online donation records for the year
- Google Sheets — offline donation log and the "needs post" output list
- Google Drive — archive of every donor's giving summary PDF
- Gmail — sends the giving summary letter to donors with an email address
- Slack — final batch summary for the team
Who This Is For
Development officers and finance leads at small-to-medium nonprofits who send annual giving statements to donors and currently do it through mail merge or by hand. Particularly useful for organisations whose donors give through several channels — online, direct debit, and cheque — so totals have to be combined from more than one source.
Time & Cost Saved
For a charity with 400 donors, producing year-end giving summaries by hand typically takes 25-35 hours over two weeks — pulling reports, reconciling channels, drafting letters, mail merging, and emailing. This workflow runs the merge and generates the PDFs in under an hour of compute and a few minutes of human review. The bigger win is consistency: every donor gets a personal note and an accurate summary on the same day in January, not whenever the team gets to them.