Skip to content

Setup Requirements

Prerequisites

  • A Salesforce org with Nonprofit Cloud enabled (production or sandbox).
  • Person Accounts enabled on the org. WeGive discovers your PersonAccount record type ID automatically at connect time; without Person Accounts the donor sync will not work.
  • A Salesforce user with permission to:
    • Authorize OAuth connected apps
    • Read and write to Account, Contact, GiftTransaction, GiftCommitment, GiftDesignation, GiftSoftCredit, Pledge, GiftRefund, and Campaign
    • Use the Bulk API 2.0 (required for historical imports)

Connect the integration

  1. In the WeGive dashboard, go to Settings → Integrations → Salesforce Nonprofit Cloud and click Connect.

  2. Choose your environment:

    • Production — authenticates against login.salesforce.com
    • Sandbox — authenticates against test.salesforce.com
  3. You’ll be redirected to Salesforce. Sign in with a user who has the permissions above and approve the connected app.

  4. WeGive completes the OAuth handshake using PKCE (Proof Key for Code Exchange). The refresh token is stored encrypted; WeGive rotates the access token automatically every two hours.

  5. On the callback WeGive auto-discovers:

    • Your PersonAccount record type ID
    • Your Organization record type ID
    • Your Household record type ID (if any)
    • The available transaction filters and login contact roles
  6. Review the integration settings, set your pull frequency (default 15 minutes), and flip the Enabled toggle.

Sandbox vs production

A common implementation pattern is to connect WeGive to your Salesforce sandbox first, validate the field mappings against a representative dataset, and then re-connect to production. The integration record stores the OAuth tokens per environment — switching environments requires re-running the OAuth flow.

What WeGive needs in Salesforce

WeGive does not require a managed package install for NPC (unlike NPSP). All sync uses standard NPC objects and standard REST/Bulk APIs. If you need to map a WeGive field to a Salesforce custom field on one of the synced objects, support can add a custom mapping rule for your organization without a Salesforce deployment.

First sync

After enabling, WeGive begins importing in this order so dependencies resolve cleanly:

  1. Person Accounts and Organization Accounts (donors and companies)
  2. Households
  3. Campaigns and GiftDesignations
  4. GiftTransactions and their designation splits
  5. GiftCommitments and their schedules
  6. Soft credits, pledges, refunds

Initial imports of large orgs use Bulk API 2.0 with chunked CSV streaming. Expect minutes-to-hours for orgs with hundreds of thousands of transactions; the integration log on the dashboard shows progress.