
From Blackbaud to HubSpot: How World Hope International Rebuilt Their Fundraising Operations from the Ground Up
Moving 631,772 gift records to HubSpot is a migration. Rebuilding how a $20.6M global NGO raises money while those records are in flight is something else. World Hope International needed the second.

- Moved From
- Blackbaud CRM, Feathr
- Records Migrated
- > 1 Million
- Built With
- Marketing Hub Enterprise, Sales Hub Enterprise, Service Hub Professional, Data Hub Professional, UI Extensions, Custom Apps, Fundraise Up
On one fundraising email, 11,997 of 22,000 records bounced, the identical count to a campaign a year earlier. Half of WHI’s donor outreach had been failing and nothing surfaced it.
Staff could not build queries. Deposit reconciliation meant cross-referencing four payment systems by hand. The GL posting file tying designations to Acumatica account codes had to be built by hand each month, a job that fell to the CFO because Blackbaud could not produce it.
The source data was worse. Blackbaud’s Household entity duplicated address and giving history across three records at once, and 2,437 designations had accumulated with no hierarchy, only 114 in use.
A gift has a hard credit, the party whose money it was and who receives the tax receipt, and often a soft credit, the person who brought it in. Twenty years of varied practice meant neither held up.
Online gifts reached Blackbaud through five manual steps: a Power Automate pull, a CSV, an SFTP upload, a daily import, and a hand-reviewed batch. The chain was breaking in production during discovery.
Lake One’s first proposal was a single-track migration. Discovery changed it. Feathr’s contract was expiring, and Q4 was peak fundraising season with the people who would test a new CRM also raising the money.
Scope was renegotiated around WHI’s calendar, not a delivery schedule.
- Phase 1Replace Feathr, stand up Marketing Hub
Before the contract lapsed, which got the team into HubSpot months before the CRM arrived.
- Phase 2Build the CRM through Q4
While fundraising ran undisturbed, then go live in Q1.
- FallbackBlackbaud overlap
Until March 2026. Role-base training ran alongside go live
Phase 1 replaced Feathr and stood up Marketing Hub before the contract lapsed, which got the team into HubSpot months before the CRM arrived. Phase 2 built the CRM through Q4 while fundraising ran undisturbed, and cut over in January.
Lake One recommended migrating three to five years of active donor data, cleaned, and archiving the rest. WHI chose to preserve everything. That is a legitimate instinct when donor history is institutional memory, but also the hardest starting position, because after two decades without governance nobody knows what it contains.
The plan was rebuilt around that decision and cleanup was negotiated case by case: the Household entity scrapped and spouse relationships rebuilt as Contact-to-Contact association labels, duplicates merged, 2,437 designations consolidated to roughly 100, organized by program area, country and project.
Blackbaud was kept for reference until March 2026, when it was decommissioned.
The sequencing was a change management decision as much as a technical one: Marketing first so the team learned HubSpot on lower stakes, Blackbaud retained so they could check the new system against the old, and training delivered by role rather than all at once.
The migration and the build
Sales Hub carries gift management through deals, pipelines and the custom objects, with sequences driving engagement plans for donor portfolios. Marketing Hub and Data Hub run the workflows and coded actions that keep data consistent and scale engagement past what portfolio work carries one to one. Service Hub handles donor satisfaction and surveying. The custom work sits on that foundation, built while more than a million records were migrated and normalized.
The Migration: Database-level extraction with a staging layer
Blackbaud’s API returned only partial data, so extraction ran against a restored copy of the database and live production. Migration code on EC2 normalized records into Postgres, then loaded them through crosswalk mapping.


The Build: Custom objects for fund accounting
HubSpot ships no fund accounting model, so two custom objects supply one. Designation carries the fund, campaign and GL string. Designation Allocation holds one row per fund per gift. WHI's finance team mapped the GL structure with Lake One across the migrated history, so the chain resolves backward as well as forward. The native Fundraise Up connector brings online gifts in; workflows map its designations onto WHI's hierarchy so online and keyed gifts produce identical allocation records.
What we built.
- UI ExtensionGift Entry
Handles batch keying.
- UI EtensionDeposit Entry
Reconciles a deposit in one screen.
- UI ExtensionReceipt Manager
Issues, reissues and logs receipts.
- AWS LambdaGL Export
Builds the Acumatica import-ready journal file when finance closes a deposit
- AWS LambdaReceipt Generation
Writes the PDF file into HubSpot's file system
- AWS LamdaGiving Calculations
Runs windowed pulls nightly plus a monthly full scan.
The Build: UI Extensions and Serverless functions
Batch gift entry, deposit reconciliation and receipt reissue are daily nonprofit work with no native HubSpot equivalent. Each became a UI extension living on the record.
Three Lambda functions sit behind them. GL Export fires when finance closes a deposit, receipt generation writes the PDF into HubSpot, and the giving calculator writes those totals back.
Native roll-ups cannot filter by time window across pipelines and credit labels, so that calculator pulls gifts and their credit associations and writes last gift date and 12- and 18-month totals back onto every contact.

The Build: Receipt logic across six gift types
Six gift types each route to the correct template and recipient automatically, by payment type, credit treatment, and whether the donor is a person or organization.


“What Lake One built on top of the migration, the gift processing workflows, the GL export, the receipt automation, these aren’t workarounds. They’re purpose-built solutions that fit how we actually operate and what we need as a multi-program and multi-country non-profit.”
What took the CFO and IT every month is now a triggered process the CFO can hand to anyone in finance.
Every 2026 gift has been entered in HubSpot since the January cutover. Through Q3, $2.9 million collected and $2.6 million in open pledges, each allocated to a designation and a GL string.
Annual software spend fell from $220,000 across three platforms to $35,000 for HubSpot, roughly $185,000 a year back to mission.
One campaign bounced 11,997 of 22,000 records. Donor email now runs at 0.99% hard bounce and 98.58% delivery across 52,567 sends.
Receipts generate and route automatically across all gift types and credit treatments.
Within 90 days of launch the Advancement team independently built more than 130 segments, workflows and engagement plans.
Five manual steps between Fundraise Up and the CRM eliminated.

“Moving to HubSpot pushed us to take a hard, honest look at how we work, which was harder than moving the data. We're better for it. Now we have a system that will grow with us, and our team can put more of its energy where it belongs: serving people and our mission of bringing hope in hard places.”
Lake One used Claude Code to accelerate development of the coded workflow actions, particularly multi-object traversals.
The architecture itself is the AI readiness work. A governed designation hierarchy and a clean object model make the data usable as context.
In July 2026 WHI's Advancement team deployed a Breeze AI agent to identify and assign primary contacts across hundreds of church and organizational records, combining list data with web research and writing results directly into HubSpot. The alternative was manual lookup, one record at a time. The team also uses Claude to pull donor history and work through segmentation logic as they build out reporting.
The roadmap runs toward donor engagement scoring, predictive segmentation and AI-assisted portfolio prioritization for major gift officers. All of it depends on data quality, and residual Blackbaud debt still affects reliability. That is the case for the architecture, not against it.