> ## Documentation Index
> Fetch the complete documentation index at: https://wegive.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration Options

> Detailed configuration options for the WeGive Salesforce integration

# 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.[**​**](https://wegive.com/docs/salesforce-npsp/configuration-options#environment-settings)

## 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.[**​**](https://wegive.com/docs/salesforce-npsp/configuration-options#record-type-filtering)

## 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.[**​**](https://wegive.com/docs/salesforce-npsp/configuration-options#payment-method-names)

## 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.
