Skip to content
Management Panel

IVR actions ​

WARNING

Applies to VoipNow 3 and higher!

This article describes all the actions available for an IVR extension and provides several examples of IVR scenarios based on such actions.

IVR actions ​

ActionDescription
Alter CallerID Name with content of variableYou can choose one of the available actions (Prepend, Append, Replace) to modify the CallerID name using a recorded variable. This action is recommended if you want to modify the CallerID of the person calling the IVR. For example, you can Prepend the CallerID name with the sales value, recorded with the Record digits to variable action.
Alter CallerID Name with static valueYou can choose one of the available actions (Prepend, Append, Replace) to modify the CallerID name using a static value. This action is recommended if you want to modify the CallerID name of the person calling the IVR. For example, you can Prepend the CallerID name with the Sales value. When a call is placed to the IVR and then transferred to the Sales extension, the CallerID name will be read: Sales{callerid_name}, where {callerid_name} is the initial CallerID name.
Alter CallerID Number with content of variableYou can choose one of the available actions (Prepend, Append, Replace) to modify the CallerID using a recorded variable. This action is recommended if you want to modify the CallerID number with a specific variable taken from the Record digits to variable action. For example, you can Prepend the CallerID number with the recorded value 021. When a call is made, the CallerID number will contain 021.
Alter CallerID Number with static valueChoose one of the available actions (Prepend, Append, Replace) to modify the CallerID using a static value. This action is recommended if you want to modify the CallerID number of the person calling the IVR with a static value. For example, you can Prepend the CallerID with the 12345 value. When a call is placed to the IVR and then transferred to an extension, the CallerID number will be read: 12345{callerid_number}, where{callerid_number} is the initial CallerID number.
CallAPI interactiveYou can use the CallAPI mechanism to program the IVR to behave in a certain way using HTTP REST interaction with a remote application. Both request methods are available:
  • GET - This method requests a representation of the specified resource. This is the default value.
  • POST - This method submits data to be processed (e.g. from a HTML form) to the specified resource. The data is included in the body of the request and may lead to the creation of a new resource, the revision of current resources or both.
You need to define the URL address you want the IVR to send the request to. For more details, check the Call Interactive.
CallerID Number based jumpThis action enables jumping to another context, based on the CallerID number of the received call. This action is recommended if you want to have a call sent to a different context, based on the CallerID number. For example, if the CallerID number is 123456789, then the call will be sent to the selected destination of the specified context. You can also set the context and the destination of the call if the CallerID number is not 123456789. Here are the available options:
  • start
  • timeout
  • invalid
  • 0-9, *, #
Any of these options can be configured with one of the available actions, depending on the purpose of the context. In the example below, if the CallerID number is 123456789, then the call will be sent to option * of context1. If the CallerID number is different, then the call will be redirected to option 4 of context3.
CallerID Name based jumpThis action enables jumping to another context, based on the CallerID name of the received call. This action is recommended if you want to have a call sent to a different context, based on the CallerID name. For example, if the CallerID name is John Doe, then the call will be sent to the selected destination of the specified context. You can also set the context and the destination of the call if the CallerID name is not John Doe. Here are the available options:
  • start
  • timeout
  • invalid
  • 0-9, *, #
Any of these options can be configured with one of the available actions, depending on the purpose of the context. In the example below, if the CallerID name is John Doe, then the call will get sent to option 2 of context2. If the CallerID name is different, then the call will be redirected to the start option of context3.
Set variableThis action is useful if you want to replace the content of a variable with a string. This action is recommended if you want to have the content of the variable replaced with a different string. It can be used when setting the language of the IVR. For more details, see .
Hangup after [X] secondsThis action allows you to terminate a call within a specific period of time. This action is useful if you want to set specific Timeouts for calls. For example, in a context, you can add a Hangup after X seconds action for the Timeout option. In this way, the call will be hung up after the priorly set number of seconds.
Jump to contextThis action enables jumping to another context, based on the evaluation of a given condition. This action is recommended if you want to evaluate different conditions of a given Recorded variable. For example, if you record a variable such as 1234, then a specific context will be used if that variable satisfies the condition you have selected from the drop-down list.
Play company directoryThis action transfers the call to one of the extensions in the company directory. The caller selects the destination extension through the phone keypad. This action is useful if you know the name of the extension, yet you do not know its number. To see how a directory works, you can dial *22 and follow the instructions.
Play digitsThis action plays one or several sound files to communicate a given value. This action is useful if you want to verify the recorded value.
Play digits contained in variableThis action plays a given value contained in a variable using one or several sound files. You can associate a numeric value to a variable using the Record digits to variable or the Set variable options.
Play soundThis action plays a given sound file for the caller. You can select from the drop-down list if you want the sound to be played either in background or in foreground. If foreground is selected, then the caller will have to wait for the whole sound to be played before initiating a new action. If background is selected, then the caller can stop the sound by pressing a key and other actions may be initiated.
Record digits to variableThis action stores the digits typed by the caller on the phone keypad to a given variable. You can specify the number of digits to be recorded and the name of the value for the digits. To stop recording after a period of time, you just need to fill in a value in the Stop recording after X seconds of inactivity field. The accepted values range from 1 to 9. The default value is 5 seconds. You can also specify if you want a specific sound to be played before the digits get recorded.
Set language to content of variableYou can use this action to set the language of the call. All sounds will be played to the caller in the selected language.
Set language to static valueYou can use this action to set the language of the call by using the contents of a given variable. All sounds will be played to the caller in the language that you select from the available drop-down list.
Time interval based call transferBased on the time interval during which the call is received, this action transfers the call to another extension on the client account.
Time interval based context jumpThis action enables jumping to another context, based on the time interval during which the call is received.
Transfer call to extension numberThis action transfers a call to another extension on the client account. This action handles transfers from the IVR to different extensions. Any IVR scenario should include this option among its 0-9 actions.
Transfer to number contained in variableThis action can transfer the call to another extension on the same client or to an external phone number using the contents of a given variable.
Wait for [X] secondsThis action introduces a delay between two consecutive actions.

IVR scenarios ​

Scenario #1 ​

The call flow is:

  1. First, call the IVR.
  2. The welcome sound will be played, asking you to enter the 3-digit short number of the extension and to press 0, 1, 2 to get transferred to the desired extension.
  3. If you do not enter the required number or you do not press 0, 1, 2 , the options context will be played.
  4. If you press 3, the welcome sound will be played again.

To implement the functionality described earlier, you have to build 2 contexts:

Main Context ​

Here are the actions for the start option:

ActionDescription
Play sound file in backgroundHere you will define a message that will be played to the caller. For example: Thank you for calling company X. If you know your party's 3-digit extension, please dial it now. For front desk dial 1, for back desk dial 2, and for the operator dial 0.
Record digits to variableFill in the options as follows: Record 3 digits to variable transfer Stop recording after 3 seconds of inactivity Play before starting recording - This option is not mandatory.
Transfer call to number contained in variableFill in the options as follows: Transfer call to number contained in variable transfer
Time-interval based context jumpFill in the options as follows: If in time interval - You must first define the desired interval, for example Full month. Jump to context - Select Options, at option - select start. Else jump to context - Select main, at option - select start.

The actions for the invalid option are:

ActionDescription
Record digits to variableFill in the options as follows: Record 3 digits to variable transferext2 Stop recording after 3 seconds of inactivity Play before starting recording - If you wish, it is not required.

Options context ​

The actions for the start option are:

ActionDescription
Play sound in backgroundAs you wish.

The actions for the timeout option are:

ActionDescription
Play sound in backgroundAs you wish.
Hangup after [X] secondsDefine a value, for example 5 seconds.

The actions for the invalid option are:

ActionDescription
Play sound in backgroundAs you wish.
Time-interval based jumpFill in the options as follows: Jump to context - Select Options, at option - select start.

The actions for the 0 option are:

ActionDescription
Time-interval based call transferFill in the options as follows: If in time interval - Select the Full month interval. Transfer to - Fill in your front desk extension's number. Else transfer to - Fill in the number of the extension where you want the calls to be transferred to.

The actions for the 1 option are:

ActionDescription
Time-interval based call transferFill in the options as follows: If in time interval - Select the Full month interval. Transfer to - Fill in your front desk extension's number. Else transfer to - Fill in the number of the extension where you want the calls to be transferred to.

The actions for the 2 option are:

ActionDescription
Time-interval based call transferFill in the options as follows: If in time interval - Select the Full month interval. Transfer to - Fill in the number of your back desk extension. Else transfer to - Fill in the number of the extension you want to get calls transferred to.

The actions for the 3 option are:

ActionDescription
Time-interval based context jumpFill in the options as follows: Jump to context - Select Options, at option - Select start.

Scenario #2 ​

Change the language of playing sounds.

To implement this scenario, you have to build one context with the following actions:

The actions for the start option are:

ActionDescription
Record digits to variableFill in the options as follows: Record 1 digits to variable var Stop recording after 9 seconds of inactivity Play before recording starts - This option is not mandatory. This action will store the digits typed by the caller on their phone keypad to a given variable. In our case, it will save 1 digit to variable var. The recording will stop after 9 seconds of inactivity. (The default value is 5 seconds).
Set variableFill in the options as follows: Associate variable var With string pt This will replace the content of the variable with a different string. In our case, the var variable will be replaced with pt.
Set language to content of variableFill in the options as follows: Set language to content of variable 1 This will set the language of the call to the one we set at step 2. If the IVR is called and 1 is typed, then the language will be set to pt.
Last updated: Jan 13, 2026