There are four components in Studio that enable you to create loops. They are called loopable components:

📘

The "Alternative Exits" of the Assignment and Dial component are loopable.

You can configure one-level loops, in which the Exit to a loopable component is the component itself (Figure 1), or multi-level loops, in which the Exit to any component is a previous loopable component in the flow (Figure 2).

1425

Figure 1: The Timeout and Invalid Exits direct the call
to the same loopable component (Standard IVR).

1425

Figure 2: The Invalid Caller Id Exit directs the call
to a previous loopable component (Standard IVR).

If you were to attempt doing the same with non-loopable components, the following error would be displayed when you saved your flow:

📘

Endless loop detected in this step

This is true for both one-level loops (Figure 3) and multi-level loops (Figure 4).

1425

Figure 3: An error occurs because the “No match found” directs the call
to the same non-loopable component (Assignment and Dial).

1425

Figure 4: An error occurs because all Exits direct the call
to a previous non-loopable component (Salesforce data dip)

📘

Note

When an endless loop error message is displayed, both the steps and the arrows that connect them will be highlighted in red, so you can easily identify and correct the error in your flow.