'Call-flow' ( ) modules create the directional roadmap for a voice application (also called 'branching'). These modules determine the call-flow and workflow logic of an application and are what end-users pass through in order to reach input or data modules. If you think of the path that end-users follow through a call as a road, then the 'Call-flow' ( ) modules are the road signs that direct them where to go.
The 'Prompt' ( ) module does not perform any branching functions on its own, but it is grouped with the other 'Call-flow' ( ) modules because it provides critical context for workflow logic and is typically used in conjunction with other 'Call-flow' ( ) modules.
|Module Name||Description |
|Prompt||A simple prompt|
|Transfer||This module transfers the caller the a new desired phone number|
|Goto App||Re-directs the call-flow to another Fuse application|
|Goto Page||Re-directs the call-flow to another page within the current application|
|Compare Variable||Compare variables and re-direct the call based on the result|
|Counter||Give callers multiple chances to complete a task, then re-direct the call based on their response|
|Exit||Disconnect the caller from the application|
|Call Log||Add custom logging to your call logs|
|Label||Sticky notes for annotating an application|
|Subdialog||Re-directs the call-flow to an external VoiceXML application|
'Input' ( ) modules are used to collect information from end-users.
Each one of these modules obtains a piece of information from an end-user and stores it in a variable that can be acted upon later in the call.
Note: To meet PCI-DSS or HIPAA compliance, it is possible to make 'Input' ( ) modules private so that sensitive information is not retained after the call ends. See the module settings section for more information on the 'Private' setting.
Most of the errors 'Input' ( ) modules generate are either No Input or No Match. If users want to branch on these errors it is necessary to enable the 'Show Custom Errors' setting.
|Module Name||Description |
|Address||Collect address information|
|Yes/No||Re-direct a call based on a binary choice|
|Custom Field||Create custom inputs|
|Date/Time||Collect date or time information|
|Number||Collect numeric values, either decimal or whole numbers|
|Digits||Collect individual digit values|
|Language||Set the active language for multi-language applications|
|Menu||Multiple choice menu|
|Dynamic Menu||Dynamic multiple choice menu|
|Name||Collect an individual's name information|
|Record||Collect a voice recording|
The 'Call Recording' ( ) module is somewhat of an outlier here, as it tends to function as a flow control module, but because it creates data on its own, not through user input, it's grouped with the other 'Data' ( ) modules.
|Module Name||Description |
|Send an outbound email|
|Set Variable(s)||Define variable(s) within the application|
|Call Recording||Toggles call recording|
|REST||Submit a REST webservice request|
|SOAP||Submit a SOAP webservice request|
Fuse has robust capabilities when dealing with variables. The title of each module in Fuse represents a variable that is created immediately after that module has executed.
Any text field that has a plus sign ( ) in the lower right-hand corner can be used to access a variable.
Once a variable is established in Fuse, it is available anywhere in the application. Variables are not retained from one call to another or after a call disconnects.
When jumping between applications using the Goto App module ( ), Fuse isolates the variables from each application to avoid conflicts. See the Goto App module for more information.
In the prompt modules, any variables that needs to be presented back to the caller can be set with a specific variable type.
Once a variable type of set, an icon will be shown next to the variable to indicate that text-to-speech variable is of a specific type.
There are 5 variable types in our Text-to-Speech engine:
1. acronym ( ): This instructs the TTS engine to pronounce the variable character by character.
It is useful for word acronyms as well as phone numbers, credit card numbers, or zip codes.
ABS is pronounced as A-B-S instead of the word “abs”
12345 is pronounced as 1-2-3-4-5, instead of “twelve thousand three hundred and forty five”
2. address ( ): This instructs the TTS engine to pronounce common street address as such.
For example, “E 123rd St” as “East one hundred twenty-third street”, or “Boston, MA” as “Boston, Massachusetts”
City and State should be its own variable, set aside from the street address. Otherwise, the TTS engine will not able to say the state correctly.
See Address ( ) module for more details.
3. currency ( ): This instructs the TTS engine to pronounce the variable as a currency.
The expected currency format is a number using period as the decimal separator, and without any currency symbols.
Any other non-digits (such as thousands separator) can cause the TTS engines to misinterpret the value.
12.18 is pronounced as “Twelve dollars and eighteen cents”
4. date ( ): This instructs the TTS engine to pronounce the variable as date.
The expected date format is MM-DD-YYYY or MM/DD/YYYY
01-01-2019 is pronounced as “January first, two thousand eighteen”
5. time ( ): This instructs the TTS engine to pronounce the variable as time.
The expected time format is HH:MM AM/PM
10:34 AM is pronounced as “Ten thirty-four A.M.” Leading zeros are required for hours that are single digits (for example, 08:30 AM)
Note: while in most cases, the different TTS engines will pronounce variables the same way, they can still differ in some of its interpretation and usage of grammar and conjunctions, especially with non-English languages. It is recommended to test out how each variable types are spoken with your TTS engine selection
For advanced users, VoiceXML-based shadow variables exist for Input modules and the REST data module.
For more information, please see the Shadow Variables page.