Skip to main content
Salesforce Object: wegive__Fundraiser__c (custom object)
WeGive Model: CampaignFundraiser

Overview

This document describes how peer-to-peer fundraiser data syncs from WeGive to Salesforce. Campaign Fundraisers are individual fundraising pages created by supporters to raise money on behalf of a campaign.
This feature requires the WeGive managed package to be installed in Salesforce, which includes the custom wegive__Fundraiser__c object.

How Campaign Fundraiser Data Syncs

Direction

  • Export to Salesforce only. Fundraisers created or edited in Salesforce are not imported into WeGive.

Mapping Types

  • Hard-coded - Built into the integration logic. There are no mapping rules for this object.
WeGive custom fields on a fundraiser are NOT included in the push, unlike most other synced objects (Contacts, Campaigns, Recurring Donations, and Pledges all merge getCustomFieldsValues() into their Salesforce payload — Fundraisers don’t). compileCampaignFundraiserPayload() returns a flat, fixed set of fields with no custom-field merge step anywhere in the push path. This is a known issue.

Sync Configuration

  • Push campaign fundraisers - Enables the export of WeGive fundraisers to Salesforce

Sync Triggers

Fundraiser data is exported from WeGive to Salesforce when:
  • Fundraiser Created: A new fundraising page is created in WeGive
  • Fundraiser Updated: An existing fundraising page is modified in WeGive
The export happens automatically after the create or update action.

Field Mappings

The fundraiser’s name is not included in the payload. The Salesforce record’s Name is managed in Salesforce. Unlike Contact/Campaign/Recurring Donation/Pledge, there is no row for WeGive custom fields here — see the Warning above.

Matching & Create/Update Logic

  • If the WeGive fundraiser has a salesforce_id: the integration UPDATES the existing record
  • If not: it CREATES a new record and stores the returned ID (a lock prevents concurrent pushes from creating duplicates)
Fundraisers are matched only by Salesforce ID.

Important Notes

  • Donations reference fundraisers. When a donation is imported from Salesforce with a mapped fundraiser Salesforce ID, WeGive links the transaction to the fundraiser with that salesforce_id. This is the only inbound use of fundraiser data.
  • Deletion. Deleting a fundraiser in WeGive does not delete or flag the Salesforce record.
  • Multi-entity orgs. The fundraiser object has no entity field; wegive__WeGive_Id__c is omitted from the payload in multi-entity orgs.

Troubleshooting

Fundraiser not syncing:
  • Verify the managed package is installed and the Push campaign fundraisers toggle is enabled
  • Check that the fundraiser was created or modified in WeGive
Changes in Salesforce not appearing in WeGive:
  • Expected; the sync is one-directional from WeGive
Description cut off:
  • The description is truncated to 255 characters on export; the full text remains in WeGive

Verified against the integration source, September 2026.