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 NPSP or Salesforce Enterprise versions. We haven't tested Professional, Unlimited or Group version but it is likely we will work with them as well. 
 

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

 

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 Salesforce corresponding 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
  • Campaigns are created or updated when a Fundraise Up Campaign is created or updated
  • Recurring Plans are created or updated when a Fundraise Up Recurring Plans is created or updated

 

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 using this in mind.

 


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 contact 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 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 an record with only 2 fields:

    Fundraise Up Donation Object

    Salesforce Opportunity Object

    Amount

    Amount

    Donation Date

    Close Date

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

    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 recurring plan changes happens ( e.g.  changes in donation amounts or payment method ) those changes synced with associated "Recurring Plan" object.  New installments will be added as Opportunity with link to Recurring Plan.

    The Recurring Plan object contain the fields bellow.

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