CR+SF.png

CrowdRise + Salesforce Documentation

VERSION 2.0

Latest Release Date: Aug 30, 2017*

*We are often updating our Salesforce App fixing bugs and adding features.  Please check the "Release Notes" section for the most updated documentation.  

OVERVIEW

The CrowdRise for Salesforce App will allow you to import and process your CrowdRise data into your Salesforce orgs. Getting the details of your Events, Teams/Fundraisers, Donations, and Donors into Salesforce has never been easier. With just a few clicks, you can easily create Salesforce records from your CrowdRise data, and begin leveraging Salesforce.com’s powerful built-in tools like Reports and Dashboards, Workflows/Process Builder Flows for automation, and much more!

The CrowdRise for Salesforce App is configured to work as a stand-alone package or to work alongside Nonprofit Starter Pack (NPSP 2.0 & 3.0) or NGO Connect.  With all configurations, data is synced to Crowdrise custom objects and the standard Salesforce objects.  

After the CrowdRise for Salesforce App is installed and authenticated to sync data, you can elect a manual import or schedule a daily sync of your data to be imported into your Salesforce instance. 

Existing Data on Third Party Application

If your organization is looking to migrate data from a third party system to your Salesforce instance, CrowdRise for Salesforce support is unable to assist with this migration. This would be of the responsibility of your organization.

Technical Notes

CrowdRise for Salesforce uses ‘crowdrise’ as its namespace prefix. All custom field names referenced below should include ‘crowdrise__’ as the prefix if they are referenced via an API.

Salesforce Support

For clarification on the functionality of the integration, or assistance with a CrowdRise for Salesforce technical issue, our Salesforce team can be reached at salesforce@crowdrise.com.

Version History

The CrowdRise for Salesforce app is updated regularly with new features and improvements. View the version history for details on all changes and updates.

GETTING STARTED

Starting with v2.0 of the app, two different modes of operation are offered:

  • Simple (Import Only)
  • Advanced (Import w/ Processing) 

1.1 Installation

Installing the CrowdRise for Salesforce App is easy. Reach out to your CrowdRise contact to request more details about the CrowdRise Salesforce app to get started.

Tip: If you haven’t used the CrowdRise app previously or are planning on using the “Advanced Mode” to import data and have that data become new records in your existing workflow or update existing records, it’s highly recommended that you first install into your sandbox, preferably a full sandbox (partial can work, too) to have a practice go at configuring the mappings.

Installing

Once on the listing, click on the green “Get It Now” link.

Next, choose whether you want to install the app into one of your sandboxes (recommended) or your production org.

You’ll be shown various details about the app. You’ll need to first agree to the terms by checking the box next to “I have read and agree…” and then click on the “Confirm and Install” checkbox. After doing so, you may be prompted to log into your sandbox or production org of choice.

On the next screen, you’ll be asked to choose how permissions are configured for the components in the app. Often, choosing the middle option to install for all users is adequate as other factors in your org, like roles and sharing permissions, will also have control over which users are able to access the imported data. You can always choose to install for admins only and later apply permissions to the necessary Salesforce Users through Profiles and/or Permission Sets. 


Click on the “Install” button to continue.

Because the App performs communications between Salesforce and the CrowdRise API, you’ll be prompted to allow callouts to be made to the CrowdRise API endpoints. Check the box next to “Yes, grant access…” message and then click on the “Continue” button.

At this point, the installation process will begin.

After a few moments, you’ll either be prompted with a message that installation has completed or that installation is taking longer than expected and that you’ll receive an email when the installation process has completed.

If you’re unsure if the installation was successful, you can navigate to “Installed Apps” under the setup menu and look for “CrowdRise” to be included in the list of installed apps.

1.2 Authentication

After installation, toggle the App menu to “CrowdRise” to display the common CrowdRise App related Tabs.

Click on the “CrowdRise Configuration” Tab to get started. After doing so, the first thing you’ll need to do authenticate your CrowdRise account within Salesforce.

To do so, click on the “Authenticate” button.

Click on the “Log in” link

Enter your CrowdRise username and password and then click on the orange “LOGIN” button.

Click on the green “GRANT ACCESS” button to confirm that you’d like to allow Salesforce to communicate to the CrowdRise APIs as your user.

After doing so, you’ll be taken back to your Salesforce organization and you will see that you are now authenticated. Click again on the “CrowdRise Configuration” tab.

Common Next Steps

  1. Determine which mode you’d like to use (Simple vs Advanced)
  2. If using the Advanced mode, review the Object and Field Mappings
  3. Perform an initial full or partial historic import
  4. Review the imported data
  5. Revise configurations as needed/repeat
  6. Configure recurring/schedule import
  7. Install and configure in production

1.3 Upgrade

Should I Upgrade?

If you’re using v1.x of the CrowdRise for Salesforce app, it is suggested that you upgrade if:

  • You’re experiencing issues with v1.x
  • You’d like to take advantage of some of the new features

Upgrade Notes

If you do upgrade, be sure to:

  1. Re-authenticate from the “CrowdRise” Tab
  2. Enable the “Advanced Import” mode by using the “Show Advanced” button on the “CrowdRise” Tab
  3. Review and confirm your Salesforce Object and Field mappings using the “Configure Mappings” button on the “CrowdRise” Tab.
    • Apply the correct “Template” to pre-load the recommended object and field mappings.
  4. Re-schedule your daily import and consider enabling “New/Imported” syncs
Tip: Consider upgrading in a sandbox, preferably a recently refresh full or partial sandbox, prior to upgrading your Production org.

DEFINITIONS

2.1 CrowdRise Entities

There are different types of data that can be imported into Salesforce from your CrowdRise account. Each of the following types can be imported alone or in conjunction with the other CrowdRise data types. See the diagrams above for how these entities relate to each other.

  • Events
  • Teams - children of Events
  • Projects - children of Teams
  • Donors
  • Donations

2.2 Non-Profit Packages

It’s not uncommon for CrowdRise customers to use other Salesforce apps to provide additional functionality. Some of these packages include the Nonprofit Starter Packs v2.0 and v3.0 (also known as Nonprofit Success Packs), NGO Connect, Blackbaud’s Luminate CRM, and many more.

The CrowdRise app is compatible with many of these Nonprofit packages and allow for as much configuration and customization as desired so your CrowdRise data to be imported as seamlessly as possible into your business processes.

2.3 Simple Mode

Simple Mode is a one-step process where the CrowdRise App imports your CrowdRise data from CrowdRise to Custom Objects that are included with the App.

Using Simple Mode, the imported data will not create or update records outside of these objects (e.g., Campaigns, Opportunities, etc). If your org needs the CrowdRise data to create and update other Salesforce object types, you’ll need to enable “Advanced Mode” and define various target Salesforce Object and Field Mappings.

CROWDRISE ENTITY SALESFORCE OBJECT SALESFORCE TAB
Events Crowdrise_CrowdRiseEvent_c CrowdRise Events
Teams Crowdrise_CrowdRiseTeam_c CrowdRise Team
Projects Crowdrise_CrowdRiseProject_c CrowdRise Projects
Donors Crowdrise_CrowdRiseDonor_c CrowdRise Donors
Donations Crowdrise_CrowdRiseDonation_c CrowdRise Donations

2.4 Advanced Mode

The “Advanced Mode” takes the integration one step further and helps you merge this data into your existing schema, allowing for the easy matching of existing records and creation of new records, like Campaigns, Opportunities, and Contacts.

Advanced Mode is a two-step process where Step 1 is the same as “Simple Mode.” Once imported and in Salesforce, a 2nd step “processes” the data. Processing of the imported data moves the data from the Custom Objects included in the app to the target Salesforce objects’ records, as specified by you in the app’s object and field level mappings.

Example: Step 1 imports your CrowdRise Donations into the “CrowdRise Donations” Custom Object. Your configuration has specified that CrowdRise Donations should be processed into your Org’s Salesforce Opportunity records. Each “CrowdRise Donation” record is examined and an attempt to pair each up with an existing Opportunity is made. If a matching Opportunity is found, the record is updated. If the record is not found, a new Opportunity is created. Once this is done, the original “CrowdRise Donation” Custom Object record is removed (your CrowdRise data is always maintained). In the event of any errors while updating or creating new Opportunity records, the “CrowdRise Donation” record is updated to include details about the error encountered (see “errors”).

GETTING TO KNOW THE APP

3.1 Tabs

CrowdRise Configuration

Global and/or app wide settings are found on this page. These include (by section):

Import Options

Authentication:

  • Review, reset and/or reauthenticate the CrowdRise account to use in your org.

 

Import Options:

  • Last Sync Date: Date of the last successful import
  • Enabled CrowdRise Entities: Using CTRL+click, highlight the CrowdRise entities you wish to have imported into your Salesforce org. Those left unselected will not be imported.
    CrowdRise Tabs (relating to CrowdRise Entities)

Import Time Range for Donations:

  • Sync Type: Multiple options exist to control the number of records imported, based on donation date.
    • All: A full historic sync that will import all data that exists on your CrowdRise account.
  • Specific Time Frame: Instead of importing everything, only import donations within the Start and Stop times specified.

  • New/Updated: Only import records after the date specified. If using this option in conjunction with the scheduled/recurring daily import option, the date specified will be updated to the start of each day’s job to ensure a full, rolling, import window from day to day.

Scheduling:

  • This allows you to enable a daily recurring import. Once enabled, specify the preferred run time.Other Tabs

Import Results

This section gives insight into the records imported via the CrowdRise API. Each row represents a different CrowdRise Entity. The second column displays the number of records created. The “Actions” column displays any options enabled.

Simple Mode:

  • Buttons
    • “Remove All” button: This will remove ALL CrowdRise object records for each Custom Object.
    • “Refresh” button: While an import job is running, this button can be used to update the table.
  • Columns
    • Import Object: The App includes one Custom Object per CrowdRise entity. Each row represents the records of that object type.
    • Record Count: The number of records for that CrowdRise Entity’s Custom Object.
  • Actions
    • “Remove All” links: On each CrowdRise Entity’s row, the “Remove All” link will only remove records of that type.

Advanced Mode:
  • Buttons
    • Process All: Unique to the “Advanced” mode. After being imported, each of the created CrowdRise objects’ records are processed. This button begins the processing portion of the app, working through all of the CrowdRise objects, starting at the top, working to the bottom, from Events down through Donations.
    • Remove All: Same as simple mode
    • Refresh: Same as simple mode
  • Columns
    • Import Object: Same as simple mode
    • Record Count: Same as simple mode
    • Processing Errors: As imported records are processed, it’s possible that org customizations, mapping mistakes, etc will prevent records from being processed. When this happens, dedicated fields on the records (Processing Error, Processing Error Details, and Processing Error Date/Time) are populated. The number in this field represents the number of records that could not be processed and need attention.
  • Actions
    • Process: Perform the processing for only the object on this row.
    • Reset Errors: Errors on each record can be cleared up individually as addressed or en-masse by using this button. This button clears the Processing Error fields (Processing Error, Processing Error Details, and Processing Error Date/Time).
    • Remove All: Same as above

CrowdRise Tabs (relating to CrowdRise Entities)

CrowdRise Events, Teams, Projects, Donations, and Donors Tabs include similar Salesforce “Views.”

  • All: Displays all imported records. If using the “Simple” mode, these tabs will include all of the imported records. If using the “Advanced Mode,” these records may include those not yet processed as well as those that have experienced an issue or error while being processed.
  • Processing Errors: While using “Advanced Mode,” this option displays only the records that have experienced issues and errors while being processed. See the Advanced Mode section on Errors for more details.

Other Tabs

CrowdRise Logs: CrowdRise log records are created while importing as well as processing takes place. Within the “Advanced” section of the “CrowdRise Configuration” Tab, an option is available to control the granularity of the CrowdRise Logs. “Debug” mode will capture the finest level of detail and should be used when working with the CrowdRise Support team to capture data for troubleshooting purposes. In most circumstances, the “Error” level is sufficient for only capturing details about problems encountered while importing or processing.

3.2 Advanced Mode Details

With “Advanced Mode” enabled, an additional configuration page becomes available to you through the “Mapping Configuration” button on the “CrowdRise Configuration” Tab. This page is where you’ll define how each CrowdRise entity is processed, including items like specifying Target Objects, creating simple CrowdRise data point to Salesforce Field mappings, and creating “Static Mappings.”

Mapping Objects

Each CrowdRise Entity imported can be assigned a different Salesforce object as its target object. As a reminder, “Advanced Mode” is made up of two stages. Stage 1 simply imports all of the data into the CrowdRise Custom Objects. Stage 2 is where the mapping configuration comes into play. Within this stage, the imported data of Stage 1 is then

Mapping Fields

Each CrowdRise Entity has many different data points specific to that entity. Each data point can be mapped to fields of the Target Salesforce Object. For example, the CrowdRise Donation Amount field is mapped to the Opportunity Amount field. Not all fields are mapped by default; for most objects, only the required fields are. Addition mappings can easily be created from the “Mapping Configuration” page.

Where will your data go? See this document for the default CrowdRise to Salesforce Object and Field mappings.

Mapping Templates

Mapping Templates are sets of pre-defined Object and Field mappings that have been provided to you to allow easier mapping of the objects used with various nonprofit packages, like the NPSP 2.0/3.0 and NGO Connect.

Person Object Types - Defined

CrowdRise Donors are people. Within Salesforce, Leads, Contacts, and Person Accounts can all be people. When you see the language “Person Types” within the app, understand that this is a shortened way of saying a Lead or a Contact or a Person Account (if enabled).

Person Object Types - Matching Existing

Each CrowdRise donation is associated with a Donor. Again, Donors may be any of the “Person Types” defined above in your Salesforce org. The app will attempt to match the donor, based on First Name, Last Name, and Email across Leads, Contacts, and Person Accounts (if enabled). This allows for better integrations into Salesforce orgs in which it is preferable to create new people as Leads and convert them to Contacts at a later time.

Person Object Types - Matching Priority

Because the app can search across a few different Salesforce objects to find existing records that match the donor’s information, it is important to have a clear strategy in deciding which record should win in the event of multiple matches. The “Matching Priority” setting allows you to define which type of record should be used in the event of multiple matches. IE: If the setting is set to allow Contacts to win over Leads, in the event that a John Smith donor is found as both a Lead record and Contact record, the Contact record is used.

However, keep in mind that each CrowdRise Entity has its own Target Salesforce Object that is used when no matches are found. If the Target Salesforce Object for CrowdRise Donors was set to Leads in the example above, and no John Smith was found in either Leads, Contacts, or Person Accounts, a new Lead record would be created. Upon subsequent processing of additional John Smith donations, this new Lead record would be used going forward.

Processing by Entity Type

If you’ve manually ran an “Import and Process” job or have the setting enabled to allow recurring daily/nightly imports, the app will first import all of the records and then CrowdRise Entity by CrowdRise Entity process all of the records.

From the “CrowdRise Configuration” Tab, it’s entirely possible to run processing for a specific CrowdRise Entity only. This is useful in the scenario where you’d just remedied an issue that caused many imported records not to be processed (maybe a conflicting Validation Rule or Required Field) and you need to retry the processing of all those records again, without re-importing first.

Processing by Record

It may also be helpful to try/retry the processing of an individual imported record. This can be done by navigating to one of the CrowdRise Custom Object records and clicking on the “Process Now” button. This will apply the processing rules and mappings to only this record.

CrowdRise Custom Object Records Disappearing?

Are you noticing that the record counts of your CrowdRise Custom Objects keeps reducing or maybe disappearing entirely? If you are using “Advanced Mode,” this is completely expected. The imported data from CrowdRise only lives as a Custom Object record until it is processed. If it can be processed and either ends up creating a new Target Salesforce Object record or updating one, the Custom Object record will be removed. If an exception or processing error is experienced, the record is kept, but updated with the error language of the issue that prevented it from being processed.

3.3 Monitoring Progress

Errors

On the five “CrowdRise” Custom Objects, included with the app, there are three fields that provide information around any Salesforce errors experienced while processing the records (when “Advanced” mode is enabled).

Processing Error: This checkbox

MAPPING CONFIGURATIONS

The following documentation pertains to the “Mapping Configuration” screen, accessible via the “Configure Mappings” button on the “CrowdRise Configuration” Tab when “Advanced Processing” is enabled.

4.1 Navigation

On the “Mapping Configuration” screen, there are two sections of this page. The top half allows you to control which CrowdRise object you are configuring and what types of configuration changes you see on the bottom half of the screen.

 

4.2 Which CrowdRise Objects?

Your CrowdRise.com data is comprised of a few different data types that are related to each other. The CrowdRise data types are:

  • Events
  • Teams
  • Projects
  • Donations
  • Donors
Each of these data types are imported into Salesforce and can have a different set of mapping configurations applied to each, allowing you to customize how and where your imported data is working with your Salesforce org’s objects, fields, and existing records.

When you select a CrowdRise object from the dropdown, the settings on the rest of the page pertain to this CrowdRise object type.

4.3 CrowdRise Object Settings

For each CrowdRise object, there are five different collections of settings, grouped by purpose, that can be configured. Each will be detailed below.

  • Target sObject Settings
  • Map Simple Fields
  • Map Lookup Fields
  • Map Lead/Contact Lookup Fields
  • Map Static Values

4.4 Target sObject Settings

Target sObject Settings are the high level/object level settings that apply to your selected CrowdRise object.

Target Salesforce Object

Each CrowdRise object type can point to a different Salesforce sObject, whether you opt for a standard, out-of-the-box Salesforce object, or a Custom Object that you’ve created or has been created for you via another AppExchange App.

The Salesforce Object selected in this dropdown will be the object searched when checking for existing records and will be the object type used when creating new records when no existing records are found.

Below are the default CrowdRise to Salesforce object mappings:

CROWDRISE ENTITY SALESFORCE TARGET OBJECT
Events Campaign (Event RecordType)
Teams Campaign (Team RecordType)
Projects Campaign (Project RecordType)
Donors Contact
Donations Opportunity

Record Type

If the object you selected as the “Target Salesforce Object” has and makes use of Record Types, any available Record Types will be displayed in this dropdown.  All new records created by the app will be created with this Record Type.

Naming Convention

When records of most Salesforce object types are created, there is a default “Name” field that needs to be populated (e.g. the Campaign and Opportunity objects). This setting allows you to have control over how the “Name” field for applicable objects is populated, using a formula field that is constructed the same way you would build a Salesforce email template merge field (i.e., where {!<yourField>} represents a dynamic field to be populated by the value of that field on the record being updated.

The above example uses two merge fields:

  1. CrowdRise__Event_Name__c
  2. CrowdRise__Entity_Id__c

It also has static text included as well, a hyphen between the name and id. Any text that isn’t part of a merge field tag is treated as static text and will always be present.

If the formula were to run on a field where:
CrowdRise__Event_Name__c = Summer Fun Run 2017
CrowdRise__Entity_Id__c = 12345

Then that record’s name would evaluate to and result in a record name of: Summer Fun Run 2017 - 12345.

Create Donors as Campaign Members

This is a special setting that is only displayed when:

  1. You’re mapping CrowdRise Events, Teams, or Projects
  2. The Target Salesforce object is Campaign
  3. The Target Salesforce object for Donors is set to Leads or Contacts

The purpose is to allow each “Donor” that exists as a Lead or Contact to be added to the related Campaign(s) as a Campaign Member.


(Pending v2.3 Release)

Note: If the same individual makes multiple Donations, that Donor’s Lead or Contact record will only be related to the Campaign once. This is native to Salesforce to prevent you from adding the same individual to your various Campaign distribution lists more than once.

Create Opportunity Contact Roles

Opportunity Contact Roles are a native feature of Salesforce that allows for the identification of individuals that are involved with the Opportunity. How they are related to the Opportunity is defined by the “Role” associated w/ that Contact within these Opportunity Contact Role records.

The CrowdRise app can be configured to automatically create Opportunity Contact Roles for you, based on the resulting Contacts for Donors and/or Project Owners.

These settings are only displayed when:

  1. You’re mapping CrowdRise Donations
  2. The Target Salesforce object is Opportunity
  3. Target object for Donors/Project Owners is set to Contacts

When enabled, each Donation created as an Opportunity will list the Donor and/or Project Owner within the Opportunity Contact Roles related list, with the role defined for each in the section of Donation mappings, displayed below:


Options for configuring OCRs are found on the Mapping Configuration Page, under “Donations”

Create Parent Accounts

This is a special setting that only displays when mapping CrowdRise Donors and the target object is Contact.


The purpose of this setting is to prevent orphaned Contacts, Contact records without a parent Account. There are 5 settings to help control when an Account is created for your Donor Contacts that don’t have parent Accounts.

Don’t Create
This doesn’t do anything to populate Contact.AccountId. Useful for when you have other logic in your org, like custom triggers, Workflow/Process Builder Flow Field Updates, or other packages, that will populate the Contact’s Account.

Per Donor
This will create a new Account for every Donor. A John Smith Donor will have a parent “John Smith” Account. This setting results in the most Account records created.

By Event
To reduce the number of Accounts created, but ensure that Donor Contacts have a parent Account, all of the Donors related to Donations will be related to a single Account. Each Event will have a maximum of 1 Account record used for any Donors making Donations under that Event that don’t already have an Account. The resulting Account might be named something like “Summer Fun Run 2017,” named after the Event.

By Team
Same logic as the above, but a single Account for each Team. All the Contacts that need parent Accounts that belong to the same CrowdRise Team will have the same parent Account. A resulting Account might be named something like “The Fun Runners” named after the Donors’ Event’s Team.

By Project
Same logic as above, but the next level down (keeping in mind that Projects are children of Teams, which are children of Projects). This results in less Accounts that the “Per Donor” but more than either “By Event” or “By Team.”

Match Priority/Person Object Type Priority

In Salesforce, it’s entirely possible that your CrowdRise Donors exist as Leads and/or Contacts (and/or Person Accounts, if enabled, too), depending on your business logic. Whenever the app is attempting to match existing records, this settings allows you to control which type of record should be used, in the event that both a Lead and Contact are identified.

The object on top will be used first.


In the above sample, if our “John Smith” Donor exists as both a Lead and a Contact, the Contact will be used for all field relationships within “Map Lookup Fields” and the “Map Lead/Contact Lookup Fields” mappings.

Max Records Per Batch

Records are imported from CrowdRise into Salesforce through a series of batch jobs. Sometimes, logic that exists within your org won’t be compatible with these batch jobs and result in Salesforce system limits being exceeded. This can come from custom logic and Apex code you’ve written for your org or logic within another AppExchange app.

In the event that this logic doesn’t work well with the default batch size of 200 records at a time, you can throttle the number of records being processed by using this setting, down to the point of batches processing single records.

Keep in mind that the lower the number, the more batch job iterations will be required to process all of your data. More batch job iterations results in longer import job durations.




4.5 Map Simple Fields

For each CrowdRise object, there is a set of CrowdRise data points that can be mapped to your Salesforce object’s fields. The “Map Simple Fields” section allows you to just that.

Choose the CrowdRise data point you want to map to your Salesforce record in the dropdown within the “CrowdRise Field” column and then choose the desired Salesforce field within the “Target Salesforce Field” column.

In the case where a record already exists in Salesforce, the “Allow Overwrite” checkbox allows you to control whether or not the value from CrowdRise can overwrite an existing field value in Salesforce. If the field is blank in Salesforce, but CrowdRise has a value, the Salesforce field will be populated. However, if there is an existing Salesforce field value and the “Allow Overwrite” checkbox is not checked, then the record’s value will persist and not be overwritten.

4.6 Map Lookup Fields

Your CrowdRise data is related to each other. A Donor should be connected to a Donation and both the Donation and the Donor should be connected to your Project, Team, and ultimately the Event.

The “Map Lookup Fields” section allows you to populate lookup fields for the various relationships amongst your CrowdRise data.

CrowdRise Field:

Each column row is a different relationship (e.g., relating Donations to a parent Event or to its Donor).

Target Salesforce Field:

The first dropdown is the Lookup field on your target object that you want to populate.
The second dropdown is the external Id field on the related object. This will be the field used to match the correct parent record.

Allow Overwrite:

Same use as within the “Map Simple Fields”



For the above example:
Assume that our CrowdRise Event is mapped to “Campaign” and CrowdRise Donation is mapped to “Opportunity.

CrowdRise Field:

Parent Event for Donation - this is the label for the relationship we’re trying to auto-populate. Essentially, we’ll be creating an Opportunity record with a lookup field to a parent Campaign. This will create the relationship between the CrowdRise Donation and Event within Salesforce by creating a relationship between the resulting Opportunity record and its parent Campaign

Target Salesforce Field

  • Crowdrise__CrowdRiseEvent__c is the name of the Campaign Lookup field on the Opportunity object.
  • CrowdRise__Entity_Id__c is the name of the external Id field on the Campaign object. When the app is processing records, it know the CrowdRise Id of the parent Event for the current donation and therefore will look in all of the Campaign records for a Campaign where Crowdrise__Entity_Id__c matches the CrowdRise Id of this Donation’s Event. If found, the Crowdrise__CrowdRiseEvent__c Campaign Lookup field will be populated with the Campaign record identified.
    • This results in the Lookup field on the Opportunity being populated with a value that can be clicked on to access the parent Campaign
    • On the parent Campaign, there will be a “Donations” Related List to show you all of the Opportunities that have this field populated.

4.7 Map Lead/Contact Lookup Fields 

This is a more complex version of the “Map Lookup Fields” section. When using this section, keep in mind that each Donation will have a related Donor and that Donor will either be a Lead or Contact record.

This section of mappings allows you to populate Lookup fields on your target object, based on values found on the matching Donor’s Lead or Contact record.

For example, assume we’re mapping Donation fields and our target object is Opportunity. The Opportunity object has a standard field called “Account” (or possible “Household” if using an NPSP). We want to configure a mapping that populates the Opportunity’s Account field with the Account field found on the Donor’s Contact.

CrowdRise Field:

The label of the relationship to be populated. In the above example, the row displayed is the one that will populate the Opportunity’s parent Account (i.e., Opportunity.AccountId).

Lead Match:

The Donation Donor will either be a Lead or Contact record, either new or existing. If the resulting Donor match is a Lead record, the “Lead Match” column will be used.
Lookup Field: This is the field on the target object we want to populate. For this sample scenario, we’re not attempting to populate any Opportunity fields when a Donor is matched to a Lead record.

Use Value From Lead’s:

This is the field on the Lead record we want to take the value from to populate the above lookup field. Again, in this sample scenario, we’re not doing this.

Contact Match:

Same as “Lead Match,” but used in the event the Donation Donor results in a Contact record match.
Lookup Field: Same as above - we want to populate the Opportunity’s Account field (i.e., Opportunity.AccountId).
Use Value From Contact’s: Same as above - in this case, our Donation’s Donor resulted in a Contact record for that Donor. We want to take the Contact’s Account (i.e., Contact.AccountId) to populate the above lookup field (i.e., Opportunity.AccountId).

Allow Overwrite:

Same effect as the “Map Simple Fields” setting.

4.8 Map Static Values 

This section is used when you always want to populate a specific field with the same value, a value not derived from the imported CrowdRise data.



In the above example, we’re always populate “StageName” with the value “Closed Won.”

Allow Overwrite:

Same effect as the “Map Simple Fields” setting.

RELEASE NOTES

We will periodically make fixes and updates to the CrowdRise for Salesforce App.  These are full upgrades and will not require any additional work on your end.

There are currently 4 updates to this version.  Please see release notes below for more information

2.6 Release Notes

Overview

This minor release was primarily focused on supporting a new field supported by the API, the Recurring Donation field.

Enhancement:  Import Recurring Donation Status on Donations

Changes

The current version supports importing the “Recurring Donation” field.  It will be stored in the IsRecurring checkbox field on the Donation Import object, as shown here:


This field can be mapped to any checkbox field you like on the object that you are processing your Donations to (by default this is Opportunities).

2.5 Release Notes

Enhancement:  Minor bug fixes and error handling improvements

2.4 Release Notes

Overview

This release is mainly focused on some improvements to layout and base functionality, as well as an enhancement to the Hierarchy mechanism and the scheduling of imports.

Enhancement:  Full Salesforce Hierarchy Support

Changes

In previous versions of the app, when importing donations you had to choose whether to set the “Primary Campaign Source” as it’s Project, Team, or Event.  This meant that the Salesforce Hierarchy-based rollups would not include those donations in the appropriate tiers.

This release has enhanced the import system to use a ladder approach for the Donations.  Now when a Primary Parent is selected, it will attempt to link to that level first, but if it doesn’t exist it will try the next level up until it reaches Event.  (Beginning at Project, then Team, ending on Event)

Upgrade Note:

Most configurations prior to this upgrade were configured to use the Event as the Primary Parent.  To take advantage of this function, it is suggested that the configuration be changed to Project as Primary Parent.

Enhancement:  More Frequent Import Scheduling

Changes

In previous versions of the app, the only option for scheduling your imports was to pick which time the import runs.  Now you are able to configure from 15 minute up to 24 hour intervals.

Upgrade Note:

Previously scheduled syncs will be unchanged until you select a sync time or turn recurring on/off.

Enhancement:  Enhanced Layouts

Changes

We now include some pre-designed layouts for more effective and clean display of the data coming from CrowdRise.

Installation/Upgrade Note:

You will need to follow several steps to implement the new Layouts:

First, from the Settings page on the left side select Customize then Campaigns, then click Page Layouts.


Then click on the Page Layout Assignment button in the middle of the page.

On the page that loads, select the “Edit Assignment” button


And now you’re finally on the screen to define what layouts you want to implement.

Find the column for CrowdRise Event along the top (1) and then go down the list, clicking on each row that matches a profile (2) that uses CrowdRise.  Click on the heading to select an entire column or row at once.  Once you’ve selected all the relevant fields for Event, pick the Page Layout To Use (3) as CrowdRise Event.  All the selected fields should change to that value.  Now repeat that process for Project and Team, using CrowdRise Project and CrowdRise Team as the layouts, respectively.



Enhancement:  Additional Field supported in Mapping

Changes

We now include support mapping the Recurring Donations field.  It will be saved in the isRecurring__c field on the import object, or processed through to whatever field it’s mapped to.  The value will be set to True if the donation is Recurring, or False if it is not.

2.3 Release Notes

Overview

This release focuses on expanding the abilities of the app to work with and create Campaign Members.

A “Campaign Member” is a native Salesforce object that allows Salesforce orgs to associate individuals, typically Lead and Contact records, with a Campaign.  This gives the org’s users the ability to have a list of all associated people with that Campaign.  Typical use cases are the inclusion of these individuals on email marketing campaigns and reporting purposes.

Important Note about Campaign Members

Salesforce prevents the same Lead or Contact record from being associated with a Campaign, as a Campaign Member more than once.  If John Smith is a Donor towards one of your Campaigns, the John Smith Contact record will only be (and can only be) related to the Campaign record once.  The general idea behind this is to prevent the same person from being added to the campaign multiple times and being included in your marketing efforts more than once (i.e., when sending an automated marketing email to a Campaign’s Campaign Members, each person should receive it once, not multiple times).

Enhancement:  Campaign Members for Event, Team, and Project Levels

Changes

In previous versions of the app, Campaign Members could only be created for Donors as they relate to Campaigns at the CrowdRise Event level.  Starting with v2.3, you can now elect to create Campaign Member records for the Team and Project Campaign levels as well.  

Included in this release are two additional checkboxes on the Campaign Member object to help you report and filter on which of your Leads and Contacts within the Campaign Members were added due to their role in the donation as a Donor or Project Owner.  The field labels for these new fields are “CrowdRise Donor” and “CrowdRise Project Owner.”

Upgrade Note:

If you previously had the option to create Campaign Members enabled, creation of Event level Campaign records for Donors will continue.  You will need to update your app’s configuration to create Campaign Member records for Teams and Projects.

Enhancement:  Campaign Members from Donors and Project Owners

Changes

In previous versions of the app, the ability to create a Campaign Member, based on the Donor’s Lead or Contact (depending on your app’s mapping), existed.  In v2.3, you have the ability to create Campaign Members for Donors as well as Project Owners.


 

Upgrade Note:

If you previously had the option to create Campaign Members enabled, creation of Event level Campaign Members for Donors only will be enabled for you.  You will need to update your app’s configuration to take advantage of the Project Owner Mappings.

Version 2.2 Notes

Ability to Map Project Owners

In previous versions of the CrowdRise app, Project Owner details were only mappable as part of the Project level mapping. Data points like Project Owner first name, last name, and email address could only be mapped to fields on the Project’s target Salesforce object.

This version keeps that functionality, but also allows you to map Project Owners as their own entity, targeting either Salesforce Leads or Contacts, just as you currently do for Donors. Within this object level mapping, you have the ability to map all Project Owner related data points such as:

  • First Name
  • Last Name
  • Email
  • Address 1
  • Address 2
  • Address 3
  • City
  • State
  • Zip
  • Country
  • Contact Roles

Enabling the “Project Owner” object

 

The “Import Results” or “Records Pending Processing” table now include “Project Owner”

New “Project Owner” mapping options

 

Note: This object will not be enabled upon upgrade for existing customers. Customers installing the app for the first time will have this option enabled by default.

New Opportunity Contact Role Options

When your mapping configuration targets Salesforce Opportunities for CrowdRise donations, there has always been the option to let the app create Opportunity Contact Role records to relate the Donor’s Contact to the Opportunity Donation. When enabled, the Opportunity Contact Role record’s Role value was always set to “Donor.”

Starting with this version, the following enhancements are included:

  1. Ability to define which “Role” value to assign to the Opportunity Contact Role Donor, if enabled.
  2. Ability to add an Opportunity Contact Role for Project Owners
  3. Ability to define which “Role” value to assign to the Opportunity Contact Role Project Owner, if enabled.

The ability to create OCR records for Project Owners gives many customers, using NPSP, the ability to leverage CrowdRise data within their NPSP nightly calculation of Soft Credits. To do this, simply configure the “Role” defined for the Project Owner OCR to be one of the Roles included in your NPSP Soft Credit defined roles.

For more details on this feature, see this section.

Donation Affiliates Mapping (also referred to as chapters or aliases)

A new field mapping at the Donation level, named “Charity Name” has been added to allow customers to map a Donation’s Charity Name to their field of choice in Salesforce for the configured Donation Target Object. This field can also be used for Charity Aliases/Chapter Codes. For more details on these advanced usages, please contact CrowdRise support.

This is not mapped by default upon upgrade for existing customers or first install for new users of the app.


Creating the new mapping for Charity Name

Version 2.1 Notes

Resolves “No such column 'crowdrise__uniquepersonid__c' on entity 'Contact'” when using the “Process Now” button on CrowdRise Donation records.