How to configure and use the 'Dynamic Menu' component in wolkvox Studio
Table of Contents
Introduction
The “Dynamic Menu” component allows you to create voice menus that adapt to each customer based on the conditions met in the flow before reaching this point.
Instead of having a single fixed menu for everyone, you can dynamically enable or disable options using variables, so that only the options that actually apply to that customer are played.
This component is available in Voice routing and is found in the “Basics” group of wolkvox Studio.
Configuration
- Double-click on the component to open the configuration panel.
- In the configuration panel:
-
Menu message (optional): Select the menu's welcome audio.
- This audio must exist beforehand, or you can record / upload it using the Rec button (red circle).
- It is optional; if left empty, only the audios for the active options will be played.
-
Attempts: Enter how many times the customer will be allowed to try to dial a valid option.
- If they exceed this number, you can send them through the error path or to the component you define via the “PULSE” path.
-
Add item:
- In the “Audio” field, choose the audio for the menu option.
- In the “Variable” field, select one of the available variables: $dynamic_menu0, $dynamic_menu1, …, $dynamic_menu9.
- Each variable corresponds to the digit the customer can dial on their phone.
- With the Play button (green arrow), you can listen to the audio selected in “Audio” (not the “Menu message”).
- With the REC button (red circle), you can record or upload an audio file.
- Once you have chosen the audio and the variable, click “Add item”.
- From the table, you can right-click on a row and choose “Delete item” if you need to remove an option.
- When you have created all the options you will use in your dynamic menu, click “Save” at the bottom of the panel.
-
Menu message (optional): Select the menu's welcome audio.

Preparing the dynamic variables before the Menu
The true power of the Dynamic Menu lies in how you enable or disable options before the customer reaches this component.
- Each $dynamic_menuX variable must be set to the value “yes” for the option to be valid at that moment.
- If the variable does not have the value ‘yes’, that option will not be available to the customer, even if it exists in the Dynamic Menu table.
To set these values, you can use:
- Variable computation components.
- Responses from external APIs.
- Results from other components.
Pre-logic example: If the customer has an active medical appointment → set $dynamic_menu1 = "yes"
When the flow reaches the Dynamic Menu:
- Only the audios associated with variables set to “yes” will be played.
- The customer will only be able to dial the digits corresponding to variables set to “yes” (for example, 0, 1, and 3).
- If they dial a different digit (for example, 9 when it is not enabled), the flow will follow the PULSE path (as seen in the flow examples), where you can repeat the menu, provide an error message, or end the call.
