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

# Configuration Options

> Settings, sync toggles, filters, and status mapping for the WeGive Salesforce Nonprofit Cloud integration

All configuration lives under **Settings > Integrations > Salesforce Nonprofit Cloud** in the WeGive dashboard.

## Connection settings

| Setting | Default | Description |
| - | - | - |
| Enable Integration | Off | Master switch. When off, no sync runs in either direction. |
| Salesforce Login URL | | Your org's My Domain URL, for example `https://yourorg.my.salesforce.com/`. |
| Instance URL | Discovered | Set from Salesforce during authorization. |
| API version | 59.0 | Salesforce REST API version. WeGive lists the versions your org supports; newer versions expose additional gateway fields on `GiftTransaction` and `GiftRefund`. |
| Pull frequency | 15 minutes | How often the scheduled pull runs. Pushes to Salesforce run within about 5 minutes of a change in WeGive. |

## Record types

| Setting | Description |
| - | - |
| Person Account record type | Discovered at connect time. Individual supporters are pulled and pushed with this record type. |
| Organization record type | Discovered at connect time. Companies use this record type. |
| Household record type | Discovered if present. Leave empty to disable household sync. |
| Hidden record types | Account record types to exclude from supporter and company pulls. |

These are Salesforce record type IDs, not names, and they are discovered automatically when you authorize. Record types are stamped on create only. Changing a record type in Salesforce after the record exists is never overwritten by WeGive.

## Sync toggles

Every synced object has independent pull and push toggles, and most have a pull-deleted toggle that soft-deletes the WeGive record when the Salesforce record is deleted.

| Object | Push | Pull | Pull deleted |
| - | - | - | - |
| Supporters (Person Accounts) | Yes | Yes | Yes |
| Companies (Organization Accounts) | **No — toggle has no effect** (known issue) | Yes | Yes |
| Households | **No — toggle has no effect** (known issue) | Yes | Yes |
| Campaigns | Yes | Yes | Yes |
| Funds (`GiftDesignation`) | Yes | Yes | Yes |
| Transactions (`GiftTransaction`) | Yes | Yes | Yes |
| Recurring plans (`GiftCommitment`) | Yes | Yes | Yes |
| Pledges (`GiftCommitment`) | Yes | Yes | Yes |
| Soft credits | Yes | Yes | Yes |
| Campaign supporters | Yes | Yes | Yes |
| Refunds | Yes | Yes | Yes |
| Merges | | Yes | |

<Warning>
  The dashboard still shows **Push** toggles for Companies and Households, but enabling them does nothing — WeGive has no code path that pushes a company or household record to NPC. New and updated companies/households in WeGive never appear in Salesforce; the reverse direction (Salesforce → WeGive) works normally. This is a known issue.
</Warning>

## Sync behavior

| Setting | Default | Description |
| - | - | - |
| Contacts with emails only | Off | Skip Person Accounts that have no `PersonEmail`. |
| Sync all recurring donations | On | When off, only `GiftCommitment` records with Active status are pulled. |
| Send processing ACH as success | Off | Push WeGive ACH transactions that are still processing as Paid. When off, they push as pending until the bank settles. |
| Fund allocations | Off | When on, designation splits sync as separate fund allocation rows. When off, the primary designation maps to the transaction's single fund. |
| Login contact roles | All roles | `AccountContactRelation` roles that grant a supporter a login on the related company in WeGive. Seeded from your org's role picklist at connect time. |

## Pull filters

Filters scope the pull to a subset of records. Each is seeded with every active picklist value at connect time; remove values to exclude them.

| Setting | Applies to | Values seeded on a standard NPC org |
| - | - | - |
| Pull gift types | `GiftTransaction.GiftType` | Individual, Organizational |
| Pull payment methods | `GiftTransaction.PaymentMethod` | Unknown, Check, Credit Card, ACH, Cash, In-Kind, Stock, Asset, Cryptocurrency, PayPal, Venmo |
| Pull transaction statuses | `GiftTransaction.Status` | Unpaid, Paid, Failed, Fully Refunded, Written-Off, Cancelled, Pending |
| Pull commitment statuses | `GiftCommitment.Status` | Active, Closed, Lapsed, Failing, Paused, Draft |

The seeded lists reflect your org's picklists at connect time, so an org with custom picklist values sees those values too. A record whose value is not in the list is skipped on pull, so if a category of gifts is missing from WeGive, check these filters first. An empty list applies no filter for that field.

## Status mapping

WeGive maps NPC statuses to its own transaction and recurring plan statuses. If your org has customized the `GiftTransaction.Status` or `GiftCommitment.Status` picklists, override the defaults here.

| Setting | Controls | Default |
| - | - | - |
| Success status | NPC value written for successful transactions, and for processing ACH when **Send processing ACH as success** is on | Paid |
| Pending status | NPC value written for pending and processing transactions, and for any status without its own setting | Pending |
| Failed status | NPC value written for failed transactions | Failed |

<Warning>
  Cancelled and refunded transactions are **not** covered by a dashboard setting — WeGive always writes `Written-Off` for a cancelled transaction and `Fully Refunded` for a fully-refunded one, hardcoded in the integration. A partially-refunded transaction is kept at whatever the Success status is set to (`Paid` by default) rather than switching to a separate value, since NPC itself only exposes a boolean partial-refund flag, not a distinct status. If your org's `GiftTransaction.Status` picklist doesn't have `Written-Off` or `Fully Refunded` values, the push for that transaction fails — add those exact values to your picklist rather than expecting WeGive to use a substitute.
</Warning>

## Payment method labels

**Card payment method** and **Bank payment method** set the `GiftTransaction.PaymentMethod` value WeGive writes for card and bank charges. Defaults are `Credit Card` and `ACH`. Change them only if your org's PaymentMethod picklist uses different values; a value that is not in the picklist is rejected by Salesforce and the push fails.

## Monitoring

**Settings > Integrations > Integration Logs** records every push and pull with its outcome and the Salesforce error message when one fails. **Settings > Integrations > Integration Locks** lists records that failed repeatedly and are held from further attempts until unlocked; unlock a record there after fixing the underlying cause. The **Sync** button on the Connection tab runs a pull immediately for every enabled object.

## Custom field mapping

Default field mappings appear under **Mapping Rules** in the integration settings, where you can view defaults, add custom field mappings, set direction (import, export, or both), and mark fields create-only. WeGive does not create fields in Salesforce; create the custom field first, then map to it. See [Data Mapping Overview](/external/onboarding/npc/data-mapping/overview).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.