Plum Fuse separates its modules into three categories:

Visual Indicators

  • 1. Barge-In Enabled
  • 2. Speech Recognition Enabled
  • 3. Private Enabled


'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


'Data' ( ) modules allows an application to act on data generated during a call or from an external source and brought into a call. These modules can manipulate data or send it somewhere else using JavaScript, REST or SOAP webservices, or Email.

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 ​
Email Send an outbound email
Set Variable(s) Define variable(s) within the application
Call Recording Toggles call recording
Evaluate JS Executes JavaScript
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.

Variable and Javascript Objects

Fuse stores all variables using Javascript. Modules that collect information from a caller create ​a variable ​that is a string primitive.
Modules ​that exchange and receive information with other applications can return complex Javascript Objects.
Users can access object properties by using standard Javascript dot notation: e.g., ​'​variable_name.subvariable_name'​.

Text-to-Speech Variable Types

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)

Text-to-speech engine settings can be found in Language Settings under Application Settings

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

Shadow Variables

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.

modules.txt · Last modified: 2020/01/09 16:04 (external edit)