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.  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


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

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.


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



    First Name

    First Name

    Last Name

    Last Name


    Home Phone


    Mailing Street


    Mailing City


    Mailing State/Province

    Postal Code

    ZipCode/Postal Code




    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



    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



    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 the associated "Recurring Plan" object.  New installments will be added as Opportunity with link to Recurring Plan.

    The Recurring Plan object contains the fields below.

    • 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

    Permissions  for Recurring Plan Object

    The Recurring Plan Object is created when Fundraise Up successfully integrates 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. 

    Settings > Users > Profile > Custom Tab Settings

    Settings > Users > Profile > Object Permission


    Page Layouts Options

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


    Fundraise Up ID - Fundraise Up transactional ID

    Fundraise Up Recurring ID - Fundraise Up Recurring ID


    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.