Contents:
- Overview
- LeanData Managed Application Custom Objects Footprint
- Managed Application Fields on Standard Salesforce Objects
- LeanData Apex Jobs
- Triggers
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.