Skip to content

Join operator

Overview

The Join operator merges multiple flows.
It's useful to mark the end of parallel portions of the workflow.

The use of the Join operator is not mandatory, because it is also possible to directly connect more blocks to the same downstream block which will receive the same composite output produced by Join. It can also be avoided as the last block of the workflow, because even without it the output of the workflow will be the same, that is a composition of the output of all the flows.
However, using this operator together with Fork makes the diagram more readable. Also, the Maximum number of flow branches that can fail without propagating the error property—not available in the old version of the compoent—allows for error management.

A Join block must have multiple input connections to be considered valid.
It can be the last block of the workflow.

Old version

There are two versions of the component available: the latest and 1.0.0. This version is present for backward compatibility with old workflows created with previous versions of NL Flow. For new workflows always use the latest version.

The blocks of version 1.0.0 are identical to those of version 1.9 of NL Flow, however something has changed in the block properties: the name of the block, instead of editing the Block name field, can be modified by selecting Edit component name .
Also, a version 1.0.0 block doesn't have the Maximum number of flow branches that can fail without propagating the error property described below.

Output

The output of a Join block is a JSON object that represents the composition of the outputs of the blocks connected to it.
It has this structure:

{
    ID of the first connected block: {
        Output of the first connected block
    },
    ID of the second connected block: {
        Output of the second connected block
    },
    ...
    ID of the last connected block: {
        Output of the last connected block
    }
}

Block properties

Block properties can be set by editing the block.
A Join operator block has these properties:

  • Block name
  • Component version (read only)
  • Block ID (read only)
  • Maximum number of flow branches that can fail without propagating the error: the value 0 indicates that any error of any upstream branch makes the Join block produce an error which can lead to a general workflow error. A different value, integer and positive, indicates the maximum number of branches whose errors are ignored, so to have Join aggregate the output of the other, non failing, branches and not raise an error.
    Even if errors are ignored they are still visible in the verbose output of the workflow.