Menu

The Menu operation selects an exit according to the digit entered by the caller when prompted. It supports some special handling for “Fast Time-Out”.

The Menu operation must have at least one exit. The Menu operation is only useful when it has more than one exit, although this is not enforced by the operation definition.

If the caller abandons (i.e. hangs up) at any point in the operation, no further processing is performed and no exit is followed. If the caller enters a digit that is associated with an exit, that exit will be followed. Otherwise the “None” exit will be followed.

Config Parameters

The Menu operation config attributes are as follows.

Parameter Type Description
main_announcement Announcement
Object
[Required] The main_announcement parameter is an Object using the shared announcement configuration structure as defined in the Flow Introduction documentation. This announcement is played as the prompt for all caller input attempts.
timeout_announcement Announcement
Object
[Required] The timeout_announcement parameter is an Object using the shared announcement configuration structure as defined in the Flow Introduction documentation. This announcement is played when input fails due to a timeout expiry on input.
bad_digit_announcement Announcement
Object
[Required] The bad_digit_announcement parameter is an Object using the shared announcement configuration structure as defined in the Flow Introduction documentation. This announcement is played when input fails due to the caller entering an unrecognised digit.
max_iterations Integer The maximum number of attempts that the caller may have to enter a valid digit.
(Default = 3)
digits Array of
Object
[Required] The digits Array must contain zero or more Objects.

Config Digits

The attributes for each Menu operation digits Object are as follows.

Parameter Type Description
digit Character [Required] The single input digit which the caller must enter using DTMF in order to select the associated exit. The permitted values for this digit are the telephony digits and T. See the following notes for an explanation of the interpretation of the T digit.
exit_idx Integer [Required] The zero-based index number of the exit to select when the caller input matches digit.

The telephony digits all follow their natural interpretations. If a matching digit is entered, the associated exit is immediately followed.

Digit T indicates a “fast timeout rule”. If the caller does not enter any digit when first prompted to do so, the presence of a T digit will cause the associated exit to be followed. (No further prompting will occur.) When no T digit is specified, the caller will be re-prompted until a digit is entered or max_iterations is reached and the None exit is followed.

Example Operation

Here is an example Menu operation in JSON representation.

    {
        "id": 5,
        "type": "Menu",
        "config": {
            "main_announcement": {
                "customer_name": "Main Customer",
                "entry": "16740"
            },
            "timeout_announcement": {
                "customer_name": "Main Customer",
                "entry": "16698"
            },
            "bad_digit_announcement": {
                "customer_name": "Public Announcements",
                "entry": "50"
            },
            "max_iterations": 3,
            "digits": [
                { "digit": "1", "exit_idx": 1 }
            ]
        },
        "exits": [ 4, 17 ]
    }

In this example, if the caller enters digit 1, processing will continue via exit index 1 to the operation with ID 17. If the caller enters any other digit or no digits, processing will continue via exit index 0 to the operation with ID 4 (possibly after re-prompting).

Exits

The first exit is always the “None” exit.

Exit Index Name Description
0 Exit #1 (None) [Required] All Menu operations must have at least one exit.
1 Exit #2 + Additional exits may be present.