Salesforce Dealer CRM Integration

Overview

The purpose of this document is to show the set up and mapping of the outbound lead integration from Aimbase to Salesforce, and the inbound lead disposition being sent from Salesforce to Aimbase. We currently use the outbound messaging and workflow rules (or process builder) in Salesforce to send these fields to Aimbase. Please note that these instructions are subject to custom fields by organization. 

For an outbound lead integration, Aimbase leverages the standard lead object in Salesforce. If lead is converting to an opportunity there is a setting in admin on the profile to continue to see the converted lead. To access this setting you can do the following: 

  1. Go to the profile that is connected to the integration (ie: system administrator)
  2. Go to app permissions
  3. Select View and Edit Converted Leads

This will allow the integration to update that lead even if it is converted. 

Outbound Lead Integration

1. Authentication. 

        For authentication with Salesforce a username and password are required. It is recommended that this is an account that wouldn’t have frequent use         outside of the integration. Passwords can expire automatically through Salesforce; if possible, set this Salesforce user password to never expire.  

Delete

Note

Changing your Salesforce username or password after the integration is complete will break the integration. Any changes to authentication need to be communicated to Rollick 

2. Setup the connected App. 

A connected app will allow the Aimbase application to authenticate and push lead data into your Salesforce instance. Creating a new connected app will generate the Client ID and Client Secret values that are necessary for the integration to establish trust between systems. 

Create a new connected app through Salesforce. Access the app section under Setup – Build - Create – Apps. On this           page there are multiple sections of apps divided by the app type. Be sure to click the New button within the Connected  Apps section of the page.   

For more information, refer to Salesforce documentation found here. 

3. Fill out the App information below:  

  • Connected App Name: Rollick Leads 
  • API Name: RollickLeads 
  • Contact Email: [enter a support email] 
  • Check Enable OAuth Settings [this will bring up new fields] 
  • Callback URL: https://localhost:8443/RestTest/oauth/_callback 
  • Select OAuthScopes: Select these two scopes: 
    • Access and manage your data (API) 
    • Full access (full) 


4. Click the Save button. 

  • Once the app has been saved, the next page will contain a section labeled API (Enable OAuth Settings). Those two sections will have the Client ID (Consumer Key) and Client Secret (Consumer Secret). Click to reveal the consumer secret and copy both field values. These fields will need to be labeled and sent to Rollick in order to complete the integration. 
  • Client ID and Client Secret can be revisited in the Build section of Salesforce by editing the connected app and by saving again. 

 

5. Set the IP Relaxation setting. 

    The IP Relaxation settings need to be adjusted to Relax IP restrictions. To do this go to Setup Administer - Manage Apps - Connected Apps. From the list select the connected app and then click on the Edit Policies button. In the IP Relaxation drop down list select Relax IP restrictions and then click on Save at the bottom of the page. 

6. Provide the COE the following: 

  • Consumer Key 
  • Consumer Secret 
  • Username
  • Password
  • Instance (can be found in the setup > Company> Company Information - see screenshot below)

 


7. Field Setup: 

 The core lead object is used to receive the lead data pushed from your Aimbase instance to Salesforce. Below is a list of fields that the connector will be sending to Salesforce. The LeadUid field is used to determine if the lead exists. If the lead does exists, the lead will be updated. If the lead does NOT, exist then the lead will be created. 

 If any of the fields below are missing from the lead object, they need to be created prior to testing the integration

Field Type 

Aimbase Field Name

Editable

Length 

Salesforce Field Name 

Text 

LeadUid (Aimbase_instance-leadid)


255 

LeadUid__c

Text Aimbase_instance-leadid
255 AimbaseIdentifier__c

Text

Score 


255

LeadScore__c

Date

LeadDate 


N/A

LeadDate__c

Text 

LeadCategory


255 

LeadCategory__c

Text 

LeadType


255 

LeadType__c

Text 

LeadSource


255 

LeadSource

Text ProductBrand
255 ProductBrand__c
Text ProductMake
255 ProductMake__c
Text ProductName
255 ProductName__c
Text ProductType
255 ProductType__c
Text ProductYear
255 ProductYear__c
Text Comment
255 Comment__c

Text 

FirstName 


255 

FirstName (SF Standard Field) 

Text 

LastName 


255 

LastName (SF Standard Field) 

Text 

Email 


255 

Email (SF Standard Field) 

Text 

Address


255 

Street (SF Standard Field) 

Text 

City 


255 

City (SF Standard Field) 

Text 

State 


255 

State (SF Standard Field) 

Text 

PostalCode 


255 

PostalCode (SF Standard Field) 

Text 

Country 


255 

Country (SF Standard Field) 

Text Phone
255 Phone (SF Standard Field) 

Text 

MobilePhone 


255 

MobilePhone (SF Standard Field) 

Text  Company
255
Text  Industry
255


Inbound Disposition Integration

The basis for sending the disposition back to aimbase is an outbound message. There are (2) objects that need to be setup. 

  • Lead Object or Opportunity Object, pending on how your Salesforce account is setup. This object is used to capture the lead status changes in Salesforce and send back to Aimbase. 
  • Activity Object that is used to capture the activity that is happening on the lead. i.e.call, notes, email, appointment etc. 
  • Note, that the values for Lead/Opportunity and Activity object will need to be provided to the COE so the values can be mapped to a standard set in Aimbase. 

Prior to sending disposition, please provide list of activities and statuses that Rollick should expect. Rollick will handle mapping your values to the Rollick values listed below. This mapping must be completed prior to sending disposition to the qa or production endpoint. If there are any values that would fall outside of this mapping, we would still like to see examples to consider creating a new activity or status. Note, the mapping should be 1:1 between Salesforce and Aimbase. 

  • Activities
    • Email
    • Call
    • Text
    • Note
    • Appointment
    • Quote
  • Status: 
    • Viewed
    • Assigned 
    • Working
    • Sold
    • Lost
    • Abandoned


Authentication is not required. Lead Disposition API uses a combination of CRM provider name and IP whitelisting to secure the end point.

Lead Object Setup

In order to send the disposition to Aimbase an outbound message will be set up and triggered either by a workflow rule or process builder based upon preference (including example of workflow rule below). The lead id will be important in order to connect the disposition to the specific lead.

    Setting up the outbound message: 

  1. Go to Saleforce Set up
  2. Go to Outbound messages (in workflow actions) 
  3. Select New
  4. Name (Disposition to Aimbase)
  5. Select the fields that need to be passed to Aimbase
  6. Set endpoint url to: 
  7. Save

Fields to include in the outbound message: 

Selected Field  Type Notes
OrganizationId Standard Field Salesforce account identifier
ActionId Standard Field The workflow rule (action) that triggers the message
SessionId Standard Field Unique Id of session
EnterpriseUrl Standard Field Salesforce account url
PartnerUrl Standard Field Salesforce account url
Id Standard Field  This is the Lead or SF object that the activity is tied to. 
IsUnreadByOwner Standard Field Indicates if lead has been read. true/false. 
LastModifiedDate Standard Field Date the lead was last modified
AimbaseIdentifier__c Custom Field Aimbase unique identifier to match back to a lead in Aimbase i.e. aimbase_rollick-12345
Status Standard Field The status of the lead


 8. Workflow setup. 

Based upon your business rules a workflow rule or process should be set up to trigger the message to send the activity to Aimbase. 

  • Go to Set Up 
  • Select Workflow Rules
  • Determine criteria and enter via criteria or formula (example: activity is of certain type and status)
  • Add workflow action and select outbound message
  • Activate workflow rule 

Once steps are done, once the activities are created and meet the appropriate criteria then the outbound message will be triggered to Aimbase. The activities would then be visible in the Customer Tab under Concierge Calls.

Example rule: trigger when record modified, or when status changes. 


Opportunity Object Setup

In order to send the activity to Aimbase an outbound message will be set up and triggered either by a workflow rule or process builder based upon preference (including example of workflow rule below). The prospect Id's will be important in order to connect the activity to the customer.

Setting up the outbound message: 

  1. Go to Saleforce Set up
  2. Go to Outbound messages (in workflow actions) 
  3. Select New
  4. Name (Activity to Aimbase)
  5. Select the fields that need to be passed to Aimbase
  6. Set endpoint url to: 
  7. Save

Fields to include in the outbound message: 

Selected Field  Type Notes
OrganizationID Standard Field Salesforce account identifier.
ActionId Standard Field The workflow rule (action) that triggers the message.
SessionId Standard Field Unique Id of session
EnterpriseUrl Standard Field Salesforce account url
PartnerUrl Standard Field  Salesforce account url
Id Standard Field This is the Opportunity or SF object that the activity is tied to. 
Is_Unread_by_Owner__c Custom Field Indicates if lead has been read. true/false.
LastModifiedDate Standard Field Date the lead was last modified
AimbaseIdentifier__c Custom Field Aimbase unique identifier to match back to lead i.e. aimbase_rollick-12345
StageName Standard Field Activity of the task
Status__c Custom Field

The status of the lead

8. Workflow setup. 

Based upon your business rules a workflow rule or process should be set up to trigger the message to send the activity to Aimbase. 

  • Go to Set Up 
  • Select Workflow Rules
  • Determine criteria and enter via criteria or formula (example: activity is of certain type and status)
  • Add workflow action and select outbound message
  • Activate workflow rule 

Once steps are done, once the activities are created and meet the appropriate criteria then the outbound message will be triggered to Aimbase. The activities would then be visible in the Customer Tab under Concierge Calls.

 Activity Object

In order to send the activity to Aimbase an outbound message will be set up and triggered either by a workflow rule or process builder based upon preference (including example of workflow rule below). The prospect Id's will be important in order to connect the activity to the customer.

Setting up the outbound message: 

  1. Go to Saleforce Set up 
  2. Go to Outbound messages (in workflow actions) 
  3. Select New
  4. Name (Activity to Aimbase)
  5. Select the fields that need to be passed to Aimbase
  6. Set endpoint url to: 
  7. Save

Fields to include in the outbound message: 

Selected Field  Type Notes
ActivityDate Standard Field Date/Time of Activity
AimbaseIdentifier__c Custom Field Aimbase unique identifier to match back to lead. i.e. aimbase_rollick-123456
Subject Standard Field  Details of the activity 
Type Standard Field Type of activity


Workflow Rule: 

Based upon your business rules a workflow rule or process should be set up to trigger the message to send the activity to Aimbase. 

  1. Go to Set Up 
  2. Select Workflow Rules
  3. Determine criteria and enter via criteria or formula (example: activity is of certain type and status)
  4. Add workflow action and select outbound message
  5. Activate workflow rule 

Once steps are done, once the activities are created and meet the appropriate criteria then the outbound message will be triggered to Aimbase. The activities would then be visible in the Customer Tab under Concierge Calls.