Table of Contents

Salesforce Connector [via FiveTran]

Andrew Sawusch Updated by Andrew Sawusch

Salesforce Connector Integration


To connect Salesforce to CaliberMind, you need:

  • Access to an active Salesforce account
  • A User with "Read" and "View All" permissions to the necessary objects required
  • An Enterprise level account plan or higher, or purchased API calls
Note: If your organization is also wanting to create, merge, convert, and modify records with our Push Connector, "Write" and "Modify All" permissions will also be required

Setup instructions

Step 1: Connect the Salesforce Connector
  1. Navigate to your CaliberMind Settings - under "Connectors", click on "Create Pull Connector"
  2. Click on the "Add Connector" button within the "Salesforce" connector card
  3. Follow the on-screen prompts to Authenticate and Connect your Salesforce system (you will be taken to the Salesforce login page to authorize CaliberMind to connect to it)
  4. Once authorized, click Save & Test. CaliberMind will take it from here and sync your data from your Salesforce account.

(Optional): Limit permissions to tables or columns

CaliberMind syncs the data that we have access to based on the viewing permissions of the connected user. If you don't want CaliberMind to sync a certain type of data into your destination, limit the permissions of the connecting user.

There are 2 ways to limit the data that we extract from your Salesforce account. You can either disable tables in the CaliberMind dashboard or limit the connected user in Salesforce:

Option 1. Disable tables in the CaliberMind dashboard
  1. In your CaliberMind dashboard, navigate to the Salesforce connector details page.
  2. Go to the schema tab and disable the tables and columns which you do not want to be synced.

If you are concerned about unintentionally syncing sensitive data to your destination, disable "Include new schemas and tables by default."

Option 2. Limit the connecting user in Salesforce

CaliberMind connects to your Salesforce instance through the credentials of the connecting user, so to limit our access to the data, limit that user's access. You can do this in Salesforce through Permission Sets.

It's best to limit the connecting user's access before you initially connect the user through our setup form. Otherwise, you may have some dead tables in Salesforce that will no longer be updated after you've restricted the user's permissions.

  1. Log in to Salesforce. You must have administrative privileges to set permissions.
  2. Go to Setup in the top right corner of your screen.
  3. Under the Administer tab on the left side of the screen, click on the arrow next to Manage Users.
  4. You should now see a drop-down menu below the arrow. Select Permission Sets in the drop-down menu.
  5. We recommend that you create a new set of permissions specifically for the user that you will use to connect to CaliberMind. Name it something memorable, such as "CaliberMind Permissions."
    Users can have multiple sets of permissions assigned to them. If you'd like to be certain of what data we have access to, assign only one set of permissions to the connecting user.
    Press New > Enter in Label > Choose Appropriate User License Type
  6. You'll see the settings for the new Permission Set (for example, "CaliberMind Permissions"). Select Object Settings.
  7. Select which fields you would like this connecting user, and therefore CaliberMind, to have access to. The default setting is "No Access."
    The only permissions relevant to CaliberMind are that we can read the data, though the user themselves may need to be able to do more. The difference between the "Read" permission and the "View All" permission is that "Read" gives access to view records that are created by that user or are shared via rules, roles, or manual sharing. "View All" gives access to all records of that type (for example, the "Account" type).
  8. When you've chosen the appropriate permissions, go to Administer > Manage Users > Users and select the user whose account you will use to log in through CaliberMind.
  9. When you're on that user's page, scroll down to Permission Set Assignments and click Edit Assignments.
  10. Move "CaliberMind Permissions" from "Available Permission Sets" to "Enabled Permission Sets" and click Save.

(Optional): Enable field history tracking

Read the Salesforce documentation to learn how to enable field history tracking.

(If necessary): Disable session IP locking

If you have Session IP Locking enabled or get an INVALID_SESSION_ID error, go to the Session Settings page and uncheck the Lock sessions to the IP address from which they originated box. It is very rare that this setting needs to be updated (<1% of cases), because by default it is already disabled for the majority of users.

Disabling Salesforce Session IP Locking in CaliberMind

What will this connection do?

We will backup a copy of all your relevant CRM data from 16 standard objects (19 objects for Funnels customers). Ask your account's dedicated CSM if you'd like to add additional custom objects.

  • Account
  • Campaign
  • CampaignMember
  • Contact
  • ContactHistory (only for customers with the Funnels package)
  • Group
  • Lead
  • LeadHistory (only for customers with the Funnels package)
  • Opportunity
  • OpportunityContactRole
  • OpportunityFieldHistory (only for customers with the Funnels package)
  • OpportunityHistory
  • OpportunityLineItem
  • Product2
  • Profile
  • RecordType
  • Task
  • User
  • UserRole

Which Tables and Fields require "Read", or "Read" and "Write" access?

As noted above, there are 16 objects which will be synced to our data warehouse: Account, Campaign, CampaignMember, Contact, Group, Lead, Opportunity, OpportunityContactRole, OpportunityHistory, OpportunityLineItem, Profile, Product2, RecordType, Task, User, UserRole

There are 5 caveats to this information:

  1. All 16 objects noted above will require "Read" and "View All" access - only the "standard" and non-custom fields within these objects require this access
  2. If a workflow is enabled, three tables - Account, Contact, Lead - will also require that ALL fields within these tables, both standard and custom, have "Write" and "Modify All" access as well. This is needed if any deduplication, merge, or other data management workflows are set up, which requires these user permissions to perform the actions.
  3. If a future workflow involving the "CampaignMember" object is requested for implementation, this object, as well as the "Campaign" object, would also require "Write" and "Modify All" access for ALL fields (both standard and custom) on these objects.
  4. Any custom fields (noted with either "_c" or "_pc" at the end of the field's API name) that are used or referenced in any formulas or customizations (opportunity amounts, formulas, etc.) within the CaliberMind system would also require "Read" and "View All" permissions (or both "Read" and "View All", as well as "Write" and "Modify All" permissions - depending on if these fields are within a "Write" table as noted above)
  5. Any custom fields that are used or setup for pushing CaliberMind data back to your Salesforce would also require "Write" and "Modify All" permissions

Could this integration disrupt any business processes or data in my CRM?

  • There are several "safety" mechanisms in place to prevent any business disruption.
  • For data replication from Salesforce, we use the Salesforce Bulk API and copy 10,000 records from each object per request, so our usage is very efficient. In addition, we pause the sync once the API calls have hit 90% of the daily API limit.
  • All instances of CaliberMind start as read-only, so no workflows can accidentally be created that impact your sales data.
  • Eventually you will want to create meaningful, scalable and automated business processing using the data in your CaliberMind data lake... but not yet! We're just getting started!

How did we do?

Replicating CaliberMind Attribution Data to Salesforce

Connector Health and Web Tracker Health reports