Field Merge Rules are intended to combine data with existing data in the master (or surviving) record with values found in duplicate rules when a merge is performed. Note that 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.

 

Scenarios

The Scenarios tab includes example common rules that are fully completed.  They can be dragged into the work area and configured for your specific needs.




Functions

Functions tab contains blocks that return a value that can be assigned to a field. The cavity shape of each block corresponds to an acceptable block that can be combined in order to create custom logic. 




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 within 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.


BUT 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. The available  functions are Most common, Highest, Lowest, Average, Sum.


In the example below, the rule updates the master record using the value from the Account record with the highest annual revenue.


CONCAT VALUES WITH [SYMBOL][OPTION] MASTER - for the current field in a loop this block returns all unique values from a group concatenated with a specified symbol: semicolon (;), pipe (|), comma (,), space ( ). The choice of including/excluding master can be chosen to overwrite or append the values from the merged duplicate values with the existing value in the master record. 


In the example below, the rule overwrites the Account Phone number value within the master record with Account Phone numbers from duplicate records separated by a pipe symbol. 

Logic

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 null, false otherwise.


NOT - inverts boolean value connected to the right, i.e. returns true if provided value is false and false if true.


Values

Values section contains blocks with plain values of Text, Number, True/False and Empty. These blocks can be used in connection with other blocks.


Note: When Empty value 

Fields


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 - 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.


MERGE INTO FIELD [FIELD] VALUE USING [SEPARATOR- appends the value of the field currently being evaluated in the loop into the selected [FIELD] with the [SEPARATOR] followed by a value.


In this example, the sum of the Annual Revenues in duplicate records and the value of the annual revenue in the master record is appended to the Account Name field of the master record with a semicolon.


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.


Records

This section is used to iterate over the records, primarily used for excluding certain records from a group based on a specified condition.



FOR [DUPLICATE] RECORDS - iterate over the duplicate records in a group.


EXCLUDE RECORD - exclude current record from a group.


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.

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 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 merge 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.