Connect Salesforce

Connect Funraise and Salesforce for a powerful fundraising data solution

Tony Sasso avatar
Written by Tony Sasso
Updated over a week ago

This article provides a complete guide for Funraise's Salesforce App, including step-by-step setup instructions.


How it works

The Funraise Connect Salesforce App is a managed package and is built with Salesforce best practices to keep your data clean and working for you.

Funraise data is sent to Salesforce using standard and custom objects. You can customize field mappings for Contacts and Opportunities. Additional field mapping and custom objects are included with the app and do not require configuration.

Data Syncing

This table shows Funraise objects and the Salesforce objects they sync with.

Funraise Object

Salesforce Object

Salesforce Object Type

Supporters

Contacts

Standard

Transactions

Opportunities

Standard

Campaign Pages

Campaigns

Standard

Transaction + Supporter

OpportunityContactRoles

Standard

Campaign + Supporter

CampaignMember

Standard

Email

EmailMessage & EmailMessageRelation

Standard

Task + Interactions

Tasks

Standard

Subscriptions

Subscriptions

Custom

Events

Events

Custom

Registrations

Registrations

Custom

Funraise Errors

Funraise Errors

Custom

When is data synced?

When a Funraise record is created or updated, it’s synced with Salesforce in real-time. Data is synced one way, from Funraise to Salesforce.

☝️ Many records can also be synced manually from Funraise. This is useful when an error occurs in automated syncing. When a sync from Funraise fails, we'll automatically retry the sync several times to reduce manual intervention.

  • Opportunities are created or updated when a Funraise Transaction is created or updated

  • Contacts are created or updated when a Funraise Supporter is created or updated

  • Campaigns in Salesforce are created or updated when a Funraise Campaign Site is created or updated

  • Campaigns in Salesforce are also updated when a Fundraiser joins or leaves a team

  • Contact Activity is logged in Salesforce when a Funraise Task or Interaction is created or updated

  • Contact Activity is logged in Salesforce when an email is sent from Funraise

  • Subscriptions in Salesforce are created or updated when a Funraise Subscription is created or updated

  • Events in Salesforce are created or updated when a Funraise Event is created or updated

  • Registrations in Salesforce are created or updated when a Funraise Registration is created or updated

Good to know

Nonprofit Success Pack (NPSP)

The Funraise Salesforce Connect App can work with the Nonprofit Success Pack (NPSP), although NPSP is not required. Please note: The Funraise App does not use the NPSP Subscriptions Object. With feedback from many organizations, we built an improved custom object to manage your Subscriptions.

One-way syncing

Data is synced one way, from Funraise to Salesforce. This means changes made in Funraise will appear in Salesforce, but changes made in Salesforce will not appear in Funraise. Please note: It is possible for Funraise to overwrite data in Salesforce, this is intentional as new activity in Funraise will provide the most recent data for syncing.

Open source

The Funraise App is open source. While we don’t recommend using the unmanaged package, developers can learn more and contribute.


Setup

🤓 Requires Salesforce knowledge and access

If you’re familiar with Salesforce, you can be up and running in a few minutes. This documentation assumes you are familiar with Salesforce and have the appropriate user permissions to configure your Salesforce Organization.

👀 Use Salesforce Classic View

While the integration works great in Classic or Lightning Views, these setup instructions are written for Classic View.

🧘‍♀️ IP address restrictions

If you have IP Address Restrictions enabled, you may need to select "Relax IP Restrictions" on the Funraise Connected App in order to complete setup.

Inside Salesforce

First, you'll create a Connected App in Salesforce.

  1. In Salesforce, navigate to Setup > Build > Create > Apps and select New under Connected Apps

  2. Fill out the new Connected App form

    1. We recommend naming the app, Funraise

  3. Check the box to Enable OAuth Settings

  4. Set the Callback URL field to https://platform.funraise.io/salesforce/access/token

  5. Add the OAuth scopes and access:

    1. Manage your data (API)

    2. Perform requests on your behalf at any time (refresh_token, offline_access)

  6. We recommend keeping the default OAuth Policies Permitted Users setting: All users may self-authorize

  7. Uncheck the box for Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows

  8. Save the new Connected App

  9. Now, when viewing the Connected App, the Consumer Key and Consumer Secret should be visible, these values will be used to integrate with Funraise in the next step

Next, you'll install the Funraise Connect App.

  1. In Salesforce, Navigate to the Application Switch at the top right of your screen and launch the Appexchange

  2. From the Salesforce Appexchange, type in Funraise Connect in the app search bar to locate the Funraise application. Click to access and install the package

  3. Once the package is installed, you will be prompted to map Funraise data to fields on the Opportunity and Contact record

    1. We suggest clicking Use Default Mappings to get started. You’ll be able to add additional field mappings anytime after setup.

    2. If you're ready to add custom field mappings now, you can learn more about field mappings below.

Next, you'll need to set some permissions.

The Salesforce user account that authenticates the Salesforce integration in Funraise will need permissions to create and edit objects and fields that data from Funraise is synced with. This user will also need to have the Funraise Permission Set. If you've already connected, you can find the user that last authenticated the Salesforce Connected App, from the Salesforce Connected App page.

First, add the Funraise Permission Set to give access to objects, fields, and classes that are included in the Funraise Connect Package

  1. Navigate to Setup > Permission Sets > select Funraise Permission Set and click Manage Assignments.

  2. From that screen, you can add your user (or the user who will authenticate the app in Funraise) and click Assign

Next, make sure this user has create and edit access for Contacts and Opportunity objects and any fields on these objects that are mapped with Funraise fields.

Next, if you're using Sites or P2P Fundraising in Funraise and want to sync to Campaigns in Salesforce, in addition to assigning the Funraise Permission Set, you will need to check the box on the user profile for Marketing User to give this user the ability to Create and Edit Campaign records.

And finally, if your organization is using Nonprofit Success Pack (NPSP), Funraise’s integration syncs the NPSP Primary Contact on the Opportunity (npsp__Primary_Contact__c). The Salesforce user that authenticates the Salesforce integration in Funraise will need create and edit permissions for this field.

Inside Funraise

Now, you'll connect your Funraise Connect App with your Funraise account.

  1. In Funraise, access Settings > Integrations

  2. Find the Salesforce integration card > click the actions menu > Edit

  3. Select your type of Salesforce environment

    1. Production will use login.salesforce.com

    2. Sandbox will use test.salesforce.com

  4. Enter your Consumer Key from the Salesforce Connected App in the Client Key field

  5. Enter your Consumer Secret from the Salesforce Connected App in the Client Secret field

  6. Click Complete Setup

  7. A Salesforce OAuth popup window will appear requesting the necessary permissions. Click Allow

  8. When you receive a confirmation message saying, “Salesforce Successfully Connected”, you can close the pop-up window. Setup is complete!

🌈 Sync Everything

Although you can deactivate specific objects from syncing, we suggest syncing everything at this time unless you have a nonstandard or unique Salesforce configuration.


Test your setup

Next, we recommend testing your integration connection. If you are able to duplicate the expected results below, your initial setup is working properly.

Test

  1. In Funraise, create a new Transaction: Navigate to Transactions > click New Transaction. Enter a test Supporter and test Transaction data. Click Save

Expected results

  1. In Salesforce: The test Transaction should appear as an Opportunity

  2. In Salesforce: The test Supporter should appear as a Contact


Field Mappings

During setup in Salesforce, you’ll be prompted to map Funraise fields to the Contact and Opportunity. You can also edit field mappings at any time from the Setup tab in the Funraise App.

Customize your Contact and Opportunity field mapping to meet your own database strategy. Sync as few or as many fields as you need.

👍 Only Contacts and Opportunities require mapping

You’ll only need to map fields to Contacts and Opportunities. We’ll take care of everything else.

Conflict resolution

When mapping fields, you can determine how to handle data syncs when data already exists in a Salesforce field. Conflict resolution can be configured for each field. Options include:

  • Overwrite Existing Data with Funraise Data

  • Do Not Overwrite Existing Data

  • Only Overwrite Existing Data if Funraise Data is not empty

  • Only Overwrite Existing Data if Funraise record was updated more recently

Contacts

Funraise Supporter data can be mapped to the Salesforce Contact record.

Contact Standard fields

We recommend mapping the following Funraise fields to Salesforce standard Contact fields.

Funraise field

Salesforce field

Field type

Email

Email

text

First Name

First Name

text

Last Name

Last Name

text

Institution Category

Description

text

Phone

Home Phone

text

Address 1

Mailing Street

text

City

Mailing City

text

State

Mailing State/Province

text

Postal Code

ZipCode/Postal Code

text

Country

Country

text

Birth Date

Birthdate

date

NPSP Contact custom fields

If you’re using Nonprofit Success Pack (NPSP), some aggregate custom fields may already be created and do not require mapping from Funraise. If you are not using NPSP, you’ll need to create these custom fields before mapping.

Funraise Field

NPSP Custom Field

Field type

Total Donation Amount

Total Gifts

number or currency

Total Donation Count

Total Number of Gifts

number

Last Donation Date

Last Gift Date

DateTime

First Donation Date

First Gift Date

DateTime

Total Soft Credit Amount

Soft Credit Total

number or currency

Total Soft Credit Count

Number of Soft Credits

number

Contact custom fields

Create custom Contact fields in Salesforce to sync additional data from Funraise. The following table shows all additional fields that can be mapped to the Contact.

Funraise Field

Field type

Details

Institution Name

text

Gender

text

Notes

text

Donor Type

text

Tags

text

Email Opt-out

checkbox

Is Fundraiser

checkbox

Fundraiser Donation Amount

number or currency

Fundraiser Donation Count

number

LinkedIn URL

text

Coming soon

Facebook URL

text

Coming soon

X (Twitter) URL

text

Coming soon

Age

number

Inactive field*

P2G Score

text

Inactive field*

Net Worth

text

Inactive field*

Income

text

Inactive field*

Gift Capacity

text

Inactive field*

Annual Donations

text

Inactive field*

Real Estate

text

Inactive field*

Photo URL

text

Inactive field*

Employer Name

text

Inactive field*

Job Title

text

Inactive field*

Homeowner

text

Inactive field*

Marital Status

text

Inactive field*

Influencer Score

text

Inactive field*

Education

text

Inactive field*

*Inactive fields are fields that are no longer being populated in Funraise but may have historic data. We do not recommend mapping these fields at this time.


Opportunity field mapping

Funraise Transaction data can be mapped to the Salesforce Opportunity record.

Opportunity Standard fields

We recommend mapping the following Funraise fields to Salesforce standard Opportunity fields.

Funraise field

Salesforce field

Field type

Amount

Amount

number or currency

Created Date

Close Date

date

Donation Name

Opportunity Name

text

Form Name

Lead Source

text

Tags

Description

text

Opportunity custom fields

Create custom Opportunity fields in Salesforce to sync additional data from Funraise. The following table shows all additional fields that can be mapped to the Opportunity.

Funraise field

Field type

Source Amount

number or currency

Currency

text

Transaction Id

text

Status

text

Form Name

text

Tags

text

Allocation

text

Donation URL

text

Campaign Goal Id

number

Campaign Page Name

text

Check Number

text

Memo

text

Donation Comment

text

Note

text

Is Recurring

checkbox

Recurring Sequence

number

Is Operations Tip

checkbox

Operations Tip Amount

number or currency

Is Anonymous

checkbox

Is Offline

checkbox

Is Pledge

checkbox

Payment Method Expiration Date

text

Payment Method Type

text

Payment Method Last Four

text

Payment Method Card Type

text

Is Dedication

checkbox

Dedication Email

text

Dedication Message

text

Dedication Name

text

Dedication Type

text

Company Match

checkbox

Company Match Company Name

text

Company Match Employee Email

text

Donor Covers Fees Eligible

checkbox

Donor Covered Fees

checkbox

Donor Covered Fee Amount

number or currency

UTM Source

text

UTM Medium

text

UTM Campaign

text

UTM Content

text

UTM Term

text


Contact matching

When Funraise syncs Supporter data with Salesforce, Funraise will attempt to find a matching Contact in Salesforce. If no matching Contact is found, a new Contact is created. Below are the methods and the order we use these methods to identify a matching Contact.

  1. Funraise ID: When a Supporter record is sent from Funraise to Salesforce, it is sent along with an internal identifier that is used to populate a custom attribute called Funraise ID. The first check is to see if there is an existing Contact record with a matching Funraise ID.

  2. First Name, Last Name, and Email: If no Contact records match the previous criteria, we'll find the most recently created Contact record that exactly matches by First Name, Last Name, and Email address. The Funraise ID will be updated at that point for future identification.

  3. Contact.Email: If no Contact records match the previous criteria and if email is present on the Supporter record being sent over, we'll find the most recently created Contact record that matches by Contact.Email. The Funraise ID will be updated at that point for future identification. Good to know: Email addresses are unique in Funraise. Two Supporters cannot share the same email address.

  4. Contact First Name, Last Name, MailingStreet, MailingCity, MailingState, MailingCity, MailingPostalCode, MailingCountry: If the previous two criteria could not be used to locate an existing Contact record, a search for an exact match on the listed attributes will be performed.

  5. If no Contact records match the previous criteria, a new Contact record will be created.


Opportunity Contact Roles

There are four Contact Roles that the Funraise integration might assign to Contacts on an Opportunity: Donor, Fundraiser, Soft Credit, and Team Captain.

  1. Donor: As the name suggests, Donor is the Contact who initiates the transaction.

  2. Fundraiser: Fundraiser is the Contact who is associated with the fundraising page where the donation was made. In the case of a donation made to an individual fundraiser page, the Fundraiser is the individual that created the fundraiser page. In the case of a donation to a team page, the Fundraiser reflects the fundraising team instead of an individual.

  3. Soft Credit: When a Supporter is manually assigned as a Soft Credit on a Transaction in Funraise, that Supporter will be assigned the Soft Credit role on the Opportunity in Salesforce. In the case of Campaign Site donors, it works a bit differently—while in Funraise the fundraiser will be assigned Soft Credit on a donation made to their page, the Funraise integration does not assign a Soft Credit role to the fundraiser in Salesforce. To be clear, the integration only assigns the Soft Credit Contact Role in Salesforce, when a Soft Credit is manually applied in Funraise.

  4. Team Captain: A Team Captain Opportunity Contact Role is created in either of these cases:

    1. A donation is made to a team page

    2. A donation is made to an individual page that is part of a team but is not the team captain’s individual page (to avoid creating an additional Opportunity Contact Roles for the same contact)


Other record types

Funraise's Salesforce App also creates and updates several other record types, including both standard objects and custom objects included in the app. Below you can review details about each of these objects and their synced fields.

You'll only need to map Funraise fields to Salesforce Contact and Opportunities records, as described above. The following object field mappings are managed by the Funraise App — no setup or configuration is required.

Campaigns

Funraise Campaigns are synced with the standard Campaign Salesforce object.

When you create a Campaign Site in Funraise, a new Campaign is created in Salesforce. Additionally, when a new fundraiser or team page is created, a new Campaign is created in Salesforce. This enables Campaign hierarchy and Opportunity rollups.

Campaign activity represents Transaction activity through a Campaign Site. This means Transactions are only associated with a Salesforce Campaign if they are associated with a Funraise Campaign Site (Transactions that have a Page Goal).

☝️ Not all Funraise Transactions are associated with a Salesforce Campaign

Only Transactions that are associated with a Funraise Campaign Site, Transactions that have a Page Goal, are associated with a Salesforce Campaign.

🎯 Start Campaigns in Funraise

Create Campaigns in Funraise first as Campaign Sites. When a Campaign Site is created in Funraise, a Campaign is created in Salesforce and new Opportunities (Transactions on the Campaign Site) will be attached automatically.

Campaign synced fields

Name (page name)

Description (appeal text)

Status

Expected Revenue (goal amount)

Funraise Id (Custom field added by Funraise)

Parent Id (for campaigns with individual or team fundraiser pages)

Tasks

Funraise Tasks that are open are synced on the Contact’s Open Activity list. Completed Funraise Tasks and Interactions are synced on the Contact’s Activity History. Emails sent from Funraise are also synced on the Contact’s Activity History.

Task & Interactions synced fields

Task Type

Completed Checkbox

Created Date

Email synced fields

Subject

Status

Created Date

Subscriptions

Subscriptions is a custom object included in the Funraise App. Recurring transactions are synced as Opportunities attached to a Subscription record.

Subscription synced fields

Status

Amount

Currency

Frequency

Last Payment Date

Next Payment Date

Donation Count

Supporter

Form Name

Campaign Page Name

Allocation Name

Comment

Note

Is Operations Tip

Funraise Campaign Goal

Is Imported

Payment Method Type

Payment Method Last Four

Payment Method Expiration Date

Is Dedication

Dedication Type

Dedication Name

Dedication Email

Dedication Message

Is Company Match

Company Match Employee Email

Company Match Company Name

Events

Events is a custom object included in the Funraise App. When a Funraise Event is created a Salesforce Event is created. Registrations, which are discussed next, will be associated with Events.

Event synced fields

Event Name

Event Description

Event Start Date

Event End Date

Registrations

Registrations are a custom object included with the Funraise App. Registrations are associated with Events.

Registration synced fields

Opportunity

Ticket Name

Ticket Amount

Tax Deductible Amount

Registration Id/name

Event

Supporter

Guest of

Attended Checkbox

Questions

Questions are a custom object included with the Funraise App. Answers will be associated with Questions.

Question synced fields

Question Name

Question Text

Answer Type

Answers

Answers are a custom object included with the Funraise App. Answers can appear as related lists on Opportunities, Contacts, Registrations, and Campaigns.

Answer synced fields

Answer

Question

Opportunity

Contact

Registration

Campaign

Pledges

A pledge is a custom object included with the Funraise App that tracks expected revenue from a Contact (Supporter). There are three ways this custom object can be used:

1. Create a pledge in Funraise to track a single donation pledge in Salesforce

When an offline transaction is created and marked as a pledge in Funraise, a pledge record will be created in Salesforce. This pledge record in Salesforce will only attribute this single transaction to this pledge.

For example, you have a donor who has pledged to write a $10,000 check next month.

2. Create a pledge record in Salesforce to track multiple donations toward a pledge in Salesforce

When a pledge record is created in Salesforce, that record can be attached to a particular contact (Supporter). Any new opportunities (Transactions) for that contact within the specified start and end dates will count toward this pledge.

For example, you have a donor who has pledged to give $10,000 over the next year in several installments. Each donation made by this donor will count toward that pledge until it is fulfilled.

3. Create pledges for recurring subscriptions

When a subscription is created, a pledge record can be created and used to track each recurrence toward a total pledge amount.

For example, let's say you treat each recurring subscription as an annual pledge that you expect to be paid off in 12 months. You can enter "12" in the Subscription pledge period (months) field in the integration settings in Funraise. This will calculate the pledge amount.

Regardless of the frequency of the subscription, the pledge amount is the expected amount from the subscription in the number of months you entered. For example, entering "12" in the Subscription pledge period (months) field means:

  • when a $10 monthly subscription is created, the pledge amount is $120

  • when a $10 quarterly subscription is created, the pledge amount is $40

Each recurrence and any new Opportunity (Transaction) from this Contact (Supporter) will be related to this pledge.

To activate the Subscription Pledge feature, you must enter a number in the Subscription pledge period (months) field in settings. In Funraise: Go to Settings > Integrations > Salesforce.

Pledge synced fields

Details

Funraise Pledge Name

Pledge Amount

Received Amount

Percent Complete

Funrasie Supporter

Pledge Donation

Filled if pledge was created by an offline donation pledge

Pledge Subscription

Filled if pledge was created by a subscription

Is Active

Start Date

End Date

Opportunities

Related list of Opportunities attributed to this pledge

Errors

We’ve also included a custom object called Funraise Errors which is helpful to view and correct automated syncing issues. Perhaps most helpful, Funraise Errors will show you when your own Salesforce organization setup is conflicting with automatic syncing. We suggest adding this tab to your Salesforce navigation.


Frequently Asked Questions

☝️ Although custom workflows or logic may be suggested in this document, Funraise does not provide support for custom workflows or logic in your own Salesforce environment.

How can I test the integration setup?

We recommend validating Salesforce connectivity by creating an offline Transaction in Funraise. Once the Transaction is saved in Funraise, a new Opportunity and Contact should be visible in Salesforce.

Does deleting a record in Funraise also delete the record in Salesforce?

No. Deleting a record in Funraise will not delete the record in Salesforce.

When creating a new Campaign Site in Funraise, what fields are populated on the Campaign in Salesforce? Can we adjust the field mappings on Campaign records?

When Campaign syncing is enabled for your integration, Funraise creates a Salesforce Campaign for each Home, Team, and Individual page created on your Campaign Site. Donations to these pages will be assigned the corresponding Campaign in Salesforce (Primary Campaign Source will be populated on the Opportunity).

When Funraise creates a Campaign record in Salesforce, it populates the following attributes:

  • Name (page name)

  • Description (appeal text)

  • Status

  • Expected Revenue (goal amount)

  • Funraise Id (Custom field added by Funraise)

  • Parent Id (for campaigns with individual or team fundraiser pages)

At this time, it is not possible to change the field mapping for Campaigns. If you decide to implement custom logic to alter these values, be aware that any updates to the page in Funraise (including changes to appeal text or goal amount) will cause the campaign record to sync again.

Are Campaign Member records created for donors to a Campaign Site?

No. Campaign Member records are not created in Salesforce for the donor to a Campaign Site. A Campaign Member record is created for the fundraiser.

If a record is updated in Salesforce, do the changes sync back with Funraise?

No, the Funraise Salesforce integration is one way, from Funraise to Salesforce.

When mapping, what does the “Constant” checkbox mean?

When mapping Funraise fields with Salesforce fields during setup, you can either choose to send data from Funraise or populate a constant value for a particular field. For example, If you have many sources connected to your Salesforce environment, you might have a custom field for “Source” and you could fill that field with a constant value of “Funraise” for records created by Funraise.

I want to use different values for Opportunity Stage than what Funraise populates. For example, “Received” rather than “Closed Won”

If Opportunity Stage is left unmapped, the following is how Funraise attempts to set it based on donation status:

  • If the donation is Complete in Funraise -> We query for an opportunity stage that is defined as isClosed = true and isWon = true

  • If the donation is Pending in Funraise -> We query for an opportunity stage that is defined as isClosed = false and isWon = false.

  • If the donation is Failed or Refunded in Funraise -> We query for an opportunity stage that is defined as isClosed = true and isWon= false.

  • If there are multiple Salesforce opportunity stages that meet the criteria, we pick the first one defined in the list (there is a sort order param).

Another option for using unique stage names is to create a custom field to store the Funraise Transaction status. From there, you could implement a custom workflow or formula to populate the stage based on the Transaction status that has been stored in your custom field.

Stand-alone Giving Forms (non-Campaign Site forms) do not create and sync with a Salesforce Campaign. How can I set Primary Campaign Source on Opportunities created from a stand-alone Giving Form?

Funraise only populates the Primary Campaign Source on Opportunities for donations made to a Campaign Site.

For Primary Campaign Source to be populated on Opportunity records that are tied to stand-alone Giving Forms (i.e. a Giving Form not associated with a Campaign Site), there may be some alternate strategies:

  • If the Primary Campaign Source is a static value (i.e. all opportunities originating from Funraise should have the same primary campaign source), you can specify the Salesforce Id of the Campaign when mapping Donation → Opportunity, using a constant value.

  • If the campaign association needs to be dynamic, you can create a custom field on the Opportunity to store the Giving Form name, or whatever field(s) the campaign association logic depends on. Then use custom logic, such as a process builder or formula, to populate the Campaign Id on the Opportunity based on the value(s) in this custom field.

I prefer that all my Opportunities are assigned to the same Salesforce Campaign, regardless of the Campaign Site page the donation occurred on. What are my options?

Funraise creates a Salesforce Campaign for each Home, Team, and Individual page created on your Campaign Site. Donations to these pages will be assigned to the corresponding Campaign in Salesforce.

If you prefer to have all Opportunities linked to a single Campaign in Salesforce, you can use a custom workflow. For example, create a custom field on the Opportunity to store the Giving Form name, or whatever field(s) the campaign association logic depends on. Then use custom logic, such as a process builder or formula, to populate the Campaign Id on the Opportunity based on the value from this custom field.

I want to connect my Funraise Salesforce integration to a different environment than it’s currently connected to. However, it remains connected to the same environment even though I’ve changed the environment (Production vs. Sandbox) and credentials. How can I fix this?

In Salesforce, from the environment you’re disconnecting from…

Go to Setup → Manage Users → Users

In the lightning experience, the flow is Setup → (Administration) Users → Users

  1. Find your user that was used to authenticate the Funraise integration

  2. From that user’s profile, navigate to their “OAuth Connected Apps” section

  3. Find the entry for Funraise, or the name you provided when configuring the app, and click “Revoke”

  4. Now, in Funraise, deactivate your Salesforce integration and then reactive it. When you reactivate it a popup should appear, giving you the option to either grant access using your currently logged-in user account or log in as a different user to complete the integration setup.

What are the criteria to match a Supporter with an existing Contact in Salesforce?

Supporters are matched with existing contact records when we find an exact match for any of the following:

  1. Funraise Id

  2. First Name, Last Name, and Email

  3. Email Only

  4. First Name, Last Name, and variations of MailingStreet, MailingCity, MailingState, MailingPostalCode, MailingCountry.

We discuss this above in more detail in the Contact Matching section.

What happens if Funraise encounters multiple Contact records with the same email address? What if they have different Funraise IDs?

Since Funraise ID is the first matching criteria used, that should narrow the contact that gets returned first. If the matching does rely on one of the criteria that utilize email addresses, the first contact returned by Salesforce is used.

I don’t want failed donations sent to Salesforce. How can we stop syncing failed donation records?

Funraise sends all transactions to Salesforce, including failed transactions as they may be helpful in an organization’s follow-up workflow. If you prefer to not have failed transactions synced with Salesforce, one option is to map Donation Status to a custom field on the Opportunity in Salesforce. Then implement a constraint on that custom field to disallow the creation of a record with “Failed” in that field, for example through a validation rule.

The Salesforce integration is overwriting the address information on my contact records. How can this be prevented?

When a new address is entered by an existing donor, Funraise updates the address and sends it to Salesforce. If you prefer to not have addresses updated when your donor enters a new address, you can create custom fields on the Contact in Salesforce and map Funraise address fields to these custom fields. Then implement custom logic to conditionally copy those values to the standard address fields according to your preferred logic.

I have Salesforce de-duplication rules on Contacts that are preventing data from syncing consistently from Funraise. How can this be resolved?

When a Contact cannot be found with our matching criteria, the integration will attempt to create a new Contact. However, if you have custom rules in your Salesforce to stop the creation of duplicate Contact records, Funraise may not be able to sync new records consistently (your rules may block our attempts). Typically, if custom duplicate rules are in place, we recommend using one of these solutions.

  • Set the rule to report instead of prompt, since our integration does not have the capability to respond to prompts

  • Modify the duplicate rule so that it excludes requests from the integration user

Can I connect multiple Funraise accounts to the same Salesforce instance?

Technically, there is nothing that prevents connecting multiple Funraise accounts to the same Salesforce instance, but we strongly recommend against it.

There are some details about how Contact matching works and the fields that are available through our integration that will require some additional workarounds.

For example, there is no unique identifier for the organization. This means it would be hard to see which donations came from which organization. In this case, you could get creative with a Giving Form name convention.

The other scenario to think through is how Contact matching works. There’s no provision for checking by the organization. Let’s say, donor1@example.org makes a donation to Organization A. A Contact record gets created for donor1@example.org when they make this donation... Then, If donor1@example.org later makes another donation to Organization B, that donation is likely to be linked to the Contact record created when the first donation was made to Org A.

I updated a lot records using the Funraise Self-Serve Import tool, will those updates sync to Salesforce?

During an import, data does not sync with integrations. This is by design because in most cases imported data already exists in an integrated system and a migration sync could cause issues with your integrated system API limits. If you need to make a batch update in both systems, we suggest using the data loading tools available in Salesforce to update the necessary records in addition to a mass update in Funraise.

My Nonprofit Success Pack Soft Credit roll-ups are not occurring because the Opportunity Contact Role of "Soft Credit" is not being created for fundraisers.

NPSP should allow for the modification of filters used in how the app calculates the credit roll-up. This may allow you to include our roles of Fundraiser and Team Captain. This article about NPSP may help.

We use Nonprofit Success Pack and the Contact record has multiple email addresses. Does Funraise's integration matching process include all NPSP email fields on the Contact?

No. The Funraise integration only looks at the standard email field for matching purposes.

Did this answer your question?