đ This feature is coming soon and not yet available to all users. Continue checking our Feature Releases collection to stay up-to-date!
Overview
Element451âs Salesforce integration makes it easy to connect your existing CRM with the powerful engagement and automation features of Element451. This native integration supports regular data syncs, giving your teams and AI Agents a consistent, up-to-date view of every student across both systems.
Whether youâre using Salesforce as your institutional system of record or combining data across tools, this connection ensures your workflows stay aligned without duplicating effort.
Key Features
Regular sync (every 20 minutes) between Salesforce and Element451
Map data between systems with flexible field-matching
Sync contacts and conversations
Choose which system is the âsource of truthâ for key fields
Easily configure and test your setup through a built-in interface
How It Works
The integration uses APIs to move data directly between Element451 and Salesforceâno middleware or plugins required. You control how data flows, which fields sync, and what values take priority.
Syncing + Field Mapping
You can sync two main data typesâContacts and Conversations. Any Element451 entity type can be mapped to any Salesforce object. You will be able to specify mapping when configuring the integration.
When mapping fields from Salesforce to Element451, you must provide the key for each field, along with the key for the equivalent field in Element451.
Element ID and Salesforce ID are required.
Mapped fields must have a single value (string, integer, date, etc).
Repeater fields are not supported, but multi-select (checkbox) fields are.
Note Regarding Salesforce Custom Fields: Salesforce custom fields include the __c suffix so be sure to include that in your string. Examples: last-interview-date__c â user-custom-last-interview-date and housing-id__c â user-custom-housing-id
Source of Truth
During setup, youâll choose a canonical systemâSalesforce or Element451. This setting defines which platform owns each field and, therefore, controls how data is written during sync. This setting is required for every mapped field. It works like this:
All fields are assigned an owner based on the system you select.
When a record is created in either platform, all available field values are written.
When a record is updated, only the fields owned by that system are updated.
Ownership is absoluteâvalues arenât compared or conditionally updated. For example, if Intended Major is âBusinessâ in Element451 and empty in Salesforce, but the field is Salesforce-owned, the empty Salesforce value will overwrite Element451 during sync.
Setting Up the Integration
Setting Up Your External Client App in Salesforce
Create an External Client App. This app should be exclusively used by Element451, but you can name it anything youâd like.
In the OAuth Settings, add the callback url: "https://api.451.io/clients/integrations/salesforce/oauth2"
Select the following OAuth scopes:
Manage user data via APIs (api)
Perform requests at any time (refresh_token, offline_access)
Find your "Consumer Key" and "Consumer Secret."
"Consumer Key" will be your Client ID
"Consumer Secret" will be your "Secret Key"
Enable these security settings:
Require secret for Refresh Token Flow
Enable Refresh Token Rotation
Connecting Salesforce to Element451
Click on your avatar/profile picture in the top right corner of the orange navigation menu.
Navigate to Settings > Integrations.
From the left-hand menu, select CRM Integrations.
Select Salesforce.
đ Note: You can only sync one CRM at a time.
Configure the Connection Settings:
Salesforce URL
Client ID
Secret Key
Click 'Continue' in the top left corner.
Sign in to your Salesforce account, and you will be redirected back to Element.
Once connected, you can configure and sync. Navigate through the tabs (Sync Preferences, Mappings, Test) to configure the settings. We explain these settings below.
Conversation Sync Preferences
Sync Conversations: When enabled, we will export conversation data and the contacts associated with those Conversations from Element451 and push them to Salesforce.
âConversation Entity Name: The name of the entity in Salesforce that corresponds to Conversations in Element451. â¨This is typically a custom entity or object.
Contact Sync Preferences
Contact syncing is enabled by default and cannot be turned off. Contacts will be continually synced automatically by the integration.
âContact Entity Name: The name of the Entity in Salesforce that corresponds to Contacts in Element451. â¨This is typically âContactâ but could be âOpportunityâ or even a custom object. â¨
âImport Mode: How Element451 should handle incoming contacts from Salesforce.
By default, we will âMatch Existingâ contacts.
Optionally, you can opt to âUpdate Existingâ or âCreate Newâ contacts.
â
Export Mode: How Salesforce should handle incoming contacts from Element451.
By default, we will export every user related to the conversations being exported.
If export mode is set to âMatch Existing,â we will only export the ID. Note that this could create empty contacts in Salesforce.
If export mode includes âUpsert,â we will:
Export all Element451-owned mapped fields to the Salesforce user
If that creates a new Salesforce user, we will export all the mapped fields with values to it, including the Salesforce-owned fields.
Mappings
Mappings determine which fields in Salesforce should be equivalent to certain fields in ElementâŻ451. Please note that we only support a specific set of fields. If you want to set up a custom mapping between Salesforce and ElementâŻ451, please use Import + Export or our API.
Adding Mappings
Mappings are categorized by: Contact and Conversation. To get started mapping a field:
Click the "+ Add Mapping" button under the respective category
Select a value for the Element451 Field and a value for the Salesforce Field
Toggle the Element-Owned option
Save
Preview + Test
Preview the data mapped and test to verify that the mapping functions are correct and as expected.
Import and Export have individual tests:
Import: Select a user by inputting the Salesforce Contact ID
Export: Select a user
You will be presented with a preview of the incoming or outgoing data.
You can choose to "test" the process by actually importing or exporting the selected user.
Integration Logs
You can view the individual contact/conversation history in the Integration Logs from the left-hand menu on the Integrations page.
There will be a record of every failed or successful contact imported, contact exported, or conversation exported.