> For the complete documentation index, see [llms.txt](https://solutions.fundraisingbox.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://solutions.fundraisingbox.com/platform-solutions-integrations/salesforce-nonprofit-cloud-npc/system-setup/setup-in-salesforce-npc.md).

# Setup in Salesforce NPC

## Required Technical Setup

{% hint style="info" %}
The final setup is always carried out by the FundraisingBox project team. The required information to establish the interface can be found at the bottom of the page. Please reach out to the FundraisingBox project team to schedule a project.
{% endhint %}

After successfully acquiring a Salesforce Nonprofit Cloud instance, the standard data model must be extended by installing the **FundraisingBox Nonprofit Cloud Managed Package**, which adds most of the connector-specific data structures.

The connector-specific data structure includes:

* complete objects with fields,
* additional fields within existing Salesforce standard objects,
* new values for existing standard fields.

More details to be found in [Mapping Architecture](/platform-solutions-integrations/salesforce-nonprofit-cloud-npc/mapping-architecture.md).

Most of these structural extensions are applied automatically during package installation. However, some configuration steps must be performed manually. These steps are outlined in the chapter "Required Manual Setup Steps" below.&#x20;

***

### Installation of the FundraisingBox Nonprofit Cloud Managed Package

The FundraisingBox Nonprofit Cloud Managed Package must be installed both in the Salesforce test instance and later in the production system.

#### **Installation steps**

1. Require the installation link for the FundraisingBox Nonprofit Cloud Managed Package via [Salesforce AppExchange](https://appexchange.salesforce.com/appxListingDetail?listingId=693c15d7-a996-48b6-93ed-fcf0ad5aeb11). The FundraisingBox Team will hand it out afterwards.&#x20;
2. Log in to the Salesforce instance where the package will be installed.
3. Install the package for all users.
4. Upon completion, the data structure is applied to the Salesforce instance.

The package installation will also automatically configure the API connection required for the connector to access the Salesforce instance.

{% hint style="warning" %}
Existing configurations in Salesforce are neither overwritten nor changed during installation. Only the elements required for the connector are added.
{% endhint %}

***

### Required Manual Setup Steps

{% stepper %}
{% step %}
**Configure our Additional Permission Set for Standard Salesforce Objects and Fields**

Salesforce users require access to the data structure via permission sets. Two of these permission sets are created automatically during package installation.

In addition, one further permission set must be configured manually, since it cannot be included in the package. A prepared set including documentation is available here:[Additional Permission Set for Salesforce Standard Objects & Fields](/additional-resources/additional-permission-set-for-salesforce-standard-objects-and-fields.md)

Before importing the Additional Permission Set, 'PersonAccounts' must be enabled in the Salesforce Setup under *Feature Settings > Sales > Accounts > Person Accounts.*

This provides access to Salesforce standard objects and fields required by the FundraisingBox Connector that are not covered by the other permission sets.
{% endstep %}

{% step %}
**Set Up Connector API User and Assign Permission Sets**

For the Connector to access to the Salesforce instance, a new API user is required:

* Username: e.g., `salesforce@fundraisingbox.com` (can be chosen freely)
* Profile: Minimum Access – API Only Integrations
* Permission Set License Assignments:
  * Fundraising Access
  * Salesforce API Integration

**Assign the following permission sets to the Connector API User:**

* 'FundraisingBox Connector' Permission Set (provided during package installation)
* 'Fundraising Access' Permission Set (provided by Salesforce, required for standard data structure access)
* 'FundraisingBox Connector Standard Objects & Fields' Permission Set (configured in step 1)

To allow the Connector to create and edit FundraisingBox campaigns as Salesforce campaigns, activate the 'Marketing User' checkbox in the user profile.
{% endstep %}

{% step %}
**Assign Permission Sets to Fundraising Service Users**

Users working in Salesforce must also be granted access to the entire data structure and transferred data:

* 'FundraisingBox Data User' Permission Set (installed with the package, assign to all service users)
* 'Fundraising Access' Permission Set (provided by Salesforce, assign to all service users)
  {% endstep %}

{% step %}
**Configure External Client App**

The installation package automatically creates an external client app. Assign the Connector API User to this app:

1. Navigate to: *Setup > Apps > External Client Apps > External Client App Manager*
2. Edit policies for the 'FundraisingBox' app
3. Expand *OAuth Policies*
4. Under 'OAuth Flows and External Client App Enhancements', enable '*Client Credentials Flow'*
5. Assign the Connector API User and save
   {% endstep %}

{% step %}
**Web Interface Access to Salesforce (optional)**

For the FundraisingBox project team, a dedicated support user in Salesforce can be created (preferably with admin rights).

* Username: `salesforce+ORGANIZATION@fundraisingbox.com`
* Configure the profile so that the password never expires.

This support user allows direct access to Salesforce’s web interface for troubleshooting (e.g., issues with data transfer). While not strictly required, it can be useful during the setup phase in the test instance. For production, the API-only user (from step 2) is usually sufficient.
{% endstep %}

{% step %}
**Adjust Existing Data Structure and Layouts**

1. **Add picklist values to the Salesforce standard fields in use**

To ensure smooth synchronization with FundraisingBox, some picklists for connector-relevant Salesforce standard fields need to be extended.

The affected fields and the values to be added are documented in our [Standard Mapping table](https://docs.google.com/spreadsheets/d/1XiC6p_Fx2sJOX0JYWi2MmafMirlJOPWbsnIP5MrVUVk/edit?gid=795485192#gid=795485192) (highlighted in blue).

**The following requirements should be observed:**

* The API names of the picklist values for the fields 'GiftTransaction.Status' and 'GiftCommitment.Status' must be in English. Otherwise, internal logic of the Nonprofit Cloud may not function correctly.
* For payment methods in the fields 'GiftTransaction.PaymentMethod', 'GiftCommitmentSchedule.PaymentMethod', and 'PaymentInstrument.Type', the API names should also be provided in English whenever possible. Deviating names are technically possible but must be configured separately by the FundraisingBox project team.

It is recommended to define the picklist values exactly as described in the Standard Mapping table to ensure error-free processing.

2. **Layout adjustments**

To ensure that data transferred via the connector is visible in the user interface, the relevant object layouts must be extended with the FundraisingBox custom fields.&#x20;

The corresponding fields are added, enabled, and positioned in the appropriate section of the user interface within the respective 'Page Layouts' in the Salesforce 'Object Manager'.

The affected fields are listed in the [Standard Mapping table](https://docs.google.com/spreadsheets/d/1XiC6p_Fx2sJOX0JYWi2MmafMirlJOPWbsnIP5MrVUVk/edit?gid=795485192#gid=795485192) (highlighted in purple and light green).

During installation, the FundraisingBox custom objects are automatically provided with their own layout, in which all fields relevant to the user interface are already enabled.&#x20;

To facilitate access via navigation, the corresponding objects should be added to the navigation bar.

* If the payment method '**Wikando Direct Debit'** is used, the corresponding flow button '**Manage Wikando Direct Debit Schedules'** must be enabled in the user interface via the layout of the “Gift Commitment” object. This button allows editing of recurring donations via Wikando direct debit, such as changes to amount, interval, or bank account details.
* If **Peer-to-Peer Fundraising Campaign** synchronization is used, a separate section for the FundraisingBox-specific campaign fields should be created in the 'Campaign Layout'. This ensures that these fields are clearly assigned and not confused with fields from other campaign types.

3. **Adjusting Labels of FundraisingBox Custom Fields (optional)**

If the labels (displayed field names) of the FundraisingBox custom fields need to be adjusted, this can be done using the 'Translation Workbench Override'.

***

{% endstep %}

{% step %}
**Other Required Settings**

* **State and Country/Territory Picklists** must be enabled to ensure that addresses are transferred using country codes instead of country names.
* The **'Coordinate Gift Commitment Processing'** flow is currently only available in Salesforce as an inactive template by default. To use it, a separate version must be created and activated. If this is not done, no subsequent transactions can be generated despite the setting being enabled, and the gift commitment will not be updated for new schedules. As a result, the new data will not be processed by the connector.
* **Duplicate Management:** For new data submitted via a FundraisingBox form, the first duplicate check is performed within FundraisingBox. A second check takes place in Salesforce. The Salesforce Connector follows the duplicate rules defined in Salesforce (either standard rules or custom rules). These rules can be adjusted in Salesforce if needed.
* **Validation Rules:** If validation rules exist in Salesforce such as for required fields or format validations for email addresses these should also be reflected in the configuration of the FundraisingBox forms. This helps prevent errors when the connector creates records.
  {% endstep %}
  {% endstepper %}

***

### Required Data for Connector Setup

After all setup steps have been completed, the following information must be provided to the FundraisingBox project team to establish the interface between FundraisingBox and Salesforce:

* URL of the Salesforce instance
* Org. ID of the Salesforce instance
* ID of the Connector API User

The technical integration can only proceed once this information has been received.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://solutions.fundraisingbox.com/platform-solutions-integrations/salesforce-nonprofit-cloud-npc/system-setup/setup-in-salesforce-npc.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
