Introduction to the WeGive + Salesforce NPSP Integration
Last updated: May 7, 2026
The WeGive Salesforce NPSP integration connects your donor experience platform to Salesforce's Nonprofit Success Pack, giving your team a single source of truth across fundraising, marketing, and donor services. This article explains what syncs, how it's organized, and what to expect before you get started.
What the Integration Does
WeGive and Salesforce sync bidirectionally on a near-real-time basis. Changes made in WeGive push to Salesforce within approximately 5 minutes. Changes made in Salesforce are pulled into WeGive every 15 minutes.
The integration is built around Salesforce's standard NPSP objects. WeGive syncs to the same objects your team already uses — Contacts, Accounts, Opportunities, Payments, Campaigns, Recurring Donations, GAUs, and Allocations — so there is no need to restructure your Salesforce data model.
Standard NPSP Objects
These objects sync out of the box with no custom configuration required:
WeGive | Salesforce NPSP | Notes |
Supporter (Individual) | Contact | Matched on email address |
Household | Account (Household Account) | Auto-created by NPSP when a Contact is created |
Supporter (Company) | Account (Organization) | Always creates a new Account — no matching logic |
Campaign | Campaign | Bidirectional |
Donation / Transaction | Opportunity + npe01__OppPayment__c | WeGive syncs on the Payment level |
Recurring Plan | npe03__Recurring_Donation__c | Bidirectional |
Designation | npsp__General_Accounting_Unit__c (GAU) | Bidirectional |
Fund Allocation | npsp__Allocation__c | Syncs per donation when fund allocations are enabled |
Soft Credit | npsp__Account_Soft_Credit__c / npsp__Partial_Soft_Credit__c | Synced by WeGive |
Custom Objects (via WeGive Managed Package)
For data that has no standard home in NPSP, WeGive provides custom objects through its managed package. These are optional but recommended for organizations that want full sync coverage:
WeGive | Salesforce Custom Object |
Pledge | wegive__Pledge__c |
Payout | wegive__Payout__c |
Communication List | wegive__Communication_List__c |
Communication Preference | wegive__Communication_Preference__c |
Event | wegive__Event__c |
Event Registration | wegive__Event_Registration__c |
Fundraiser | wegive__Fundraiser__c |
These objects are installed as part of the WeGive managed package. See [Installing the WeGive Salesforce Managed Package] for instructions.
Sync Timing
WeGive → Salesforce: Data pushed within ~5 minutes of a change in WeGive.
Salesforce → WeGive: Data pulled every ~15 minutes.
Manual syncs can be triggered at any time from Integrations → Salesforce in the WeGive dashboard.
Key Things to Know Before Setup
The integration syncs on Payments, not Opportunities. WeGive creates an Opportunity and a Payment (npe01__OppPayment__c) for each donation. The Payment record is the unit of sync — the integration will not function correctly unless NPSP Payments are enabled in your Salesforce org.
Contacts are matched by email. When a new individual donor syncs from WeGive, the integration searches Salesforce for a Contact with a matching email address. If found, it updates that Contact. If not found, it creates a new Contact and NPSP auto-creates a Household Account. See [How New Supporters Sync to Salesforce NPSP] for full matching logic.
Three NPSP trigger handlers must be configured. To prevent NPSP's built-in automations from conflicting with WeGive's data, three TDTM trigger handlers must be configured to exclude the WeGive integration user. This is a required step for all NPSP orgs. See [Required Exclusions].
Both environments must match. You cannot connect a WeGive production account to a Salesforce sandbox, or vice versa. Sandbox connects to sandbox; production connects to production.
State/country picklists require special mapping. If your Salesforce org has State and Country Picklists enabled, you need to configure specific mapping rules for address fields. The default mappings will not work correctly. See [Configuring Salesforce State and Country Picklist Mappings in WeGive].