Custom object
Kernel pairs all data for all accounts in a custom object that mirrors the account, allowing you to access all insights immediately.
Creating a digital twin of your CRM
Kernel integrates with Salesforce to keep your account data clean, enriched, and up-to-date.
You can choose whether Kernel syncs directly into your Salesforce Account records or into a dedicated custom object (KernelAccount__c) that Kernel manages.
For the Custom objects, Kernel provides an unlocked package, which provides the Kernel object and associated Custom fields out of the box.
By default, Kernel recommends the custom object approach, as it ensures Kernel owns the enrichment and cleaning process while maintaining a 1:1 mapping between your Accounts and Kernel-managed objects. This provides maximum flexibility and minimizes risk to your production Salesforce data.
For Corporate hierarchies we also create KernelAccount__c records that you can turn into objects and link together. This way, you can have full hierarchy coverage while ensuring your CRM is clean.
Custom Object
Overview
Kernel integrates with Salesforce to keep your account data clean, enriched, and up-to-date. You can choose whether Kernel syncs directly into your Salesforce Account records or into a dedicated custom object (KernelAccount__c) that Kernel manages.
By default, we recommend the custom object approach, as it ensures Kernel owns the enrichment and cleaning process while maintaining a 1:1 mapping between your Accounts and Kernel-managed records. This provides maximum flexibility and minimizes risk to your production Salesforce data.
For hierarchies we would also be creating KernelAccount__c records that you can turn into Account and link together. This way, you can have full hierarchy coverage while ensuring your CRM is clean.
How the Sync Works
1. Reading from Salesforce
Kernel connects to your Salesforce instance via an integration as configured per the Salesforce Integration documentation.
Account records (with selected fields and filters) are read into Kernel’s platform.
This data is then prepared for enrichment, cleaning, and deduplication.
2. Processing in Kernel
Kernel applies enrichment (e.g., adding missing firmographic data, hierarchy modeling).
Cleaning rules are applied to the standard fields.
Duplicate records are flagged and grouped for review.
3. Writing Back to Salesforce
Kernel writes updates back into Salesforce at a specified cadence.
By default, the updates flow into the
KernelAccount__c.Optionally, you can configure Kernel to write directly into the Account records if that better fits your workflow.
The Custom Object (KernelAccount__c)
KernelAccount__c)When enabled, Kernel creates and maintains a custom object in your Salesforce org with the following properties:
Object Name:
KernelAccount__cRelationship: Each
KernelAccount__crecord is linked 1:1 with a Salesforce Account via a reference field (Account__c).Data Stored:
All account attributes are copied to the record.
All Kernel-enriched fields (hierarchies, cleaned attributes, deduplication tags) are written here.
Deduplication Support: Duplicate groups are identified via Kernel_duplicate_group__c.
Hierarchy Modeling: Parent/child account links are maintained within KernelAccount__c.
Example of a KernelAccount__c record with cleaning on (may differ from what you get):
{
"Kernel_Account_Url__c": "redhat.com",
"Kernel_ID__c": "09fdd466-0764-49d5-9da0-a3b5fd277c23",
"Linked_Account_Field__c": "001P200000WMfTqIAL",
"Kernel_Linkedin_Url__c": "https://www.linkedin.com/company/ibm",
"Kernel_Cleaning_Action__c": "Associate",
"Kernel_Cleaning_Action_Reasoning__c": "- The account is a child of ibm.com",
"Kernel_Duplicate_Reasoning__c": "",
"Kernel_Duplicate_Group__c": 57933,
"Kernel_Duplicate_Id__c": null,
"Kernel_Duplicate_Type__c": "PRIMARY",
"Kernel_Family_Id__c": "2b41e9a478ee6c42c66763672064b15f",
"Kernel_Family_Level__c": 2,
"Kernel_Family_Path__c": "ibm.com > redhat.com",
"Kernel_Child_Type__c": "SUBSIDIARY - STANDALONE",
"Kernel_Parent_Child__c": "CHILD",
"Kernel_Parent_Child_Confidence__c": "HIGH",
"Kernel_Parent_Child_Explanation__c": "- Red Hat is a subsidiary of IBM, as indicated by its Wikipedia article and confirmed by acquisition headlines.\n- Red Hat operates independently with its own brand, website, marketing, support, and product offerings.\n- IBM is an operational company, not a holding company or private equity firm.\n- Sources:\n - Parent Child Explanation: Wikipedia, Headlines, Web Content\n - Child Type Explanation: Web Content\n - Is Holding Explanation: N/A\n - Parent Is Holding Explanation: N/A",
"Kernel_Parent_Company__c": "IBM",
"Kernel_Parent_Company_Url__c": "ibm.com",
"Kernel_Parent_Id__c": "001P200000WMfTqIAL",
"Kernel_Parent_Type__c": "OPERATIONAL",
"Kernel_Name__c": "Red Hat",
"Kernel_Ultimate_Parent_Id__c": "001P200000WMfTqIAL",
"Kernel_Ultimate_Parent_Name__c": "IBM",
"Kernel_Revenue__c": 13500000000,
"Kernel_Headcount__c": 20000,
"Kernel_Country__c": "Raleigh, North Carolina, USA"
}Hierarchy Handling
Kernel builds and maintains account hierarchies inside KernelAccount__c.
Missing parent or child nodes can be automatically created and synced as records of KernelAccount__c. You can choose how to then create those in turn inside your CRM as accounts.
Cleaning and Deduplication
Cleaning data is stored in KernelAccount__c.
Duplicate groups are flagged so your team can merge or review them.
Customers with merge permissions can take action directly in Salesforce.
Alternatively, Kernel can provide merge lists for manual processing.
Configuration Options
Default Mode: Sync to KernelAccount__c (recommended).
Direct Mode: Write directly into Salesforce Accounts (optional, configurable).
Future Extensions: Leads can be supported through a similar custom object (KernelLead__c).
Benefits of the Custom Object Approach
Safe: Keeps Kernel enrichment separate from your core Account records.
Flexible: Configure whether to use Accounts or custom objects per your needs.
Transparent: Clear audit trail of which fields came from Kernel vs. Salesforce.
Custom Object Reference
Kernel ID
Kernel_ID__c
Text
36
Kernel ID for grouping/traceability
Linked Account
Linked_Account_Field__c
Lookup (Account)
18
Reference to linked Account record
Kernel Account URL
Kernel_Account_Url__c
URL
255
Kernel Account URL
Kernel - Resolved domain
Kernel_Resolved_Domain__c
URL
255
Cleaned company website domain
Kernel - Website working
Kernel_Website_Status__c
Text
255
Status of company website (Working, Not working, or Unknown)
Kernel - LinkedIn URL
Kernel_Linkedin_Url__c
URL
255
Company LinkedIn profile URL
Kernel - User type
Kernel_User_Type__c
Text
255
Whether the Owner of account is an active, inactive, or integration user
Kernel - Risk score
Kernel_Risk_Score__c
Number
—
Associated risk of taking a mass action on this account
Kernel - Cleaning action
Kernel_Cleaning_Action__c
Text
255
Suggested data cleaning action. Values are Merge, Review, Delete, Associate, Associate (missing parent) or empty
Kernel - Cleaning action (Reasoning)
Kernel_Cleaning_Action_Reasoning__c
Text (Long)
1000
Reasoning behind the cleaning action
Kernel - Suggested name
Kernel_Suggested_Name__c
Text
255
Kernel's suggested name based on cleaning of the account
Kernel - Suggested URL
Kernel_Suggested_Url__c
URL
255
Kernel's suggested URL based on cleaning of the account
Kernel - Duplicate group
Kernel_Duplicate_Group__c
Number
—
Unique number which groups duplicate accounts together
Kernel - Duplicate type
Kernel_Duplicate_Type__c
Text
255
PRIMARY = Main account; EXACT = Exact match via cleaned URLs; REGIONAL = Regional variants (e.g., amazon.ca vs amazon.com)
Kernel - Duplicate of (ID)
Kernel_Duplicate_Id__c
Lookup (Account)
18
Which ID the account is a duplicate of
Kernel - Duplicate (Reasoning)
Kernel_Duplicate_Reasoning__c
Text Area (Long)
5000
Explanation for why the account is a duplicate
Kernel - Parent Child
Kernel_Parent_Child__c
Text
255
Whether account is PARENT or CHILD
Kernel - Parent Child (Confidence)
Kernel_Parent_Child_Confidence__c
Text
255
Confidence score for the parent child classification
Kernel - Parent Child (Explanation)
Kernel_Parent_Child_Explanation__c
Text Area (Long)
255
Explanation for the parent child classification
Kernel - Parent company
Kernel_Parent_Company__c
Text
255
Kernel parent company name
Kernel - Parent company URL
Kernel_Parent_Company_Url__c
URL
255
Kernel parent company URL
Kernel - Parent account ID
Kernel_Parent_Id__c
Lookup
18
Reference to Salesforce Account record
Kernel - Ultimate parent name
Kernel_Ultimate_Parent_Name__c
Text
255
The name of the top parent that is present in the CRM
Kernel - Ultimate parent ID
Kernel_Ultimate_Parent_Id__c
Lookup
18
The ID of the top parent that is present in the CRM
Kernel - Parent type
Kernel_Parent_Type__c
Text
255
Type of parent company, can be one of OPERATIONAL, HOLDING, null
Kernel - Child type
Kernel_Child_Type__c
Text
255
Type of child company, can be one of SUBSIDIARY - STANDALONE, SUBSIDIARY - REGIONAL, SUBSIDIARY - ABSORBED, etc.
Kernel - Family ID
Kernel_Family_Id__c
Number
—
Family grouping identifier
Kernel - Family level
Kernel_Family_Level__c
Number
—
Depth of the account within the family hierarchy
Kernel - Family path
Kernel_Family_Path__c
Text
255
Path from ultimate parent to this account
Kernel - Revenue
Kernel_Revenue__c
Number
—
Kernel estimated revenue for this company
Kernel - Headcount
Kernel_Headcount__c
Number
—
Kernel estimated headcount for the company
Kernel - HQ
Kernel_HQ__c
Text
255
Headquarters (City, Country)
Last updated

