Skip to content

713 Hours Saved in 2 Weeks: How Robin Hood Foundation Cleaned a Decade of Duplicates

  • Salesforce
  • Deduplication
  • Automation
The system is only as good as the data that is in our system.
identified across 220,000+ Salesforce contact and account records
2,600duplicate pairs
of duplicate pairs merged within a two-week cleanup, about 1,427 contacts
54.9%
saved during the two-week legacy data cleanup
713hours

Robin Hood Foundation distributes $150-170 million in grants a year to fight poverty in New York City. Every contact record in its Salesforce org represents a real person: a donor funding affordable housing, a grantee running a job-training program, a program officer coordinating time-sensitive outreach to families in need.

After more than 10 years in Salesforce and 220,000+ contact and account records, the foundation had a problem manual processes couldn't fix: duplicates everywhere. Staff had created thousands of duplicate contacts over the years, donor data was scattered across records, and there was no reliable way to check whether an email address would actually deliver. Salesforce's native tools, including the enhanced duplicate management package, couldn't scale to the size of the problem.

Robin Hood brought in Plauti, running natively inside Salesforce with no separate app to log into and no external connection to maintain. In two weeks, the team cleaned up a decade of duplicate records, built duplicate prevention into every point where a contact gets created, and put itself in a position to trust its data for AI-powered donor intelligence.

Here's how they did it.

Meet Hao Lyu: Director of Business Intelligence

Hao Lyu leads the Business Intelligence team at Robin Hood Foundation and manages its entire Salesforce instance. He builds the automations, designs the flows, and makes sure every process, from donor management to grant tracking, runs on data his team can trust.

His philosophy is direct: "The system is only as good as the data that is in our system. No matter how advanced or how automated you design your system, if the data is not good, it's meaningless."

For Hao, data quality isn't a one-time cleanup project. It's an ongoing system.

The Challenge: A Decade of Duplicates and No Scalable Way to Fix Them

Over 10+ years, Robin Hood's Salesforce database grew to more than 220,000 records. That growth reflected the foundation's impact, but it also created problems that manual processes couldn't solve.

Duplicate Records Piled Up Across the Database

Manual contact creation was the cause. Staff across development, program teams, and operations created new contacts as part of their daily work. Sometimes they didn't realize a contact already existed. Sometimes a search didn't surface the right match. Sometimes it was just faster to create a new record than dig through old ones.

The results:

  • Thousands of duplicate pairs scattered across the database
  • Staff unsure which record was the real one
  • Time lost double-checking, verifying, and manually merging records
  • A general mistrust of what Salesforce showed on screen

Robin Hood works with high-profile donors and time-sensitive grantee outreach, so the team couldn't auto-merge everything blindly. Every merge decision mattered.

Email Validation Was Manual Guesswork

Robin Hood's development team and program officers depend on accurate email and phone data for mission-critical outreach:

  • Donor receipts and solicitations: high-stakes, high-touch communications
  • Time-sensitive grantee follow-ups: program officers reaching nonprofits they fund
  • Occasional donor calls: personal relationship management

But there was no built-in way to check whether an email address was deliverable or a phone number was correct. Staff sent test emails and waited for bounces, verified contact info with outside tools, and cross-checked records before every major outreach campaign. It was slow, repetitive, and added risk to communications that couldn't afford to fail.

Why Robin Hood Chose Plauti

Hao and the Robin Hood team compared three options:

  1. Salesforce's native enhanced duplicate management package
  2. DemandTools, now part of Validity
  3. Plauti

Plauti won, for three reasons.

It Had to Run Natively Inside Salesforce

Robin Hood needed a tool that lived inside Salesforce: no separate login, no external desktop app to install, no fragile API connection that could break.

"We've been looking for a solution that's native in Salesforce. We don't want a separate application. Something that's native on the platform allows us to configure directly within our environment and tie it to other processes and automations, without having to log into another application." — Hao Lyu, Director of Business Intelligence, Robin Hood Foundation

That mattered because it meant:

  • No context switching: staff stay in Salesforce, so there's no adoption friction
  • Duplicate prevention embeds directly into existing Flows
  • Admins configure it using Flow, page layouts, and permissions they already know
  • No API limits, sync delays, or downtime from a third-party outage
  • It scales with Salesforce as Robin Hood grows, with no separate migration

Auto-Merge for Easy Cases, Manual Review for Sensitive Ones

The team needed automated merging for obvious duplicates, but manual review for sensitive, high-profile donor records. Plauti gave them both: auto-merge rules for high-confidence matches, and a manual merge screen for the judgment calls.

"Manually merging using Plauti is just way easier, because you can open up more than three records at the same time, and you get to pick whichever, and then you can even override the information on the very left-hand side. It's a more direct way of merging records." — Hao Lyu, Director of Business Intelligence, Robin Hood Foundation

Salesforce's native merge tool caps out at three records. Plauti let the team open multiple duplicate records at once, compare them side by side, and choose exactly which fields to keep, overriding the default selection where needed.

The Best Value for a Mission-Driven Budget

For a nonprofit, every dollar spent on tools is a dollar not spent on the mission. Robin Hood chose Plauti because it delivered the best price-to-capability ratio of the three options it evaluated.

The Solution: Cleaning a Decade of Duplicates, Then Preventing the Next One

Phase 1: Two Weeks to Clean Up the Legacy Database

Robin Hood had just finished a contact management overhaul that reduced its record types and streamlined its contact structure. With that in place, the team ran a Plauti dedupe job against the full database.

The results after two weeks:

Metric Result
Duplicate pairs identified ~2,600 pairs
Match confidence 95%+ match score on nearly all pairs
Merged in 2 weeks 54.9% (~1,427 contacts)
Manual review High-profile donor records review individually

Phase 2: Catching Duplicates in Salesforce Flow, in Real Time

Robin Hood didn't stop at cleanup. The bigger change was catching duplicates before they happened, by embedding Plauti directly into the custom contact-creation Flow.

Here's how it works:

  1. A user starts creating a new contact through the custom Flow, not the standard "New" button
  2. Before the record saves, Plauti checks for potential duplicates
  3. If it finds a match, the user sees a real-time warning at the top of the screen
  4. The user is directed to the existing record instead of creating a new one

"A lot of the dupes were actually introduced during the manual creation process. We've embedded Plauti into the flow so that before folks save a record, it checks whether there are potential dupes. Instead of creating a new one, they can just be directed to the actual record." — Hao Lyu, Director of Business Intelligence, Robin Hood Foundation

Robin Hood built a custom Flow because its contact and account objects carry so many fields that the standard Salesforce form is overwhelming. The custom Flow asks for only the essential information and runs the duplicate check before the save, so duplicates are caught before they reach the database. Contact creation is faster, and staff no longer create records that just get merged away later.

Phase 3: Email Validation Built Into the Page Layout

Robin Hood added validation indicators directly to its contact page layouts, so staff see data quality at a glance: a green checkmark for a valid email, a red warning for one that's invalid or risky, a phone validation status, and a warning if a potential duplicate exists. That removed the need for manual verification, test emails, and follow-up work, which mattered most for time-sensitive donor solicitations and grantee outreach.

Results: Confidence, Clarity, and a Foundation for the Future

Before Plauti After Plauti (2 weeks)
~2,600 duplicate contact pairs 54.9% merged (~1,427 contacts)
Staff confusion: "Which is the right record" Once source of truth per contact
Manual merge: slow, painful, unsustainable Intuitive UI + auto-merge rules

Prevention Now Stops Duplicates Before They Start

The cleanup addressed the backlog. These guardrails address what comes next:

  • Duplicate prevention embedded in the custom contact-creation Flow
  • Real-time warnings before a record saves
  • Users directed to the existing record instead of creating a new one
  • Duplicate and validation status visible on the contact page layout
  • Plans to extend prevention to API integrations that push records in from external systems

Staff Confidence Changed Behavior

When staff trust the data they work with, they take ownership of it. Before Plauti, users were frustrated and second-guessing what they saw. Now they have a clearer picture: duplicate warnings point them to the right record, validation marks confirm the email is accurate, and they know they're looking at one source of truth.

"There's less confusion around looking at the records. It provides more clarity to our staff, knowing that they're absolutely looking at the right record." — Hao Lyu, Director of Business Intelligence, Robin Hood Foundation

Trust changed behavior. When users trust the data, they take ownership of its quality instead of leaving it to the admin team.

Clean Data as a Foundation for AI

For Hao, data quality isn't the end goal. It's the foundation for everything else Robin Hood wants to build:

  • AI-powered deduplication, a capability Hao is looking forward to using
  • A new contact type for government relations, to track lobbying and advocacy work
  • API integrations with external systems, with duplicate prevention built in from the start

"Data is the foundation for the success of deploying AI. Clean data as a prerequisite for AI deployment is a critical thing." — Hao Lyu, Director of Business Intelligence, Robin Hood Foundation

Robin Hood is using that clean, trusted data as the foundation for its next decade of work.

Looking Ahead: Data Quality as an Ongoing System

For Robin Hood, data quality isn't a one-time project. It's a cadence and a culture.

The Team's Ongoing Strategy

  • Annual summer cleanup: run a dedupe job once a year to catch edge cases
  • Real-time prevention: embedded in Flows and page layouts, active every day
  • New entry points: extending prevention to API integrations, external systems, and new contact types like government relations
  • AI-powered deduplication: next on the roadmap

"We do a summer cleanup every year. We have a cadence in terms of running the jobs, making sure that we merge the contacts manually or intelligently with the auto-merge. Ultimately, we want to be able to capture potential dupes in every entry point of contact being created." — Hao Lyu, Director of Business Intelligence, Robin Hood Foundation

That annual rhythm, plus prevention that runs every day, is how Robin Hood keeps a quarter-million records trustworthy as its database keeps growing.

Hungry for more?

Frequently asked questions

How many duplicate Salesforce records did Robin Hood Foundation have?

Robin Hood Foundation's Salesforce database held more than 220,000 contact and account records after over a decade on the platform. A cleanup project identified about 2,600 duplicate pairs, with match confidence above 95% on nearly all of them, and the team merged 54.9% of those pairs, about 1,427 contacts, within two weeks.

How does Robin Hood Foundation prevent new duplicate contacts in Salesforce?

Robin Hood built its own contact-creation Flow instead of using Salesforce's standard New button. Before a record saves, Plauti checks for potential duplicates and, if it finds a match, shows the user a real-time warning that directs them to the existing record instead of creating a new one.

Why did Robin Hood Foundation choose Plauti over Salesforce's native duplicate management or DemandTools?

Robin Hood needed a tool that ran natively inside Salesforce with no separate login or external connection to maintain. Plauti also let staff open more than the three records Salesforce's native merge tool allows, compare them side by side, and override field selections during a merge, at what the team judged to be the best price-to-capability ratio of the three options it evaluated.

Ready to take control?

With a product tour you can walk through the product yourself without installing anything, or book a demo for a guided look.