Decision Rule Engine

Decision Rule Engine: Schema

1. Objects and Relationship

image-20250402-040842.png
Decision Rule Engine sObjects and Relationships

1. Configuration sObjects

Necessary to configure rules, conditions, and actions for each Salesforce object.

1.1 Decision Rule

This sObject is the core configuration component of the Decision Rule Engine. It acts as a parent table that defines the overall rule and links to one or more Conditions and Actions.

Custom Fields for "Decision Rule" Object

Field Label

API Name

Type

Attributes

Conditional Experssion

cm_ruleengine__Conditional_Experssion__c

Textarea (255)


Created By ID

CreatedById

Lookup (User)

Required

Created Date

CreatedDate

Datetime

Required

Decision Rule #

Name

Text (80)

Required

Decision Rule Name

cm_ruleengine__Decision_Rule_Name__c

Text (120)

Unique

Deleted

IsDeleted

Checkbox

Required

isActive

cm_ruleengine__isActive__c

Checkbox

Required

Last Activity Date

LastActivityDate

Date


Last Modified By ID

LastModifiedById

Lookup (User)

Required

Last Modified Date

LastModifiedDate

Datetime

Required

Last Referenced Date

LastReferencedDate

Datetime


Last Viewed Date

LastViewedDate

Datetime


Owner ID

OwnerId

Lookup (Group, User)

Required

Record ID

Id

Id (18)

Required

sObject Name

cm_ruleengine__sObject_Name__c

Text (80)

Required

SOQL with Dynamic Filters

cm_ruleengine__SOQL_Dynamic_Filters__c

Textarea (20000)


System Modstamp

SystemModstamp

Datetime

Required

Total # Of Active Actions

cm_ruleengine__Total_Of_Active_Actions__c

Formula (Double)


Total # Of Active Rules

cm_ruleengine__Total_Of_Active_Rules__c

Formula (Double)


1.2 Decision Rule Condition

The Decision Rule Condition Table is a child of the Decision Rule Table and stores the logical conditions that determine when a rule’s actions should be executed. Each condition acts as a filter or criteria evaluated when the rule is triggered.

Custom Fields for "Decision Rule Condition" Object

Field Label

API Name

Type

Help Text

Attributes

Comparison Value

cm_ruleengine__Comparison_Value__c

Text (255)


Required

Conditional Expression

cm_ruleengine__Conditional_Expression__c

Textarea (255)


Required

Created By ID

CreatedById

Lookup (User)


Required

Created Date

CreatedDate

Datetime


Required

Decision Rule

cm_ruleengine__Decision_Rule__c

Lookup (Cm_Ruleengine__Decision_Rule__C)


Required

Deleted

IsDeleted

Checkbox


Required

Execution Order

cm_ruleengine__Execution_Order__c

Number (5, 2)


Required

Expression Operator

cm_ruleengine__Expression_Operator__c

Picklist (==; !=; <; <=; >; >=; in; not in; includes; excludes; like; contains)


Required

isActive?

cm_ruleengine__isActive__c

Checkbox


Required

Last Activity Date

LastActivityDate

Date



Last Modified By ID

LastModifiedById

Lookup (User)


Required

Last Modified Date

LastModifiedDate

Datetime


Required

Last Referenced Date

LastReferencedDate

Datetime



Last Viewed Date

LastViewedDate

Datetime



Record ID

Id

Id (18)


Required

Rule Condition #

Name

Text (80)


Required

ScoreCard Label

cm_ruleengine__ScoreCard_Label__c

Textarea (255)


Required

sObject Field Name

cm_ruleengine__sObject_Field_Name__c

Text (80)

sObject Field Name

Required

sObject Name

cm_ruleengine__sObject_Name__c

Text (80)

sObject API Name

Required

SOQL Query

cm_ruleengine__SOQL_Query__c

Textarea (20000)

SOQL to query the data for the evaluation


SOQL Query SubType

cm_ruleengine__SOQL_Query_SubType__c

Picklist (AVG; COUNT; COUNT_DISTINCT; MIN; MAX; SUM)



SOQL Query Type

cm_ruleengine__SOQL_Query_Type__c

Picklist (Aggregate Query; Field Value)


Required

SOQL Validated?

cm_ruleengine__SOQL_Validated__c

Checkbox


Required

System Modstamp

SystemModstamp

Datetime


Required

1.3 Decision Rule Action

The Decision Rule Action Table is a child of the Decision Rule Table and stores the automated actions that should be performed when the rule's conditions are met. Each action record defines a specific update or task that will be executed.

In its standard use, this table contains field update actions that apply changes directly to the parent record (the record that triggered the rule execution). For example, it can update a field value, change a status, or flag a record based on the outcome of the condition evaluation.

Custom Fields for "Decision Rule Action" Object

Field Label

API Name

Type

Attributes

Assignment Type

cm_ruleengine__Assignment_Type__c

Picklist (Pre-Defined Static Value; Computed Using Execution Order; Computed Field Value)

Required

Created By ID

CreatedById

Lookup (User)

Required

Created Date

CreatedDate

Datetime

Required

Decision Rule

cm_ruleengine__Decision_Rule__c

Lookup (Cm_Ruleengine__Decision_Rule__C)

Required

Decision Rule Action

Name

Text (80)

Required

Decision Rule Condition

cm_ruleengine__Decision_Rule_Condition__c

Lookup (Cm_Ruleengine__Decision_Rule_Condition__C)


Deleted

IsDeleted

Checkbox

Required

isActive

cm_ruleengine__isActive__c

Checkbox

Required

Last Activity Date

LastActivityDate

Date


Last Modified By ID

LastModifiedById

Lookup (User)

Required

Last Modified Date

LastModifiedDate

Datetime

Required

Last Referenced Date

LastReferencedDate

Datetime


Last Viewed Date

LastViewedDate

Datetime


Outcome Event

cm_ruleengine__Outcome_Event__c

Picklist (All; Failed; Passed; Unknown)


Record ID

Id

Id (18)

Required

sObject Field Name

cm_ruleengine__sObject_Field_Name__c

Text (80)

Required

sObject Name

cm_ruleengine__sObject_Name__c

Text (80)

Required

SOQL

cm_ruleengine__SOQL__c

Textarea (1000)


System Modstamp

SystemModstamp

Datetime

Required

Updating Related Record

cm_ruleengine__Updating_Related_Record__c

Checkbox

Required

Value to Assign

cm_ruleengine__Value_to_Assign__c

Text (255)

Required


2. Output sObjects

Output sObjects lists the Salesforce objects created or updated due to the execution of a Decision Rule.

2.1 Decision Rule Result Summary

Provides a summary of the outcome after the decision rule is executed, including whether the conditions were met and which actions were performed.

Custom Field "Decision Rule Result Summary"

Field Label

API Name

Type

Help Text

Attributes

Account

cm_ruleengine__Account__c

Lookup (Account)



Alias Match Count

Alias_Match_Count__c

Text (255)



Bank Verification

Bank_Verification__c

Text (255)



Composite Key

cm_ruleengine__Composite_Key__c

Text (40)

"Parent RecordId" + "=::=" + Decision Rule RecordId"

Required, Unique, External ID

Conditional Experssion

cm_ruleengine__Conditional_Experssion__c

Text (255)



Contact

cm_ruleengine__Contact__c

Lookup (Contact)



Created By ID

CreatedById

Lookup (User)


Required

Created Date

CreatedDate

Datetime


Required

Credit Score

Credit_Score__c

Text (255)



Decision Rule Name

cm_ruleengine__Decision_Rule_Name__c

Text (120)



Decision Rule RecordId

cm_ruleengine__Decision_Rule_RecordId__c

Text (18)


External ID

Deleted

IsDeleted

Checkbox


Required

Eviction Count

Eviction_Count__c

Text (255)



Execution Details

cm_ruleengine__Execution_Details__c

Textarea (32768)



KYC Check

KYC_Check__c

Text (255)



Last Activity Date

LastActivityDate

Date



Last Modified By ID

LastModifiedById

Lookup (User)


Required

Last Modified Date

LastModifiedDate

Datetime


Required

Last Referenced Date

LastReferencedDate

Datetime



Last Viewed Date

LastViewedDate

Datetime



Outcome

cm_ruleengine__Outcome__c

Picklist (Passed; Failed; Unknown)

Final outcome of the Rule Engine


Outcome

cm_ruleengine__OutcomeImage__c

Formula (Text)



Owner ID

OwnerId

Lookup (Group, User)


Required

Parent RecordId

cm_ruleengine__Parent_RecordId__c

Text (18)


Required, External ID

Record ID

Id

Id (18)


Required

Rental Application

Rental_Application__c

Lookup (Rental_Application__C)



Result Summary #

Name

Text (80)


Required

sObject Name

cm_ruleengine__sObject_Name__c

Text (80)



Status

cm_ruleengine__Status__c

Picklist (In-Progress; Completed; Failed)



Status

cm_ruleengine__StatusImage__c

Formula (Text)



Status Description

cm_ruleengine__Status_Description__c

Textarea (32768)



System Modstamp

SystemModstamp

Datetime


Required

Total # Of Active Rules

cm_ruleengine__Total_Active_Rules__c

Number (3, 0)

A total number of active rules associated with the Decision Rule record.


Total # Of Executed Rules

cm_ruleengine__Total_Of_Executed_Rules__c

Formula (Double)

Total # Of Executed Rules


Total # Of Failed Rules

cm_ruleengine__Total_Of_Failed_Rules__c

Formula (Double)

Total # Of Rule where Outcome = Failed


Total # Of Passed Rules

cm_ruleengine__Total_Of_Passed_Rules__c

Formula (Double)

Total # of Number where the OutCome = Pass



2.2 Decision Rule Result Items

The Decision Rule Result Items table captures detailed information about the individual outcomes of each Condition evaluated during the execution of a Decision Rule. While the Result Summary provides a high-level status, the Result Items offer a granular, itemized view of what happened at each step.

Custom Fields "Decision Rule Result Items"

Field Label

API Name

Type

Attributes

Comparison Value

cm_ruleengine__Comparison_Value__c

Text (255)


Composite Key

cm_ruleengine__Composite_Key__c

Text (62)

Required, Unique, External ID

Computed Field Value

cm_ruleengine__Computed_Field_Value__c

Textarea (255)


Conditional Expression

cm_ruleengine__Conditional_Expression__c

Textarea (255)


Created By ID

CreatedById

Lookup (User)

Required

Created Date

CreatedDate

Datetime

Required

Decision Rule Condition RecordId

cm_ruleengine__Decision_Rule_Condition_RecordId__c

Text (18)

External ID

Decision Rule RecordId

cm_ruleengine__Decision_Rule_RecordId__c

Text (18)

External ID

Decision Rule Result Summary

cm_ruleengine__Decision_Rule_Result_Summary__c

Lookup (Cm_Ruleengine__Decision_Rule_Result_Summary__C)

Required

Deleted

IsDeleted

Checkbox

Required

Execution Order

cm_ruleengine__Execution_Order__c

Number (5, 2)

Required

Last Activity Date

LastActivityDate

Date


Last Modified By ID

LastModifiedById

Lookup (User)

Required

Last Modified Date

LastModifiedDate

Datetime

Required

Last Referenced Date

LastReferencedDate

Datetime


Last Viewed Date

LastViewedDate

Datetime


Outcome

cm_ruleengine__Outcome__c

Picklist (Passed; Failed; Unknown)


Outcome

cm_ruleengine__OutcomeImage__c

Formula (Text)


Parent RecordId

cm_ruleengine__Parent_RecordId__c

Text (18)

Required, External ID

Record ID

Id

Id (18)

Required

Result Item #

Name

Text (80)

Required

ScoreCard Label

cm_ruleengine__ScoreCard_Label__c

Textarea (255)

Required

sObject Field Name

cm_ruleengine__sObject_Field_Name__c

Text (80)


sObject Name

cm_ruleengine__sObject_Name__c

Text (80)


Status

cm_ruleengine__StatusImage__c

Formula (Text)


Status

cm_ruleengine__Status__c

Picklist (In-Progress; Completed; Failed)


Status Description

cm_ruleengine__Status_Description__c

Textarea (32768)


System Modstamp

SystemModstamp

Datetime

Required