Minneapolis, Minnesota HubSpot for Nonprofits and Purpose-Driven Business Established 2014
Case Study

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.

NonprofitHealth & Human ServicesBlackbaud Migration
celine-ly-nlgj2Y1dT6w-unsplash 2
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
Impact
> 1M Records Migrated While also building CRM customizations
98.1% Hard Bound Rate Decrease On Donor Email 0.99%, down from 54%
130+ Built by their team segments,workflows, and donor engagement plans, within 90 days of go live.
$185,000 Annually back to the mission 84% reduction in annual software spend
Challenge

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.

11,997Bounced Donor Emails
4Different Payment Systems
2,437 Unique Designations & GL Codes

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.

Strategy

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. 

Sequenced around the fundraising calendar
  • 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.

Solution

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.

whi-1
Fig. 1 The target architecture. Gold and spruce are what HubSpot does not ship with.
whi-2
FIg 2. The APIs, auth and tooling behind the project.

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.

 

Screenshot 2026-10-09 at 5.04.59 PM
Clip Clip 1 Gift Entry: batch keyind gifts.

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.

Screenshot 2026-10-09 at 5.05.17 PM
Clip Clip 2 Deposit Entry: a deposit reconciliation.

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.

whi-4
FIg 3. Calculated giving properties on a donor record. Not real data, demonstrative.

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.

whi-3
Fig. FIg 4. Receipt template routing. Each gift type carries its own template and credit treatment.
whi-5
Fig. Fig 5. Receipt manager on a gift record.
“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.”
Nikhil ManiDirector of Technology, World Hope International
Impact

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.

Screenshot 2026-10-09 at 4.55.44 PM
“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.”
Jenn PetersenPresident & CEO, World Hope International
AI Usage

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.