Configuration Options

The WeGive Salesforce integration offers various configuration options to tailor how data is synchronized between the two platforms, supporting both data import from Salesforce and export to Salesforce.

Environment Settings

The integration automatically detects whether you are using a sandbox environment or a production environment. The base URL for sandbox is https://test.salesforce.com/ and for production is https://login.salesforce.com/. The connection will only be successful if both the WeGive and Salesforce instances are the same type (production or sandbox).

You must specify the instance URL, which is https://test.salesforce.com/ for sandbox and https://login.salesforce.com/ for production. Additionally, you need to input the Salesforce connected app’s Consumer Key (Client ID) and Consumer Secret (Client Secret), along with a Salesforce system administrator username and password into WeGive’s General Settings. For Salesforce instances created after Summer 2023, the OAuth username-password flow must be explicitly enabled.

Integration Flags

These flags allow you to enable or disable specific functionalities of the integration:

  • enabled: To enable/disable the entire integration.
  • contacts_with_emails_only: To sync only contacts that have email addresses. By default, WeGive is configured to only sync Contacts with emails, but this can be customized.
  • uses_payments: To utilize NPSP Payment objects in Salesforce instead of just Opportunities. WeGive primarily syncs based on Payments, not Opportunities.
  • push_pledges: To enable pledge synchronization. The Pledge integration in WeGive requires a corresponding Pledge_Plan__c custom object (or wegive__Pledge__c for some orgs) installed in Salesforce.
  • enable_fund_allocations: To enable fund allocation tracking.
  • is_legacy: To use legacy field mappings, which excludes newer NPSP fields.

Record Type Filtering

This allows you to filter transactions based on Salesforce record types:

  • service_revenue_record_types: An array of record types for non-tax-deductible transactions.
  • hidden_record_types: An array of record types for hidden transactions.

Stage Mappings

You can customize the mapping of transaction statuses (WeGive Status) to corresponding Salesforce Opportunity Stage Names:

  • stage_success: Salesforce stage for successful transactions (e.g., SUCCESS/PROCESSING in WeGive).
  • stage_pending: Salesforce stage for pending transactions.
  • stage_refunded: Salesforce stage for refunded transactions.
  • stage_failed: Salesforce stage for failed transactions.

Payment Method Names

You can define custom names for various payment methods:

  • card_payment_method_name: Custom name for credit card payments.
  • bank_payment_method_name: Custom name for bank/ACH payments.
  • paypal_payment_method_name: Custom name for PayPal payments.

Custom Field Mapping

Beyond these specific settings, the integration also allows for dynamic mapping of custom fields through the mapping rules system, enabling synchronization of WeGive’s custom fields to any custom field in Salesforce. Custom objects can also be mapped, though this currently requires a request as a dedicated UI for this is under development.

It is crucial that all mapped fields in Salesforce have the appropriate field-level permissions and are visible to the API to avoid synchronization errors.

Mapping Rules Management

The WeGive Salesforce integration is managed through the “Mapping Rules” section of the Salesforce integration settings in WeGive, where you can:

  • View default mappings
  • Customize field mappings
  • Configure data flow direction (Import/Export/Both)
  • Set “Create Only” options
  • Define “Literal Value” fields

Sync Timing

The integration operates on specific timing intervals:

  • Data from WeGive is pushed to Salesforce with a 5-minute delay
  • WeGive pulls data from Salesforce every 15 minutes

These intervals ensure efficient data synchronization while respecting API limits and maintaining system performance.