This article contains the most common technical questions about Funraise's Salesforce integration. To learn more about the integration, please visit the primary integration documentation.


Frequently Asked Questions

Please note: 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.

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 representing 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?

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:

  • Funraise Donation Status → Opportunity Stage

  • Failed, Refunded → Closed Lost

  • Pending → Pending

  • Complete → Closed Won

One option for using unique stage names is to create a custom field to store the Funraise donation status. From there, you could implement a custom workflow or formula to populate the stage based on the donation 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 of 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?

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

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 utilizes email address, 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.

What are the Opportunity Contact Roles and how are they assigned?

The four Contact Roles that the Funraise integration might assign are 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)

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?