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.

See Salesforce integration for general information about Kernel's Salesforce integration.

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)

When enabled, Kernel creates and maintains a custom object in your Salesforce org with the following properties:

  • Object Name: KernelAccount__c

  • Relationship: Each KernelAccount__c record 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

Field Label
Salesforce Name
Type
Length
Help Text

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