Skip to content

Exclusive Join

"type": "EXCLUSIVE_JOIN"

EXCLUSIVE_JOIN waits for one task from joinOn to complete, rather than waiting for every branch as JOIN does. It checks joinOn in the order listed and joins on the first task that was scheduled and not skipped. It is useful for rejoining the branches of a Switch, or for fallback patterns.

The output of EXCLUSIVE_JOIN is the output of the task it joined on.

Configuration

Field Required Description
joinOn Yes List of task reference names that may satisfy the join.
defaultExclusiveJoinTask No Task reference names to join on instead when the task picked from joinOn has not completed.
{
  "name": "first_response",
  "taskReferenceName": "first_response",
  "type": "EXCLUSIVE_JOIN",
  "joinOn": ["primary_response", "fallback_response"],
  "defaultExclusiveJoinTask": ["fallback_response"]
}

If none of the tasks in joinOn ran and no default task ran either, EXCLUSIVE_JOIN stays in progress and the workflow does not continue.

The mapper passes joinOn and, when present, defaultExclusiveJoinTask to the runtime join task. Use ordinary Join when every branch must complete.