Setting up an integration

Last updated: April 30, 2026

Setting up an integration

WeGive's integrations connect your dashboard to your CRM and other tools so donors, donations, campaigns, and funds stay in sync. This guide walks through what's available, how to connect each one, and what to check when something doesn't look right.

What integrations does WeGive support?

WeGive currently supports two-way (or one-way) sync with the following CRMs:

  • Salesforce (including NPSP)

  • Bloomerang

  • Neon

  • DonorPerfect

  • Planning Center

  • Virtuous

  • Raiser's Edge

  • HubSpot

  • Church Community Builder (CCB)

  • DocuSign

  • Zapier (for connecting WeGive to thousands of other tools)

Each integration has its own setup screen because each CRM authenticates differently and exposes different objects (donors, transactions, funds, campaigns, etc.).

Before you start

A few things to confirm before connecting any integration:

  • You're a dashboard user with permission to edit organization settings.

  • You're connecting environments that match. WeGive Sandbox can only connect to your CRM's sandbox; WeGive Production can only connect to your CRM's production. Mismatched environments will fail at the connection-test step.

  • You have your CRM credentials or API key ready (details for each integration below).

  • A team member is available to test with a sample record once the integration is connected.

How to find the integrations area

  1. Open your WeGive dashboard.

  2. In the left sidebar, click Data.

  3. Click Integrations.

You'll see a list of available integrations. Click the one you want to set up, then click Create (or Connect Integration for OAuth-based integrations).

Step-by-step setup by integration

Salesforce

Salesforce setup uses a Connected App in your Salesforce org plus a system admin login.

  1. In Salesforce, create a Connected App and copy the Consumer Key and Consumer Secret.

  2. In WeGive, go to Data → Integrations → Salesforce.

  3. Paste the Consumer Key into Client ID and Consumer Secret into Client Secret.

  4. Enter the Username and Password for a Salesforce system admin account dedicated to the integration.

  5. Click Test Connection. If it succeeds, the integration is connected.

  6. Configure sync preferences: pull/push toggles for donors, households, companies, campaigns, funds, transactions, and pledges.

  7. Set your Stage Name mappings (e.g., Closed Won for successful donations, your refund stage, your failed-payment stage).

  8. Save and run an initial sync.

A quick note on environments: if your WeGive account is marked [TEST], you must connect to a Salesforce sandbox. Production WeGive accounts must connect to production Salesforce. The connection test will fail otherwise.

Bloomerang

Bloomerang uses an API key and a default fund.

  1. In Bloomerang, go to Settings → API Keys and generate an API key.

  2. In Bloomerang, go to Settings → Custom Data → Funds and copy the ID of the fund you want WeGive to use as the default.

  3. In WeGive, go to Data → Integrations → Bloomerang.

  4. Paste the API Key.

  5. Paste the Default Fund ID.

  6. Choose your sync preferences (push donors, pull donors, push funds, pull funds, push transactions, pull transactions).

  7. Save and run an initial sync. You can choose Sync all or Sync since last update if you've synced before.

The default fund is required. Bloomerang requires every transaction to have a fund ID, so if this is missing or wrong, transactions will not sync.

Neon

Neon uses an Org ID plus an API key.

  1. In Neon, go to Settings → Integrations → API Keys.

  2. Copy your Org ID and generate an API Key.

  3. In WeGive, go to Data → Integrations → Neon.

  4. Paste the Neon ID and Neon API Key.

  5. Toggle the integration on and choose your sync preferences: two-way sync, CRM sync, track donors, track campaigns.

  6. Save and run an initial sync.

If you're in WeGive Sandbox, use your Neon Sandbox ID and key. If you're in WeGive Production, use your Neon Production ID and key. If you don't have sandbox credentials, your Neon Account Manager can issue them.

Planning Center

Planning Center uses OAuth — no keys to copy.

  1. In WeGive, go to Data → Integrations → Planning Center.

  2. Click Connect Integration.

  3. You'll be redirected to Planning Center to log in and authorize WeGive.

  4. After you approve, you'll be returned to the integration settings page.

  5. Configure sync preferences and save.

HubSpot

HubSpot uses OAuth and has the most granular field-mapping options.

  1. In WeGive, go to Data → Integrations → HubSpot.

  2. Click Connect Integration and authorize WeGive in the HubSpot popup.

  3. After connecting, configure mapping for each object: Contacts, Companies, Households, Payments, Recurring Plans.

  4. For each object, you can map WeGive fields to HubSpot properties and choose direction (import, export, or both).

  5. Save and run an initial sync.

Virtuous, Raiser's Edge, DonorPerfect, CCB, DocuSign

These integrations follow the same pattern as the others: navigate to Data → Integrations, choose the integration, enter the credentials it asks for (typically API key or OAuth), test the connection, and configure sync preferences. Specific credentials each one requires:

  • Virtuous: API key from your Virtuous admin.

  • Raiser's Edge: OAuth via Blackbaud.

  • DonorPerfect: API key.

  • CCB: API username and password.

  • DocuSign: OAuth.

Zapier

Zapier connects WeGive to 6,000+ other apps. There is no in-dashboard setup screen — you connect WeGive from the Zapier side.

  1. In Zapier, search for WeGive in the app directory.

  2. Create a new Zap and choose WeGive as your trigger or action app.

  3. When prompted, sign into your WeGive account to authorize the connection.

Configure field mappings

Once an integration is connected, you can set up custom field mappings under the integration's settings page. Mappings let you:

  • Map a WeGive field (e.g., donor.first_name) to a CRM field.

  • Choose direction: import only, export only, or both.

  • Set a literal value (e.g., always send Source = WeGive to your CRM).

  • Decide whether the field updates on creation only, or every time the record syncs.

Custom field mappings are organized by object type — donors, households, companies, campaigns, funds, transactions, recurring plans, and pledges — depending on which integration you're using.

How sync works once you're connected

  • Pulling from your CRM: WeGive pulls updates from your CRM every 15 minutes.

  • Pushing to your CRM: WeGive pushes updates in near real time, with a short buffer (about 5 minutes) to batch related changes.

  • Initial sync: When you first connect, you can choose to sync everything historical or only changes going forward.

Troubleshooting

"Please configure your Consumer Key first" (Salesforce)

You started the OAuth flow before saving your Salesforce Consumer Key (Client ID). Save the Client ID and Client Secret first, then click Test Connection or Connect.

Connection test fails for Salesforce

Almost always one of these:

  • WeGive account environment doesn't match Salesforce environment. Test accounts go with Salesforce sandbox; production goes with Salesforce production.

  • The Connected App in Salesforce isn't fully configured (missing OAuth scopes, wrong callback URL).

  • The integration user's Salesforce password has expired or requires a security token.

Neon API key doesn't work

  • You're using a Neon Production key in WeGive Sandbox (or vice versa). Switch to the matching environment's key.

  • The Neon ID and API key got swapped. Both values come from Neon, but they're different — the ID is shorter, the key is longer.

  • The key was regenerated in Neon. Generate a new one and paste it in.

Bloomerang transactions aren't syncing

Check that the Default Fund ID is filled in and is a valid Bloomerang fund. Without it, every transaction sync will fail. After fixing the fund ID, head to Data → Integration Locks and clear any locked records so they retry.

OAuth redirect failed (Planning Center, HubSpot, DocuSign, Raiser's Edge)

  • Make sure you allowed pop-ups for the WeGive dashboard.

  • If the popup closed before completing, click Connect Integration again.

  • If the redirect URL in your CRM's app settings doesn't match WeGive's callback, the CRM admin needs to update it.

A record won't sync after several attempts

If a single record fails to sync three times, WeGive moves it to Integration Locks to prevent infinite retries. Find it under Data → Integration Locks, read the error message, fix the issue (missing field, validation rule, permission), and unlock the record to let it retry.

Common error messages from your CRM

  • REQUIRED_FIELD_MISSING — A required CRM field is empty. Check your field mappings and make sure WeGive is sending a value, or set a literal default.

  • DUPLICATE_VALUE — The CRM already has this record. Usually a deduplication setting issue in your CRM.

  • FIELD_CUSTOM_VALIDATION_EXCEPTION — Your CRM has a validation rule blocking the record. Either adjust the validation rule or change what WeGive sends.

  • INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY — The integration user doesn't have permission to that object or field. Update the user's profile/permission set.

  • "No such column" or "invalid field" (Salesforce) — The field exists but is hidden by field-level security from the integration user. Update Field-Level Security in Salesforce to grant access.

Where to look first when something's wrong

Go to Data → Integration Logs. You'll see two streams:

  • Pull logs — when WeGive pulled data from your CRM.

  • Push logs — when WeGive sent data to your CRM.

Each entry includes the payload, timestamps, and the exact error message returned by your CRM. Most issues can be diagnosed in under a minute from the integration logs.

Best practices

  • Test in sandbox first whenever possible.

  • Don't disconnect and reconnect an integration to "reset" it — this can create duplicate records. If you're stuck, reach out to support before disconnecting.

  • After changing field mappings, run a small test sync on a single record before re-running historical sync.

  • Review Integration Logs weekly during the first month of a new integration to catch validation rules or field-level permission issues early.

Need help?

If you've checked Integration Logs and Integration Locks and you're still stuck, reach out to WeGive Support with the integration name, the time the issue happened, and a screenshot of the error message from the logs. We'll take it from there.