Using the Get Voice Input node in the RingCX Workflow Studio
============================================================

The Get Voice Input node collects information from callers through touch-tone or voice recognition.

The Get Voice Input node allows you to:

* Use audio files that might include recordings to prompt callers to provide input or that play if the workflow receives no input or invalid input.
* Determine the total number of times callers can attempt to supply input and the number of seconds it will wait for callers to supply input before timing out.

The node can be set up to receive *Exact Input* or *Min \& Max* input.

Note  
To recognize Dual-Tone Multi-Frequency (DTMF) inputs, the workflow must include an Answer node before the Get Voice Input node.

Using Exact input and Min \& Max input
--------------------------------------

Choose *Exact Input* to assign predetermined variables to the pathways that extend from a Get Voice Input node. For example, you might want to give callers the option to choose between English and Spanish. In this case, you can attach an audio file that prompts callers to press 1 for English or 2 for Spanish, and use the Get Voice Input connection properties to designate the pathway based on the input.

Choose *Min \& Max* input to collect and store data using the Get Voice Input node. For example, if you are collecting zip codes from callers, you can set the minimum and maximum input at five digits and set the Get Voice Input node to play a recording asking callers for their zip codes.

You can then retrieve the result of the Get Input node by using *ivr.getData()* with the ID of the Get Input node (A) as a parameter (B).

![GetInput node result](https://assets.ringcentral.com/content/dam/xml-assets/doc_team/en_us/ringcentral/RingCX/Using-the-Get-Input-node-in-the-RingCX-IVR-Studio/images/1-get-input-node.png)

Adding a Get Voice Input node
-----------------------------

To add a Get Voice Input node to your workflow:

* [Access Workflow Studio](https://support.ringcentral.com/article-v2/Intro-to-IVR-Studio-in-RingCX.html?brand=RingCentral&product=RingCX&language=en_US "").
* Drag and drop the **Get Voice Input** node from the palette onto the background.
* Hover over the **Get Voice Input** node, then click **Edit** .

  ![Get Input Properties](https://assets.ringcentral.com/content/dam/xml-assets/doc_team/en_us/ringcentral/RingCX/Using-the-Get-Input-node-in-the-RingCX-IVR-Studio/images/2-get-input-node.png)

* Type a **Node ID** for the node.
* Select a **Type** for the input from the dropdown. Depending on the type you select, additional options appear.
  * *Min \& Max* . Complete the following options:
    * **Speech Rec. Type** : If you have speech recognition enabled, select the type of input that will be recognized through speech recognition: *Numeric Only* , *Alpha Only* , *Alpha-Numeric*.
    * **Min Length**
    * **Max Length**

  * *Exact Input* . You can only use numbers or the asterisk (\*) key. The pound (#) sign is not supported. Complete the following options:
    * **Speech Input**: The exact input that will be accepted from callers when speech recognition is enabled.
    * **DTMF Input**: The exact input that will be accepted from callers when speech recognition is disabled.

* Select the **Enable Speech Recognition** checkbox (extra charges may apply).
* Select the **Save Input for Reporting** checkbox to save information for reporting.
* If you selected the **Enable Speech Recognition** checkbox, select a language from the **Language** dropdown.
* Select the**Audio File** , **No Input** , and **Invalid Input** audio files that play before the caller provides input, if the caller does not provide input, and if the caller provides invalid input. You have the following options:
  * Click the **Manual Entry** pencil and paper icon and provide the exact audio file name in the field that appears.
  * Click the **Open Audio Library** table icon, select an audio file from a list of global or account-level audio files, then click **OK**.

* Type a **Response Timeout** (number in seconds) for how long the workflow will wait for callers to supply input.
* Type the number of **Total Attempts** callers can attempt to enter input.
* Click **OK**.

To set the language for the Get Voice Input node, see [Set the default language used for interactions in RingCX](https://support.ringcentral.com/article-v2/Setting-the-default-language-used-for-interactions-in-RingCX.html?brand=RingCentral&product=RingCX&language=en_US "").

You may not want your workflow to disconnect when callers continue to enter invalid input. If that's the case, you can use a looping connector arrow. When you configure the properties for this looping connector arrow, be sure to select *error* in the **Selection(s)** field. Doing this will ensure that callers never reach the maximum number of total attempts.

Get Voice Input connection properties
-------------------------------------

The Get Voice Input node has connector arrow properties used to determine which input variables should be associated with each pathway. One pathway can be associated with multiple input variables.

To set up the connection properties:

* Double-click the circle with the question mark on the connector arrow.
* The options available depend on whether you selected *Min \& Max* or *Exact Input* for the Type of input.

If you selected *Min \& Max*, complete the following:

* **Digit** : This field allows you to assign conditions or input variables to a particular pathway.
  * **Error**: Clicking this button means that calls will be directed along this pathway when callers make an input error.
  * **Any** : Clicking this button means that calls will be directed along this pathway regardless of what input they supply. Selecting **Any** ensures that callers will continue along to the next node as long as valid input is entered. Valid input in this case would only mean input that is within the minimum and maximum length and whether it is numeric, alpha, or a combination.
  * **Custom Input**: Clicking on this button reveals a blank field in which you can supply custom input.

* **Rank**: The number you supply in this field determines which pathway takes priority whenever two or more paths share the same input variable. The pathway with the lowest rank --- that is, the lowest number --- takes priority.

If you selected *Exact Input*, complete the following:

* **Selection(s)** : This field allows you to assign conditions or input variables to a particular pathway. The vertical list of options begins with the input variables that you supplied in the **Get Voice Input Properties** window. Below those, you'll see two additional options:
  * *error*: Selecting this option means that calls will be directed along this pathway when callers make an input error.
  * *any*: Selecting this option means that calls will be directed along this pathway regardless of what input callers supply.

* **Rank**: The number you supply in this field determines which pathway takes priority whenever two or more pathways share the same input variable. The pathway with the lowest rank takes priority.

**Additional resources**  
[Using Workflow Studio in RingCX](https://support.ringcentral.com/article-v2/Intro-to-IVR-Studio-in-RingCX.html?brand=RingCentral&product=RingCX&language=en_US "")  
[Intro to workflows in RingCX](https://support.ringcentral.com/article-v2/Intro-to-IVR-Designer-in-RingCX.html?brand=RingCentral&product=RingCX&language=en_US "")  
[Intro to workflow triggers in RingCX](https://support.ringcentral.com/article-v2/Intro-to-workflow-triggers-in-RingCX.html?brand=RingCentral&product=RingCX&language=en_US "")  
[What nodes can do in RingCX IVR Studio](https://support.ringcentral.com/article-v2/What-nodes-can-do-in-RingCX-IVR-Studio-.html?brand=RingCentral&product=RingCX&language=en_US "")  
[Creating a workflow in RingCX](https://support.ringcentral.com/article-v2/Creating-an-IVR-in-RingCX.html?brand=RingCentral&product=RingCX&language=en_US "")

