Implementing for the first time? The Sandbox-First Implementation Guide sequences every step from Sandbox through Production go-live, with a checkpoint at the end of each phase.
NPC is a paid Salesforce product. If your org runs the free NPSP package, use the Salesforce NPSP integration instead.
Salesforce org
No managed package
NPC does not require a WeGive managed package. All sync uses standard NPC objects through the REST API (plus Bulk API 2.0 forCampaignMember batch pushes specifically — see First sync order below). WeGive does not create custom fields on NPC objects; if you want a custom field synced, your Salesforce admin creates it first and it is then added to your mapping rules.
Integration user
Connect WeGive with a dedicated integration user rather than a personal admin login. The user needs:- The Fundraising Access permission set license
- The Fundraising User permission set
- Read and write access to
Account,Contact,Campaign,CampaignMember,GiftTransaction,GiftTransactionDesignation,GiftCommitment,GiftCommitmentSchedule,GiftDefaultDesignation,GiftDesignation,GiftSoftCredit,GiftRefund, andGiftTribute - API Enabled
- Permission to use Bulk API 2.0 (used for
CampaignMemberbatch push operations, not general historical imports — see First sync order below)
What WeGive discovers at connect time
After you authorize, WeGive reads your org and stores:- Person Account, Organization, and Household record type IDs
- The API versions your org supports
- Which optional
GiftTransactionfields and child relationships your schema exposes - Available
GiftType,PaymentMethod, andStatuspicklist values, used to seed the pull filters - Available
AccountContactRelationroles, used for login provisioning
Environments
WeGive Test dashboards connect to Salesforce Sandbox orgs and WeGive Live dashboards connect to Production. Tokens are stored per connection, so switching orgs means re-running the authorization. Settings and mappings do not carry over between Test and Live.First sync order
After you enable the integration, WeGive pulls objects in this order:- Households
- Person Accounts (individual supporters) and Organization Accounts (companies)
- Campaigns
GiftDesignationrecords (funds)GiftCommitmentrecords and their schedules (recurring plans)- Pledges (also
GiftCommitment, formal commitment type) GiftTransactionrecordsGiftRefundrecords- Campaign supporters (
CampaignMember) - Soft credits
This is the actual pull order WeGive runs, not a logical/dependency grouping — recurring plans and pledges are pulled before transactions, for example, not after. Every pulled object still links correctly regardless of order (a transaction referencing a not-yet-pulled recurring plan is resolved on a later pass), so this only matters if you’re watching sync progress and expect a different sequence.
nextRecordsUrl), not Bulk API 2.0 — see the note below. Expect minutes to hours for orgs with hundreds of thousands of transactions; progress appears in the integration log in the dashboard.
Next steps
- Sandbox-First Implementation Guide for the full sequence, or go directly to:
- External Client App and Connection Setup
- Configuration Options
- Data Mapping Overview