When configured with "groupBy": "Playbook Instance", the Merge task consolidates all arriving upstream execution lineages into a single merged result. Each completed upstream lineage reaching the Merge task contributes one execution-lineage object.
Unlike grouping by "Path"and grouping by "Task Instance", a Merge task that groups by "Playbook Instance" will only have one execution instance with a Raw Data tab containing the merge result array.
Merge Condition Format
To enable grouping by playbook instance, configure the Merge task’s condition as:
JSON
{
"groupBy": "Playbook Instance"
}
Core Concepts
The examples below demonstrate how variations in task structure, path specification, and output availability influence merge.
Example 1 - Merging Parallel Lineages
OBJECTIVE – Learn that groupBy: "Playbook Instance" aggregates all upstream lineages converging at the Merge task into a single result array.
Each parallel execution lineage that converges at the Merge task contributes a separate object to the result array in the Merge task’s Raw Data tab.
Among multiple executions of the Merge task, only one contains this consolidated result.
Example 2 - Merging Parallel Lineages Involving Unwind Tasks
OBJECTIVE – Understand how both non-repeating task flows and Unwind-driven executions contribute individual execution-lineage objects to the result of a Merge task.
Build the following playbook:
Input the following JSON data for the Unwind B task:
Each completed upstream lineage reaching the Merge task—whether originating from a linear sequence of distinct task nodes or from repeated executions triggered by Unwind-based element deconstruction—results in a distinct execution-lineage object in the merge result.
Example 3 - Merge Tasks in Sequential Levels
OBJECTIVE – Demonstrate how Merge tasks behave when used in sequential levels.
In subsequent merges (e.g., Merge ABCDEF), only the last-arriving lineage from each prior merge is included as a top-level object in the merged result.
The number of execution lineage objects in any merge result is equal to the number of inbound connectors feeding that Merge task.