You are here:
List Action for Integration Procedures
The List Action merges multiple lists by matching values of specified list item JSON nodes. A basic merge matches node names exactly. An advanced merge matches nodes that have different names or reside at different levels in the incoming lists.
The inputs to a List Action must each be in list format even if the list contains only one item. Omnistudio Data Mapper Extracts that return a list with one item often convert it to a single object. To convert a single object back into a list, you can use the first example in Omnistudio Data Mapper Transform Examples.
For more list processing options, see Transforming Lists with Data Mappers and the AVG, FILTER, IF, LIST, LISTMERGE, LISTMERGEPRIMARY, LISTSIZE, MAX, MIN, SORTBY, and SUM functions in the Supported Data Mapper and Integration Procedure Functions.
To match nodes that have different names or reside at different levels in the incoming lists, click Advanced Merge and specify settings for the nodes to be matched, as follows:
-
List Key: Enter the name of the JSON list node where the node to be matched resides.
-
Matching Path: Enter the path within the list to the node to be matched.
-
Matching Group: Specify the same number for all nodes you want to match.
For example, this figure shows how to match first and last names from two incoming lists in which the nodes have different names.
Property |
Description |
|---|---|
|
Specifies the order in which lists are merged. If a list contains a value for a key that was populated by an earlier list, the later entry overwrites the earlier one. |
Merge Fields |
The name of the JSON nodes that must match for entries to be merged. To
specify nodes below the top level of the JSON structure, use colon-delimited
paths. By default, the nodes in both lists are assumed to have identical
names and reside at the same level. If you don’t specify merge fields, the
lists are merged into a single list but nodes with matching keys aren’t
merged. To match a value that resides in a JSON list, append |
Advanced Merge |
Matches nodes that have different names or reside at different levels in the incoming lists. See List Action for Integration Procedures. |
|
When merge fields are all null, specifies whether to treat them as matching. |
|
Specifies whether to merge entries within a list if there are duplicate
entries in the list. In this example, Merged list output when Prevent Intra List Merge isn’t selected: Merged list output when Prevent Intra List Merge is selected: |
|
Specifies an allowlist of keys to be retained in the output. |
Primary List Key |
(Optional) Allows the list of entries to be retained after the merge is performed. If you specify a primary list, only entries from that list are retained in the output. |
Filter List Formula |
Specifies a formula that is run on each node of the list to determine if it
remains in the list. If FormulaResult returns TRUE after evaluating a node,
the node is retained; otherwise the node is removed. For example, you can
specify |
Dynamic Output Fields |
By default, all nodes are returned. To return a specified subset of the result nodes, add a node to the input JSON and set its value to a comma-separated list of the desired node names. Don’t use spaces in this list. Set this property to the name of the node containing this list of node names. |
Sort By |
Specifies one or more keys on which the output list is sorted. |
Update Field Value |
Assigns a value or specify a formula that can evaluate and conditionally replace values in the output list. To specify a formula, precede the expression with "=". For example, to replace blank first or last names with "None Specified," add the entries shown in this figure. ![]() For more information, see Supported Data Mapper and Integration Procedure Functions. |


