Loop
This topic provides an overview of the Loop component, and describes its configuration as well as supported connections.
Component introduction
Loop component allows a group of components to be executed repeatedly, either for a specified number of times or until a condition is met, helpful in repeating menu options or returning to the previous menu.

Component configuration
- After adding Loop component to a call flow, click
Loop component to proceed with the
configuration.

- Set the loop method, then click Confirm.
Loop Method Description Loop until the fixed count is reached 
- In the Loop Method drop-down list, select Loop until the fixed count is reached.
- In the Count field,
specify how many times the loop should
repeat.Note: You can enter a value between 1 and 99.
Loop while condition is true 
- In the Loop Method drop-down list, select Loop while condition is true.
- In the Expression
field, enter a function.
Example: FX_EQUAL($Session.ani,"1001")
In this example, a call will enter the loop when the Caller ID is 1001.
For more information about the function syntax, see Variables and Functions in Yeastar Expression.
- Click
inside the loop to add the components that you want to repeat.Note: If you add a nested Loop component, up to 3 levels of nesting are supported.
The components to be repeated will appear inside the Loop component.

Component connections
Loop component can be connected to one component, which will be executed after the loop completes. You can connect any of the components listed below.
| Component | Description |
|---|---|
| Prompt |
Prompt component allows you to play audio prompt(s) or a text-to-speech message to callers. For more information, see Prompt. |
| Business Hours |
Business Hours component allows you to route calls to different destinations based on the time of day. For more information, see Business Hours. |
| Menu | Menu component allows you to present
callers with a set of menu options, and route calls based on the
DTMF digit they press. For more information, see Menu. |
| User Input |
User Input component allows you to collect DTMF digits from callers, typically used with Condition component to evaluate user input and route calls. For more information, see User Input. |
| Language |
Language component allows you to change the system prompt language for subsequent components in a call flow. For more information, see Language. |
| Record | Record component allows you to start
recording a call upon the caller being connected to another
participant, and optionally configure prompts to inform call
participants at the start and during the recording.
Alternatively, you can use the component to disable call
recording for calls that are supposed to be recorded. For more information, see Record. |
| Dial by Number |
Dial by Number component allows callers to directly dial a number to reach the destination. For more information, see Dial by Number. |
| Dial by Name |
Dial by Name component is one of the end components to terminate caller's connection to the current call flow. It allows callers to reach extension user by entering the first three letters of the user's name. For more information, see Dial by Name. |
| Transfer |
Transfer component is one of the end components to terminate caller's connection to the current call flow. It allows you to transfer callers to a designated destination, and optionally configure prompts to inform them of the transfer. For more information, see Transfer. |
| Hang Up Call |
Hang Up Call component is one of the end components to terminate caller's connection to the current call flow. When callers are routed to the component, the call will be disconnected. For more information, see Hang Up Call. |
| Condition | Condition component allows routing calls based on
logical expressions. For more information, see Condition. |
| Loop | Loop component allows a group of
components to be executed repeatedly, either for a specified
number of times or until a condition is met. For more information, see Loop. |
| Developer | Developer component allows you to
query and update data from PBX-native database or third-party
database. For more information, see the following
topics: |