Edges

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

An edge is a connection between any two elements in an integration. The connection denotes the direction of the control flow from one element(task or trigger) to another. The connection can be between a trigger and a task or between a task and another task. By using an edge along with fork and join, you can implement complex branching and conditions in your integration. For more information, see Forks and joins.

For example, if there is an edge from a Send Email task to a Call Integration task, it means that after the Send Email task is run, the next task to run is the Call Integration task. An edge also supports conditional checks. Before the control passes to the next task, you can check for a condition in the edge and based on the result, decide to run the task or not. For more information about the supported conditional checks, see Edge conditions.

image showing highlighted edge image showing highlighted edge

Edge conditions

Edge conditions let you specify the conditions that must be met for control of an integration to pass to the task connected by the edge. The task is run only if the specified conditions are met. Edge conditions are useful in cases where there are multiple incoming edges to a task, where each edge checks for specific conditions before the task.

Specify edge conditions using the following steps:

  1. From the Integrations list in the Apigee UI, search for or select the integration to edit and click to open the integration designer.
  2. Click on the edge to open the Edge configuration pane.
  3. Configure the edge:

Supported operators

The following table describes the supported operators available for use in edge conditions.

Operator Description Example
= Checks for equality between two values $var$ = 'value'
!= Checks for inequality between two values $var$ != 'value'
< Checks if a value is less than another value 5 < 10
<= Checks if a value is less than or equal to another value $var$ < 5
> Checks if a value is greater than another value 1 > 0
>= Checks if a value is greater than or equal to another value $var$ >= 0
: Checks if a string contains a substring within it, or checks if a list contains a specific primitive value.

$longString$ : "substring"

$list of values$ : 'value'

AND Checks two expressions and returns true if both the expressions evaluate to true. $a$ > $b$ AND $b$ < $c$
OR Checks two expressions and returns true if any one of the expressions evaluates to true. $a$ > $b$ OR $b$ < $c$
NOT Negation operator. Flips the result of an expression. NOT($var$ = "value")

Supported functions

The following table describes supported functions available for use in edge conditions.

Function Description
exists(variable) Checks if a given variable exists
does_not_exist(variable) Checks if a given variable does not exist
is_empty(variable) Checks if a given variable is a list AND is empty
is_not_empty(variable) Checks if a given variable is a list AND is not empty