Overview
To use ColoradoGives.org Salesforce Integration, you must have an active ColoradoGives.org Advanced subscription.
If you have connected your Salesforce account while subscribed to Advanced, but later end your subscription to Advanced, data from ColoradoGives.org will no longer be updated in your Salesforce account.
Set Up
To connect your Salesforce account for integration with ColoradoGives.org, visit your organizations’ ColoradoGives.org page while logged in as an org administrator. From there, select the “Integrations” tab on the dashboard menu, and then click on “Salesforce”, either in the dashboard menu on the left or from the main “Integrations” page.
On the Salesforce page for your organization, if you are subscribed to ColoradoGives.org Advanced, you will see a button that says “Link Salesforce.”
Clicking this button will take you to the Salesforce authorization flow. From here, you will enter the username and password for the Salesforce account you are connecting.
The Salesforce user account you are connecting must have at least the following permissions:
- To create or update Contacts, Opportunities or Account objects in Salesforce, the “Read, Create, Edit, Delete, View All, Modify All on all standard and custom objects” permission is required
- To allow ColoradoGives.org to create and manage custom fields on Opportunity objects, the “Modify All Data” and “Customize Application” permissions is required. If you don’t want to (or are unable to) use an account with this permission, you will not be able to utilize additional custom fields for ColoradoGives.org data.
- ColoradoGives.org will not update or delete any existing data in your Salesforce organization. If able, we will create custom fields on the opportunity object to sync additional information about donations. Other than that, we will only create new instances of objects described below, or associate new instances of objects described below with existing objects in your Salesforce organization.
Options
- Disconnect Salesforce: use this option to disconnect the ColoradoGives.org Integration from your Salesforce account. This will not remove any existing data added to Salesforce from ColoradoGives.org, but it will stop ColoradoGives.org from sending any data to Salesforce in the future. You will also lose any existing settings for the integration. Once you have disconnected, you must reconnect your account using the Salesforce authorization flow as described above if you wish to use the Integration again.
- Enable Integration: this option determines whether data for new donations is sent to Salesforce. Turning this option off will only temporarily pause data being sent to Salesforce, and your authorized account and any settings will be preserved.
- Account Model Options: this option determines how ColoradoGives.org will create and associate Account, Contact and Opportunity objects in your Salesforce account. For more details on, this option, as well as these objects and their associations and relations to ColoradoGives.org Data, see “Salesforce Objects” section below.
API Transaction History
This table shows all API transactions ColoradoGives.org has made with your Salesforce account that resulted in data being retrieved, created, or updated. For example, an API call that created an Opportunity object, updated an Account object, or retrieved a Contact object, it will be shown in this table with details on the object affected and a link to access that object in Salesforce. However, an attempt to retrieve a contact by email that found no results in Salesforce will not be shown on the table. Instead, ColoradoGives.org will create a contact for that email address in Salesforce, and that transaction will be shown in the history with details about the Contact object created.
Salesforce Objects
Contact
ColoradoGives.org users that have donated to your cause will be synced to Salesforce as contacts. First, Salesforce will be queried for an existing contact with the user’s email address. If it exists, the contact is not updated, and is associated with the other objects created in Salesforce. If no contact currently exists for that email address, a new contact will be created to associate with the donation objects.
Fields:
Salesforce Contact Field | ColoradoGives.org Data Mapping |
FirstName |
User first name |
LastName |
User last name |
|
User email |
Phone |
User phone number (as provided with donation) |
MailingCity |
City of address associated with payment method |
MailingCountry |
Country of address associated with payment method |
MailingPostalCode |
Postal code of address associated with payment method |
MailingState |
State of address associated with payment method |
MailingStreet |
Street address of address associated with payment method |
*address fields such as MailingCity will be combined in Salesforce as a single “Address” field
Anonymous Donations: Some users on ColoradoGives.org or associated partners can choose to be fully anonymous when making a donation. In this case, a contact will not be created to avoid sharing personally identifiable information against a donor’s wishes.
Account
An Account object in Salesforce will be used to associate Opportunities, created to sync donation data, with Contacts, created to map user data from ColoradoGives.org. This can either be a specific account for each unique Contact / ColoradoGives.org user, or a common account that will be used for all Opportunities and Contacts added to Salesforce via ColoradoGives.org. You can control this setting with the “Account Model Option” on your organization’s Salesforce integration page:
- Default: the default account model option will create a new Account for each new Contact, or use an existing Account associated with a Contact if one is found. For example, if a contact with the email of the ColoradoGives.org user already exists in Salesforce, but that Contact is not associated with an Account, an account will be created with the name: “UserFirstName UserLastName”, and all objects (Contacts and Opportunities) stemming from that ColoradoGives.org user will be associated with this Account. If the existing Contact is already associated with an existing Account, that existing account will be used, and all objects associated with that ColoradoGives.org user will be associated with the existing account.
- Bucket: the bucket account model should be used when you want to associate all ColoradoGives.org objects with a single account. When you choose this option, you will be required to enter a name for the account. A new account with this name will be created, and all objects created in Salesforce related to your ColoradoGives.org data will be associated with this Account.
Anonymous Donations: as described above, anonymous donations will not result in an account being associated with any objects related to it. In this case, ColoradoGives.org will either use an existing Account created for anonymous donations with the name of “Anonymous - ColoradoGives.org Donation”, or if that account does not already exist, it will be created. Subsequently, any Opportunities created from fully anonymous ColoradoGives.org donations will not be associated with a Contact, and will be associated with the anonymous donations account as opposed to a specific account for a user.
Opportunity
An Opportunity object in Salesforce will be created for donations made to your organization on ColoradoGives.org. This Opportunity will be associated with the correct Account based on the status of data in Salesforce and your account model option, as described in the “Account” section above. Opportunities will also be associated with the correct Contact object, via the OpportunityContactRole object. An OpportunityContactRole of “Other” will be created for the Opportunity and the Contact, as required by the state of the data in Salesforce and any requests for anonymity from donors.
If your Salesforce account has the required permissions for creating custom fields, additional fields for mapping more comprehensive ColoradoGives.org data will be created for Opportunity objects. These fields can be identified by the “__c” at the end of the name, indicating a custom field. All custom fields will also indicate they are related to ColoradoGives.org in the name, label or description of the field.
Fields:
Salesforce Opportunity Field |
ColoradoGives.org Data Mapping |
Name |
In format: |
Amount |
Donation amount |
CloseDate |
Donation date |
StageName |
Will be set to “Closed Won” for completed donation |
ColoradoGivesDonationId__c |
ID of donation in ColoradoGives.org data. Can be used to match salesforce data to exported ColoradoGives.org data |
NetFees__c |
Total fees paid for donation |
ReferralCode__c |
Any referral code that may be associated with the session in which the donation was made* |
PaymentMethod__c |
Payment method with which the donation was made. For ex, “Credit Card” or “Paypal” |
DonationSource__c |
Name or title of the page the donation was made through. Set to name of organization if donation was made directly, as opposed to through a fundraiser |
DonationSourceUrl__c |
URL of page that donation was made through. Will be URL of fundraiser for fundraiser page, or URL of org page for a direct donation. |
Recurring__c |
True or false: true if the user set their donation as recurring |
RecurringPeriod__c |
If donation is recurring, the frequency at which the recurring donation is processed. Left blank if donation is not recurring |
CustomQuestion1__c |
The prompt of the first custom question answered with the donation |
CustomQuestion2__c |
The prompt of the second custom question answered with the donation |
CustomQuestion3__c |
The prompt of the third custom question answered with the donation |
CustomQuestion4__c |
The prompt of the fourth custom question answered with the donation |
CustomAnswer1__c |
The answer to the first custom question answered with the donation |
CustomAnswer2__c |
The answer to the second custom question answered with the donation |
CustomAnswer3__c |
The answer to the third custom question answered with the donation |
CustomAnswer4__c |
The answer to the fourth custom question answered with the donation |