LeanData - Technical Overview

Have more questions? Submit a request

Contents:

 

Overview

The following guide contains a high level overview of the LeanData managed app. Various fields, triggers, and objects are utilized depending on products purchased and implemented. There are two separate LeanData Managed Applications:

  • LeanData Matching and Routing - for LeanData Tagging, Routing, & BookIt products.
  • LeanData Analytics - for LeanData Engagement

The objects and fields that will be added into your Salesforce instance depends on which Managed Application you are installing.

 

LeanData Managed Application Custom Objects Footprint

When installing a LeanData Managed Application, LeanData will create its own custom objects as well as some fields on standard Salesforce objects. These objects and fields are used to maintain LeanData operation.

LeanData Matching and Routing Managed Application Footprint

  • 61 Custom Objects
  • Fields by Object (Standard Objects)
    • Lead : 9
    • Account : 4
    • Contact : 5
    • Opportunity : 2
    • Case : 2

LeanData Analytics Managed Application Footprint (Engagement Customers Only)

  • 8 Custom Objects
  • Fields by Object (Standard Objects)
    • Activity (Tasks & Event) : 1
    • Campaign Member : 1

 

Managed Application Fields on Standard Salesforce Objects

The following are the core managed application fields on your existing standard Salesforce objects. Any associated LeanData managed app fields not listed below may have been removed in prior versions of LeanData.

 

Lead Object Fields

Application Fields

The following fields can be used for reporting or operational purposes.

Field Purpose API Name
Reporting Matched Account Matched account reference field (only populated if a matched account exists) LeanData__Reporting_Matched_Account__c
Routing Action Lead’s Router action: contains last associated Router action on a lead LeanData__Routing_Action__c

 

Internal Fields

The following fields are intended for core LeanData application usage. These fields should not be used (for either reporting or operational purposes) and are subject to deletion or change at any time.

Field Purpose API Name
LeanData Search Operational field used for match performance optimizations LeanData__Search_Index__c
Modified Score Used in conjunction with LeanData Account Scoring product LeanData__Modified_Score__c
Matched Buyer Persona Used in conjunction with LeanData's Buyer Persona product (deprecated) LeanData__Matched_Buyer_Persona__c
Reporting Timestamp Operational field used for LeanData Matching LeanData__Reporting_Timestamp__c
LeanData Routing Status Lead’s status for Lead-to-Account routing LeanData__Routing_Status__c
Segment Used for debugging purposes LeanData__LD_Segment__c
State info Operational field used to track how a lead’s state across various LeanData products LeanData__Status_Info__c

 

Contact Object Fields

Application Fields

The following fields can be used for reporting or operational purposes.

Field Purpose API Name
Routing Action Contact’s Router action: contains last associated Router action on a contact LeanData__Routing_Action__c

 

Internal Fields

The following fields are intended for core LeanData application usage. These fields should not be used (for either reporting or operational purposes) and are subject to deletion or change at any time.

Field Purpose API Name
Modified Score Used in conjunction with LeanData Account Scoring product LeanData__Modified_Score__c
Matched Buyer Persona Used in conjunction with LeanData's Buyer Persona product (deprecated) LeanData__Matched_Buyer_Persona__c
Segment Used for debugging purposes LeanData__LD_Segment__c
Status Info Stores a given state across various LD products LeanData__Status_Info__c

 

Account Object Fields

Application Fields

The following fields can be used for reporting or operational purposes.

Field Purpose API Name
Routing Action Account Routing action: contains last associated Routing action on an account LeanData__Routing_Action__c

 

Internal Fields

The following fields are intended for core LeanData application usage. These fields should not be used (for either reporting or operational purposes) and are subject to deletion or change at any time.

Field Purpose API Name
LD Email Domains Email domains for Contacts under this account (used for matching) LeanData__LD_EmailDomains__c
LeanData Search Operational field used for match performance optimizations LeanData__Search__c
Status Info Stores a given state across various LD products LeanData__Status_Info__c

 

Opportunity Object Fields

Application Fields

The following fields can be used for reporting or operational purposes. 

Field Purpose API Name
Routing Action Contains the last associated Routing action on an Opportunity LeanData__Routing_Action__c

 

Internal Fields

The following fields are intended for core LeanData application usage. These fields should not be used (for either reporting or operational purposes) and are subject to deletion or change at any time.

Field Purpose API Name
Status Info Stores a given state across various LD products LeanData__Status_Info__c

 

Case Object Fields

Application Fields

The following fields can be used for reporting or operational purposes. 

Field Purpose API Name
Routing Action Contains last associated Routing action on a Case. LeanData__Routing_Action__c

 

Internal Fields

The following fields are intended for core LeanData application usage. These fields should not be used (for either reporting or operational purposes) and are subject to deletion or change at any time.

Field Purpose API Name
Status Info Stores a given state across various LD products LeanData__Status_Info__c

 

Activity (Task & Event) Object Fields (Analytics Managed App only)

Application Fields

The following fields can be used for reporting or operational purposes. These fields are only applicable for customers who are subscribed to LeanData Engagement.

Field Purpose API Name
LD Engagement Used for Engagement: Displays Engagement associated with activity LD_Engagement__c

 

Campaign Member Object Fields (Analytics Managed App only)

Application Fields

The following fields can be used for reporting or operational purposes. These fields are only applicable for customers who are subscribed to LeanData Engagement and have downloaded the LeanData Analytics Managed Package.

Field Purpose API Name
LD Engagement Used for Engagement: Links the Campaign Member to the Sales or Marketing Engagement  LD_Engagement__c

 

LeanData Apex Jobs

Below is an overview of the primary Apex jobs that may run as part of your LeanData installation. Note some batches and scheduled jobs are specific to products and processes that are enabled and that some implementations may only run a portion of the batches below.

  • CCIOMigrationBatch
    • Batch that runs when a new graph is deployed to migrate existing CCIOs to the new deployment.
  • CheckOnDemandAllowed
    • Scheduled job that runs hourly. On execution, it calls a @future method (futureCheckOnDemandAllowed) that makes a web callout to LeanData servers to sync with settings and check on licensing (API Endpoint: leandata.my.salesforce-sites.com). The web callout made by CheckOnDemandAllowed is a very lightweight call, meaning the impact to system resources is negligible.
  • LeadConverter
    • Job that runs whenever Router requires that a Lead be converted. This job will run after the corresponding LeanDataContinuousBatch and the job will abort after it finishes processing the conversions.
  • LeanDataContinuousBatch
    • Apex Batch job that queries against the CC_Inserted_Object__c custom objects to find the inserts and updates waiting in queue to be processed for matching and routing. LeanData CC Scheduler is the Scheduled Job that fires off the batch. After LeanDataContinuousBatch finishes executing, a new instance of LeanData CC Scheduler gets scheduled for future processing. This is the loop that performs all of the matching and routing. Batch Apex jobs are limited to five at a time inside of an SFDC org. This limit and the allocation of jobs is controlled by the Salesforce Flex Queue system. At any given time in the system, only one LeanDataContinuousBatch job will be running (when a job slot is allocated by Salesforce), and that is only when we are actively routing Leads.  This means that the resource impact on governor limits is minimal. Both of these jobs should always be scheduled by the desired LeanData integration user, so that any routing will show as having been performed by that user. 
  • PartnerCalloutBatch
    • Job that initiates when LeanData makes a callout to an external system for one of LeanData's partner integrations (API Endpoint: app.leandata.com). Some Partner Callouts may be sent directly to a partners API endpoint.
  • PartnerUtility
    • Job that fetches metadata from an external system for use with one of LeanData's partner integrations.
  • PopulateAccountEmailDomainBatch
    • Batch job that runs on initial installation as well as periodically while LeanData application is actively running. This job is used for search data optimizations and indexing to allow LeanData search to run more effectively within Salesforce (for Accounts).
  • PopulateLeadSearchFieldBatch
    • Batch job that runs on initial installation as well as periodically while LeanData application is actively running. This job is used for search data optimizations and indexing to allow LeanData search to run more effectively within Salesforce (for Leads).
  • RemoteLogger
    • Job that runs following the LeanData Continuous Batch job to create audit logs for processed records.
  • RoutingLogCleanBatch
    • Batch Job that runs regularly to delete Logs older than 90 days from the current date. The time frame can be adjusted by a LeanData representative.
  • SchedulingMonitor
    • Because LeanDataContinuousBatch and Scheduler are critical to routing of leads on the system and the loop could be interrupted for a number of reasons like user error, unexpected/uncatchable exceptions, or system updates, it is important to have redundancy to ensure that routing continues. SchedulingMonitor is a scheduled job that runs every hour to make sure that the LeanDataContinuousBatch / Scheduler loop is still running. As with LeanDataContinuousBatch, this job should only be run as the LeanData user.
  • UpdateLeadForMappedFieldsBatch
    • Runs as needed on-demand as a Queueable job if there are account updates that require leads to be run through lead-to-account matching.

 

LeanData Analytics Managed App (Engagement Customers Only)

  • Eng_ProcessingBatch: 
    • Creates / Deletes Engagements
  • Eng_MetricsBatch
    • Creates / Updates Account Metrics Objects

 

Triggers

LeanData has implemented the following Triggers within the managed package (LeanData namespace). These Triggers are critical to ensure the LeanData managed app is running properly.

 

Account Triggers

  • ContinuousCleanAccountTrigger (before insert, after insert)
    • Set Search Field
    • Set Routing Action for Accounts created from Lead Routing Conversion
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing and Tagging when applicable.
  • ContinuousCleanAccountUpdateTrigger (before update, after update)
    • Set Search Field and Email Domains
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing, Tagging, and Update Mapped Lead Fields when applicable.
  • AccountDeleteTrigger (before delete)
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Tagging.

 

Contact Triggers

  • ContinuousCleanContactTrigger (after insert, after delete)
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing, and Populate Account Email Domain Batch.
  • ContinuousCleanContactUpdateTrigger (after update)
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing, and Populate Account Email Domain Batch.
  • ContactBeforeInsertTrigger (before insert)
    • If Contact is created from LeanData Lead Conversion we set Routing Action and map Lead Fields to Contact

 

Lead Triggers

  • ContinuousCleanLeadTrigger (after insert)
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing, and Tagging.
    • Checks on Live Routing’s success if enabled and configured
  • BeforeLeadInsert (before insert)
    • Sets Search Field(for Matching)
    • Syncs Reporting_Matched_Account__c’s fields to the Lead object if this lookup is manually set on insert
  • BeforeLeadUpdate (before update)
    • Updates Search Field if applicable(for Matching)
    • Syncs Reporting_Matched_Account__c’s fields to the Lead object if this lookup is manually set on update
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing, and Tagging.

 

Opportunity Triggers

  • ContinuousCleanOpportunityTrigger (after insert)
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing when applicable.
  • ContinuousCleanOpportunityUpdateTrigger (before update)
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing when applicable.

 

Case Triggers

  • ContinuousCleanCaseTrigger (after insert)
    • Creates LeanData’s Token object(LeanData__CC_Inserted_Object__c) for Routing when applicable.

 

User Triggers

  • addLeanDataPermissionSet (after insert, after update)
    • If LeanData Permission Sets(not SFDC permission sets) are mapped to profiles within the LeanData application, whenever a user is added/removed from a particular Profile we will add/remove the SFDC Permission Set associated with the LeanData Permission Set.

Articles in this section

Was this article helpful?
3 out of 3 found this helpful
Share