A Field Value Rule is intended to modify the data that is saved with the master (or surviving) record when a merge is performed (this differs from the Master Record Selection rules which determines which record will be retained). The rules are built with the assistance of the Rule Designer.
The tabs on the left side contain components that can be dragged to the work area, connected and configured in order to construct a completed rule.
- Blocks in a rule are executed sequentially from top to bottom;
- The valid top-level blocks in a rule are "for [____] fields", "for [____] records" and "distribute values";
- Multiple loops can be included in each rule and multiple blocks can be nested in each loop;
- Many blocks include drop down fields that will contain all available options. For components with field names, the drop-down list will include all the fields listed in the Available Fields area.
Right button click will bring up the following context menu to quickly duplicate, remove, collapse/expand, add/remove comment, delete or disable blocks.
Let's take a closer look at the available options.
The Scenarios tab (shown below) includes few common rules that are fully completed. They can be dragged into the work area and configured for your specific needs.
Functions tab contains blocks that return a value that can be assigned to a field.
FOR [FIELD] FIELD SET VALUE TO - this block is used to assign a value to a selected field in a master record, after this block is evaluated in a for loop, the loop goes into the next iteration immediately.
VALUE FROM THE [OPTION] [FIELD] RECORD - this block returns a value of a current field in a loop from a record having highest/lowest value in a specified field. Available options are HIGHEST/NEWEST and LOWEST/OLDEST.
In the example below, for the Account Phone field in a master record a rule assigns a value from the most recently created record:
BREAK TIES WITH - allows to refine criteria for value selection if there are multiple records that have same values. One or many of such blocks can be nested within the "Value from the [Option] [Field] record" block above.
In the example below, if there are multiple records having the same created date, "break ties" narrows it down to the most recently modified record.
AND PRIORITIZE RECORD IF - allows to override value selection logic by prioritizing record matching specified criteria. One or many of such blocks can be nested within the "Value from the [Option] [Field] record" block above.
In the example below, the rule updates the master record using the value the most recently modified record but selects a value from a record having Record Type "Lead" if exists in the group:
[OPTION] VALUE IN GROUP - this block returns an aggregated value for the current field in a loop, available aggregation functions are Most common, Highest, Lowest, Average, Sum.
CONCAT VALUES WITH [SYMBOL] - for the current field in a loop this block returns all unique values from a group concatenated with specified symbol, available symbols are semicolon (;), pipe (|), comma (,), space ( ).
Logic section contains blocks that can be used to build logical expressions.
IF / DO - this block allows to execute other blocks conditionally. It can be customized to include else and else if branching logic by clicking on the gear icon:
[____] [COMPARE] [____] - block evaluates specified comparison between left and right values and returns true or false. The following comparison operators are available: equals, not equal to, less than, greater than, less or equal, greater or equal, contains, does not contain, starts with, ends with.
In the example below, the Set Field Value block will be executed only for the Title field in a loop:
In the example below, the rule sets master record c_Number value to the sum of the values in a group only if master record c_Number is less than 5000:
In the example below, the rule assigns most common value to all fields that start with the word Mailing (Mailing Address, Mailing City, Mailing Country,...):
[____] [AND/OR] [____] - it allows you to logically combine two conditions. Additional AND/OR blocks can be nested in the left and right slots or within IF blocks to create complex logical expressions.
In the example below, the rule applies only when both conditions are met for Phone and Email fields:
[VALUE] IS EMPTY - it returns true if a value block is empty, false otherwise.
NOT - inverts boolean value connected to the right, i.e. returns true if provided value is false and false if true.
Values section contains blocks with plain values of Text, Number, True/False and Empty. These blocks can be used in connection with other blocks.
The section contains blocks to manipulate field values and field names.
FOR [OPTION] FIELDS - it is a top-level block used to iterate over fields. Available options are all, empty, not empty.
Multiple for loops can be used in the same rule to execute various scenarios. In the example below, empty fields in the master record are updated with the values from the most recently modified records but Account Phone field is assigned a most common value from a group:
DISTRIBUTE VALUES - it keeps as many unique values as possible among specified fields, it allows to distribute values from merged records into multiple (empty) fields in the master record.
Learn more: Merge Rules: Distribute Values Rule
SET FIELD VALUE TO - assigns value to the current field in a loop.
SET FIELD [FIELD] VALUE TO - assigns value to the specified field.
MASTER FIELD VALUE - returns value of the current field in a loop from the master record.
MASTER FIELD VALUE [FIELD] - returns specified field value from the master record field.
FIELD NAME - returns a name of the current field in a loop
FIELD NAME [FIELD] - returns field name of the specified field.
DUPLICATE FIELD VALUE [SELECT FIELD] - it can be used to get specified field value of the duplicate record.
Note: The duplicate field value block is only functional when inside a for records loop, it won't return correct value when inside for fields loop.
This section is used to iterate over the records, primarily used for excluding certain records from a group based on a specified condition.
In the example below, duplicate records that do not have the same Title as the master record are excluded from a group:
Tip: The Preview section will display a the results of the created rule using sample data (learn more about this data and how to control it here)
Note: "Fill empty fields" field value rule is active by default. For all empty fields in a master record, it copies values from non-blank from the most recently modified record in a group.