Customizing the Salesforce CRM Integration

Our flexible native Salesforce integration will allow you to send Fundraise Up donation data to Salesforce easily, including static and custom fields and objects.


Review your Salesforce org

Salesforce User Permissions

Ensure that the authenticating user is a System Administrator User with Marketing Rights enabled on the Salesforce account.

The email address of the System Administrator User will be the authenticating user and ideally should not have a password that expires. Make note that the user email should be evergreen, i.e. integrations@nonprofit.org.  Here is an excellent article by Salesforce about creating a Dedicated Salesforce Integration User.

User Permissions: Please ensure that the Salesforce user you use to connect Fundraise Up has full read/write permissions including to create structures, entities, objects, and so on. When in doubt, please use a Systems Administrator-level user to connect.

 

Supported Salesforce Versions

Fundraise Up Salesforce Integration can work with Salesforce Enterprise versions. We haven't tested Professional, Unlimited or Group version but it is likely we will work with them as well, as well as any bespoke configuration they offer as long as it has API calls included and Custom Objects allowed. 
We also are compatible with NPSP's model of donation handling, as well as a number of other Salesforce donation/nonprofit suites. Essentially, we can work with any donation suite that repurposes Opportunities to handle donations. 

Please note: we currently do not use the NPSP Subscriptions Object. With feedback from many organizations, we built an improved Custom Object to sync Recurring Plans.

 

Be advised: if you are switching your Salesforce Integration environments, please make sure to take a screenshot of your Fundraise Up Salesforce Integration Mapping Rules prior to switching.

Since it's a new environment, all mappings and settings will be overwritten.

Salesforce API Limit

Every Salesforce org has per-user, per-day API limits - out of the box, Salesforce has these limits per edition, you can see what edition you're on in Setup -> Company Information, and you can request increases as outlined in this article. So, for example, if you're on Enterprise edition, you might have just 1000 Salesforce API calls in a day. 
We throttle our traffic so that, if we run out of Salesforce API calls for a day for the user, we try to continue the sync where we left off when more API calls are available.
However, in order for you to have the convenience of having your donations in Salesforce as close to when they happen as possible, you'll want to make sure:
  • that your daily Salesforce API call limit exceeds your average number of donations per day,
  • and that, when you are running a historical sync or are expecting a high-donation day, you request a temporary increase from Salesforce in advance.
 
 

Understand which Records are affected when data is synced

When a Fundraise Up record is created or updated, it’s automatically synced with the corresponding Salesforce entity.
All syncing happens in real-time. You should see it in your Salesforce database without delay.
  • Opportunities are created or updated when a Fundraise Up Donation is created or updated
  • Contacts are created, updated, or converted from Leads when a Fundraise Up Supporter is created or updated
    • Accounts can optionally be created at this time as well
  • Recurring Plans (a custom object we automatically make) are created or updated when Fundraise Up Recurring Plans is created or updated
  • Campaigns can be optionally created if a Salesforce Campaign that matches the Fundraise Up Campaign of a Donation or Recurring Plan is not found

The Integration is paused when first connected - once you're happy with your Integrations' setup, don't forget to scroll to the bottom and click the Enable Automatic Sync button so that new donations start syncing in real-time!

One-way Syncing

Data is synced one-way, from Fundraise Up to Salesforce. This means changes made in Fundraise Up will appear in Salesforce, but changes made in Salesforce will not appear in Fundraise Up.

Please note: It is very that possible Fundraise Up will overwrite your existing data in Salesforce ( e.g. Contact's address ) so please configure the integration with this in mind.

Actions

At the bottom of the Salesforce Integration page, you'll see options to control the syncing of the Integration, as well as an option to disconnect it from the currently connected Salesforce account.

Enable or Pause Automatic Sync: 

This button will show you the available option for the automatic sync:

  • if the automatic sync is currently paused, it'll show you an option to enable it so that future donations automatically sync into Salesforce,
  • and if the automatic sync is currently enabled, it'll show you an option to pause it so that future donations aren't automatically synced into Salesforce.

Synchronize 

Use this button to sync live donations from Fundraise Up into Salesforce. You can import all donations, or choose a date range. This mass sync feature will not sync test donations.

This is particularly useful when you have some donations manually entered in Salesforce already, or needed to disconnect for a period of time for one reason or another.

Disconnect permanently

This will remove all syncing between the two platforms. If you connect that same account again in the future, we'll remember your settings. 

 


Contact Records

Contact matching and duplicate management

Fundraise Up does not handle any matching or de-duplication in Salesforce. This is completely managed via Salesforce Matching and Duplicate rules.

Before we create a new Contact we ask Salesforce if the Contact already exists exist in the Salesforce database.

However, contact matching can be complicated and every organization has different criteria on how to match duplicates.  We rely on Salesforce duplicate and matching rules settings to find a match.

Learn more about managing Duplicate Rules & Matching Rules  in Salesforce 

    We recommend you to create 2 Duplicate Rules for both Contact and Lead objects and associate it with an Email-based Matching Rule.

     

    Contact fields

    By default, Fundraise Up pre-fills the following data in your Mapping rules. 

    Fundraise Up Supporter Object

    Salesforce Contact Object

    Email

    Email

    First Name

    First Name

    Last Name

    Last Name

    Phone

    Home Phone

    Address

    Mailing Street

    City

    Mailing City

    State

    Mailing State/Province

    Postal Code

    ZipCode/Postal Code

    Country

    Country

     

    You can change this mapping or extend your mapped data with more data-points that we have available. Not all Salesforce installations will have a place for all of our data. The default fields above however are usually common in all installations.

    In this example, you may want to store the contact Employer Name in one of your contact fields, if you have a field for it in Salesforce:

    Lead-to-Contact conversion 

    In some cases, you may already have a potential donor represented as Lead in your Salesforce database. As with Contacts we rely on your Salesforce settings to determine how to match Leads.

    If Fundraise Up finds a Lead with the same information we would use to create Contact, Fundraise Up would convert that Lead to Contact instead of creating a new Contact.  

    Account records 

    Every Contact in Salesforce must be associated with an Account.

    When we create a new Contact we can create a new Account using the contact's last name, depending on whether the Create Accounts when Creating Contacts checkbox in General Settings is checked. Some donation suites, like NPSP, can handle that for you, so we make it optional. 

    You can change the auto-created Account name in your integration settings:

    Fundraise Up Supporter Object

    Salesforce Account Object

    Last Name Household

    Name

     


    Campaign Records

    By default, Fundraise Up does not map campaigns because Fundraise Up does not know how your organization uses campaigns in Salesforce, if even being used at all.

    In your integration mapping configuration, you can set up these rules that will search by campaign name in your SF database and create a new one if not found.

    You can also use Fundraise Up's Campaign's Code or ID to map your Salesforce campaigns. In this case, we will search for the campaign with this ID in Salesforce, attach Opportunity to this campaign if found. If it is not found, we will ignore the campaign field. 

     


    Opportunity Records

    When a new donation or recurring installment happens we create a new Opportunity object in Salesforce.  By default we create a record with only 2 fields:

    Fundraise Up Donation Object

    Salesforce Opportunity Object

    Amount

    Amount

    Donation Date

    Close Date

    During initial setup of the Salesforce integration, you also save whatever value you like in the Opportunity Name editor field on the General Settings tab, and that becomes what is synced as the Opportunity Name for all Opportunities. It has merge fields available in the editor to assist with comprehensive naming.

    Beyond that, Fundraise Up can pass over 40 additional data-points associated with the donation such as tribute, comment, designation, etc.

    The available Fundraise Up entities to map data from are:

    • Campaign
    • Designation
    • Donation
      • This includes the broadest variety of Donation fields, including full Tribute information, any payment and fee information stored in Fundraise Up, and more.
    • Checkout Question
    • Custom Field
    • UTM Parameter
    • Static Value
      • This allows you to enter a specific value to pass in for every Donation.

    It is up to you which data points you prefer to record and where.

    Multiple Currencies and Opportunities

    If your Salesforce account does not have multiple currencies enabled
    By default, all transactions are written to SalesForce in your Fundraise Up base currency (this is determined by and same as your Stripe account base currency). This means that if you received a €100 EURO donation in Fundraise Up, it will be recorded to Salesforce as about $120 USD (something like $119.87) since your base currency is USD.

    If you have multi-currency account enabled
    The default is the original transaction amount and currency. For example, one transaction may be recorded as €100 EURO and another as £100 GBP

    Please check here how to enable/disable the multi-currency Salesforce setting

    You have the option to change the default behavior and explicitly tell Fundraise Up how to map donation amounts, ignoring your Salesforce configuration, by making overriding rules in Mapping Rules.

     


    Recurring Plan Records

    A Recurring Plan record (our custom object) is created automatically for each recurring plan. When a recurring plan changes happens ( e.g. changes in donation amounts or payment method ) those changes synced with the associated Recurring Plan object.  New installments will be added as an Opportunity with a link to the associated Recurring Plan.

    The Recurring Plan object contains the fields below.

    • Account
    • Amount
    • Amount in USD (or your Fundraise Up default account currency )
    • Campaign
    • Comment
    • Contact
    • Created By
    • Currency
    • Currency
    • Employer
    • Frequency
    • Fundraise Up ID
    • Fundraise Up URL
    • Installment
    • Last Modified By
    • Last Payment Date
    • Name
    • Next Payment Date
    • Owner
    • Payment Method Expiration Date
    • Payment Method Last Four
    • Payment Method Type
    • Status
    • Tribute From
    • Tribute Hide Amount
    • Tribute Honoree
    • Tribute Message
    • Tribute Recipient Address City
    • Tribute Recipient Address Country Code
    • Tribute Recipient Address Line 1
    • Tribute Recipient Address Line 2
    • Tribute Recipient Address Postal
    • Tribute Recipient Address Region
    • Tribute Recipient Email
    • Tribute Recipient First Name
    • Tribute Recipient Last Name
    • Tribute Sharing
    • Tribute Type

    Permissions for Recurring Plan Object

    The Recurring Plan Object is created when Fundraise Up successfully connects to your Salesforce instance.  Your Salesforce profile may need to be updated to view and edit this new object. Please check with your Salesforce Administrator to update the Custom Tab Setting and Custom Object Permission. 

    Setup > Administration > Profiles > Object Settings > Recurring Plans

    Field history

    We recommend ensuring that at least the Amount and Status fields on the Recurring Plan object are set to record in that object's field history, so that when you're reviewing the "History" related list on any Recurring Plan records in Salesforce, you can see a record of what changes to plan amount and status have been made.

     


     

    Page Layouts Options

    There are additional fields you may include from Fundraise up for the following page layouts. 

    Opportunity

    Fundraise Up ID - Fundraise Up transactional ID

    Fundraise Up Recurring ID - Fundraise Up Recurring ID

    Contact

    Related Lists display for "Recurring Plans" - Associate if the contact is a recurring donor in Fundraise Up. 

     


    NPSP Considerations

    NPSP comes with a whole slate of pre-packaged objects (GAUs, Payments) and fields (on the Opportunity, on Contacts, etc). When writing data into a Salesforce environment with NPSP installed, there's a few steps you can take to make sure that the data propagates through your NPSP system as neatly as possible!

    Household account

    The default NPSP setting will create a Household account when a new Contact is created in Salesforce.

    When using the default setting, please leave the option "Create Accounts when creating Contacts" unchecked in our Fundraise Up integration General Setting. 

    Payments Object

    When mapping information from the Opportunity object to the NPSP custom Payment object ( npe01__OppPayment__c), please consider using the NPSP Success Pack Setting's "Payment Mappings" feature to do so. 

    NPSP Success Pack - Payment Mappings

    Please note: NPSP Payment > Payment Method is a Picklist data type, and can only be mapped using this tool with an Opportunity field that is also a Picklist data type.

    To power this, we recommend making a custom Opportunity field that has all of our possible "Payment Method" values: ACH, Apple Pay, Click To Pay, Credit Card, Google Pay, and PayPal. 

    Then, you can simply create a Mapping Rule in the Fundraise Up Salesforce Integration that always writes the Payment Method of a Donation into your custom picklist field appropriately, and that field can then become the basis for passing info along into your Payments using the NPSP mapping tools. 

    Fundraise Up Mapping Rules

    GAUs and GAU Allocations

    GAUs are General Accounting Units, a neat NPSP way of representing internally where the funds received on each Opportunity should go!

    Fundraise Up's mapping tools can be used to create Opportunities automatically assigned to specific Salesforce Campaigns. As long as those Salesforce Campaigns are associated with NPSP's GAU Allocations, NPSP will auto-create the corresponding GAUs on those Opportunities.