> For the complete documentation index, see [llms.txt](https://docs.paybee.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.paybee.io/home/guides/integrations/salesforce.md).

# Salesforce

The PayBee + Salesforce integration allows you to connect all donor and donation data collected on PayBee to your Salesforce Nonprofit Success Pack (NPSP) or Nonprofit Cloud (coming soon) account.

In the **Salesforce Nonprofit Success Pack (NPSP)**, **Contact Mapping** and **Opportunity Mapping** are key features that determine how data from your nonprofit’s donation or transactions reports on PayBee are translated into Salesforce records. They define how fields from incoming data on PayBee are matched to Salesforce fields on Contacts, Opportunities, and related objects. By integrating PayBee with Salesforce you can read and write your donor records and transaction data on Salesforce.

The following information can be found on this page:

* [**Understanding Contact Mapping and Opportunity Mapping**](#understanding-contact-mapping-and-opportunity-mapping)
* [**Integrate PayBee With Salesforce**](#integrate-paybee-with-salesforce)
  * [Add the PayBee Salesforce integration](#add-the-paybee-salesforce-integration)
  * [Connect integration with Salesforce, map contacts and opportunities and activate](#connect-integration-with-salesforce-map-contacts-and-opportunities-and-activate)
* [**Contact Mapping**](#contact-mapping)
  * [Contact Matching](#contact-matching)
  * [Update Contact Info](#update-contact-info)
  * [Contact Field Mapping](#contact-field-mapping)
* [**Opportunity Mapping**](#opportunity-mapping)
  * [Opportunity Mapping Events](#mapping-events)
  * [Opportunity Field Mapping](#field-mapping)

## Understanding Contact Mapping and Opportunity Mapping

**Contact Mapping** defines how donor or constituent information (like names, emails, and addresses) from PayBee is connected to Salesforce Contact records. When you import or sync data from PayBee, NPSP uses Contact Mapping to:

* Identify whether the person already exists in Salesforce.
* Decide how to create or update Contact records.

Similarly, **Opportunity Mapping** defines how donation or transaction information is connected to Salesforce Opportunity records. When a transaction is entered or imported, NPSP uses Opportunity Mapping to:

* Determine which Opportunity fields to populate.
* Connect the Opportunity to the correct Contact (via Primary Contact Role) and Account.

## Integrate PayBee With Salesforce

If you'd like to access the Salesforce integration on your PayBee account, please reach out to us on <contact@paybee.io>.

### Add the PayBee Salesforce integration

#### Step 1: Find the PayBee Salesforce integration

Find the PayBee Salesforce integration by clicking [here](https://appexchange.salesforce.com/appxListingDetail?listingId=7fc8e5aa-494c-4d70-b530-36b046568a92). With this, PayBee customers can connect their Non Profit Success pack and automatically create an account/contact, and an opportunity for any donations made on PayBee. The integration is priced at $9.99 per user per month.&#x20;

<figure><img src="/files/JhQ2JGit5H9bquB67zIz" alt=""><figcaption></figcaption></figure>

#### Step 2: Login to your TrailBlazer account or continue as a guest.

To install this package, you need a Salesforce account. You can create a TrailBlazer account associated with your Salesforce account.

<div align="center"><figure><img src="/files/ub8uKX3oiU4wK9hp3TpY" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="center"><figure><img src="/files/eRiiLHqzWWxPJPHTh3gj" alt="" width="375"><figcaption></figcaption></figure></div>

#### Step 3: Allow access to identity URL service and unique user identifiers

<figure><img src="/files/44NO1m1xXXU8QOkry3wy" alt=""><figcaption></figcaption></figure>

#### Step 4: Install the Salesforce package and confirm installation details

You may need to login to your Salesforce account again.

<figure><img src="/files/ZwviZwjxz6UlXxWBURRk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/BDWb4syeVSCtQtgBXNCw" alt=""><figcaption></figcaption></figure>

#### Step 5:  Select the users who can access this package

<figure><img src="/files/CxXyeOpQI132ex9FpZBS" alt=""><figcaption></figcaption></figure>

Your installation should now be complete. If you're having issues, please reach out to <contact@paybee.io>

<figure><img src="/files/LTGHEwnthQA5N07c1dls" alt=""><figcaption></figcaption></figure>

### Connect integration with Salesforce, map contacts and opportunities and activate

#### Step 1: Connect to Salesforce

After installing the PayBee package following in the steps listed above go back to your Salesforce account and make sure you are logged in.

#### Step 2: Select Installation

Next, choose between the Non Profit Success Pack or Non Profit Cloud service to sync all donor and transaction data.

<figure><img src="/files/NMJ4qLARznmSFCGtSBqN" alt=""><figcaption></figcaption></figure>

#### Step 3: Contact Mapping Preferences

Set all contact mapping preferences. To map the data, choose between matching the donor data by email only or email and full name.

<figure><img src="/files/zYe8WnuQvbwZRVj6bFR3" alt=""><figcaption></figcaption></figure>

#### Step 4: Map Contact Data

Now, map the the donor data from PayBee into the Salesforce data fields using the form displayed on the screen.

<figure><img src="/files/JdnGvu7OwXPqrYipFAI2" alt=""><figcaption></figcaption></figure>

#### Step 5: Opportunity Matching Preferences

Set all opportunity mapping or transaction mapping preferences. You can also choose to include cash and check transactions as well as zero transactions made on PayBee.

<figure><img src="/files/XMGkxq349OApHuJUURR6" alt=""><figcaption></figcaption></figure>

#### Step 6: Map Opportunity Data

Now, map the the transaction data from PayBee into the Salesforce data fields using the form displayed on the screen.

<figure><img src="/files/5Bcv2zhYxmJkNaupli1H" alt=""><figcaption></figcaption></figure>

#### Step 7: Activate

Finally, activate the integration to export all the donor and transaction data from PayBee into Salesforce.

<figure><img src="/files/8xwiPGWOZ5FduFk5LTd5" alt=""><figcaption></figcaption></figure>

#### Step 8: Test Integration

To test your integration, tap on the Test Send button. This will create an entry in the list of Contacts and Opportunities reports as seen below.

<figure><img src="/files/ei9wbeu9tekKrWJS97lQ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yvRdGz2cmVE6gviPsYTX" alt=""><figcaption></figcaption></figure>

Once your integration is activated you can view all successful and failed transactions under the **Transactions** tab of your selected integration as in the example seen below.

<figure><img src="/files/pNToGBpigk0AJYBAomSo" alt=""><figcaption></figcaption></figure>

You can also continue to manage the Contact and Opportunity Mapping by tapping on the **Data Mapping** tab as seen in the example below.

<figure><img src="/files/sWtP4r9mcOPdtIfDkg1B" alt=""><figcaption></figcaption></figure>

Any changes to the name or description of your integration, contact matching preference, contact updating preference, and preferences to include zero dollar transactions and cash/check transactions can be made by going to the **Settings** tab.

<figure><img src="/files/L5KAlvzLyyQdMd8k3ZrR" alt=""><figcaption></figcaption></figure>

## Contact Mapping

**Contact Mapping** defines how donor and attendee information from PayBee is matched to and synchronized with Salesforce Contact records. You can configure the matching criteria used to identify existing contacts and choose whether to update contact information during synchronization.

### Contact Matching

Select the criteria used by the integration to match PayBee records with existing Salesforce Contacts.

| Option              | Description                                                                          |
| ------------------- | ------------------------------------------------------------------------------------ |
| Email               | Matches Contacts using the email address only.                                       |
| Email and Full Name | Matches Contacts using the combination of email address and the contact's full name. |

### Update Contact Info

Enable or disable the **Update Contact Info** setting.

* **Enabled:** If an existing Contact is found, the integration updates the Contact's phone number and mailing address with the latest information from PayBee.
* **Disabled:** Existing Contact information remains unchanged. Only new Contacts are created when no matching Contact is found.

### Contact Field Mapping

The following PayBee fields are mapped to Salesforce Contact fields during synchronization. Standard Salesforce fields are populated where applicable, and custom fields are created by the integration when required.

| PayBee Data Field | Salesforce Contact Field      | Notes                                                                            |
| ----------------- | ----------------------------- | -------------------------------------------------------------------------------- |
| Salutation        | `Salutation`                  | Standard Salesforce field.                                                       |
| First Name        | `FirstName`                   | Standard Salesforce field.                                                       |
| Last Name         | `LastName`                    | Standard Salesforce field.                                                       |
| Email             | `Email`                       | Standard Salesforce field.                                                       |
| Phone             | `MobilePhone`                 | Standard Salesforce field. Updated only when **Update Contact Info** is enabled. |
| Street Address    | `MailingStreet`               | Standard Salesforce field. Updated only when **Update Contact Info** is enabled. |
| City              | `MailingCity`                 | Standard Salesforce field.                                                       |
| State             | `MailingState`                | Standard Salesforce field.                                                       |
| Zip               | `MailingPostalCode`           | Standard Salesforce field.                                                       |
| Country           | `MailingCountry`              | Standard Salesforce field.                                                       |
| Create By PayBee  | `paybee_created_by_paybee__c` | Custom field created by the integration to identify Contacts created by PayBee.  |

## Opportunity Mapping

**Opportunity Mapping** defines how PayBee transaction data is synchronized with Salesforce Opportunities. The integration uses configurable **Opportunity Mapping Events** to determine when an Opportunity is created or updated, and **Opportunity Field Mapping** to specify which PayBee transaction fields are mapped to Salesforce Opportunity fields during synchronization. Together, these settings ensure that transaction information is accurately reflected in Salesforce throughout the transaction lifecycle.

### Mapping Events&#x20;

Opportunity Mapping Events define the conditions under which PayBee creates or updates a Salesforce Opportunity. Each event determines when data is synchronized and which PayBee transaction fields are mapped to the corresponding Salesforce Opportunity fields.

| Event                                             | Description                                                                                                                                     | Action                    |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| Send check or cash donations                      | Creates or updates an Opportunity when a donation is recorded in PayBee using the **Check** or **Cash** payment method.                         | Create/Update Opportunity |
| Send transactions with zero dollars               | Creates or updates an Opportunity for transactions with a total amount of **$0.00**, such as complimentary registrations or free event tickets. | Create/Update Opportunity |
| Update Opportunity when a transaction is refunded | Updates the existing Opportunity when a transaction is refunded in PayBee.                                                                      | Update Opportunity        |
| Update Opportunity when a transaction is deleted  | Updates the existing Opportunity when a transaction is deleted in PayBee.                                                                       | Update Opportunity        |
| Update Opportunity when a transaction fails       | Updates the existing Opportunity when a transaction changes to a failed payment status.                                                         | Update Opportunity        |
| Send Add Guest events to the Opportunity          | Sends guest registration information from PayBee to the related Salesforce Opportunity.                                                         | Update Opportunity        |

### Field Mapping

The following PayBee transaction fields are mapped to Salesforce Opportunity fields during Opportunity synchronization. Unless otherwise noted, custom Salesforce fields (`__c`) are automatically created by the PayBee integration package if they do not already exist.

| PayBee Data Field    | Salesforce Opportunity Field     | Notes                                                                                      |
| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |
| Transaction Id       | `paybee_transaction_id__c`       | Custom field created by the integration. Used to uniquely identify the PayBee transaction. |
| Amount               | `Amount`                         | Standard Salesforce Opportunity Amount field.                                              |
| Transaction Fee      | `paybee_transaction_fee__c`      | Custom field created by the integration.                                                   |
| PayBee Fee           | `paybee_paybee_fee__c`           | Custom field created by the integration.                                                   |
| User Covered Fee     | `paybee_user_covered_fee__c`     | Custom field created by the integration.                                                   |
| Payment Method Type  | `paybee_payment_method_type__c`  | Custom field created by the integration.                                                   |
| Payment Method Name  | `paybee_payment_method_name__c`  | Custom field created by the integration.                                                   |
| Quantity             | `paybee_quantity__c`             | Custom field created by the integration.                                                   |
| Tax Collected        | `paybee_tax_collected__c`        | Custom field created by the integration.                                                   |
| Memo                 | `paybee_memo__c`                 | Custom field created by the integration.                                                   |
| Campaign Id          | `paybee_campaign_id__c`          | Custom field created by the integration.                                                   |
| Campaign IntId       | `paybee_campaign_int_id__c`      | Custom field created by the integration.                                                   |
| Campaign Name        | `paybee_campaign_name__c`        | Custom field created by the integration.                                                   |
| Campaign Type        | `paybee_campaign_type__c`        | Custom field created by the integration.                                                   |
| Option Id            | `paybee_option_id__c`            | Custom field created by the integration.                                                   |
| Option Name          | `paybee_option_name__c`          | Custom field created by the integration.                                                   |
| Item Value           | `paybee_item_value__c`           | Custom field created by the integration.                                                   |
| Guest Id             | `paybee_guest_id__c`             | Custom field created by the integration.                                                   |
| Campaign External Id | `paybee_campaign_external_id__c` | Custom field created by the integration.                                                   |
| Transaction Type     | `paybee_transaction_type__c`     | Custom field created by the integration.                                                   |
| Transaction Status   | `paybee_transaction_status__c`   | Custom field created by the integration.                                                   |

{% hint style="info" %}
Things to note:

* **Amount** is mapped to Salesforce's standard **Opportunity Amount** field.
* All other fields listed with the `paybee_` prefix are custom Salesforce Opportunity fields created by the PayBee integration package.
* The **Transaction Id** (`paybee_transaction_id__c`) serves as the unique identifier for matching PayBee transactions to existing Salesforce Opportunities during updates.
  {% endhint %}
