Understand Forks and joins

Stay organized with collections Save and categorize content based on your preferences.

You're viewing Apigee X documentation.
View Apigee Edge documentation.

Forks and joins are control points in an integration that let you specify the behaviour of a task (also known as the task's execution strategy) based on the task's incoming and outgoing conditions.

Fork

A fork is a control point for the outgoing edges of a task. It lets you specify the execution strategy for the immediate next tasks. You can click on a fork to open the Fork configuration pane and configure any one of the following execution strategies for a task:

  • Run all match: Runs all the immediate next tasks whose edge conditions evaluate to true.
  • Run first match: Runs the immediate next task (in no specific order) whose edge conditions evaluate to true. For example, if there are three immediate next tasks and the edge conditions for any task (in no specific order) evaluate to true, then that task is run.
image showing highlighted fork image showing highlighted fork

Join

A join is a control point for the incoming edges of a task. It lets you specify the execution strategy for the current task. When there are multiple incoming edges for a task, you can specify the conditions for which the task runs. You can click on a join to open the Join configuration pane and configure any one of the following execution strategies for a task:

  • When all succeed: Runs the task if all its prerequisites are met, that is, all the upstream dependent tasks run successfully. If any of the upstream tasks fail, the task is not run.
  • When any succeed: Runs the task if any one of its prerequisites are met, that is, at least one of the dependent tasks runs successfully. If all of the previous tasks fail, the task is not run.
image showing highlighted join image showing highlighted join