The Outbound interface allows users to view completed and pending outbound call lists, to view call logs for completed outbound calls, and to queue outbound calls manually through CSV upload.
Outbound calls can only be made when an application has been deployed.
For details about deployments and how to navigate to the interface, see the Deployments page.
Fuse+ makes it possible to automate outgoing calls with your digital voice channel. Behind the scenes outbound calling is a little bit different from handling inbound calls.
There are several different components to understand when developing applications for outbound calling, including:
There are 2 ways to start an outbound call
If you want to use Fuse+'s APIs to queue outbound calls, go into the Outbound ( ) section of the deployment to see your deployment configuration. You will need both the application id and the deployment id to use the outbound APIs.
Calls can be queued manually in Fuse+ by uploading a CSV document containing information for each call.
To queue outbound calls, click the button at the top of the page. This opens a pop-up window containing the following options:
1. Upload CSV: Use this option to upload a CSV file that contains a list of contacts to dial. The file must be formatted to match one of Fuse's expected numbering formats. See the CSV Formatting for more details.
2. Number of Attempts: This sets the number of outbound attempts to make for each number if the first attempt is unsuccessful. This option accepts numeric values from 0-10.
3. Time to Wait Between Attempts: This is an optional setting users may wish to utilize if they enabled multiple attempts. This value indicates how long, in seconds, the Fuse application must wait before attempting the next outbound call to a given number. The option accepts numeric values from X-XXX.
Advanced Options: The following fields are not required, but available, if desired:
4. Call Range: (optional) Allows users to identify a specific window of time to attempt the outbound calls.
Calls go out immediately if no time is specified.
The call time specified here is in Eastern Time 5. Result URL: (optional) Result URL callback, which will be called at the completion of each outbound call.
After filling in the desired fields, click the button to schedule the outbound calls.
There are several different acceptable formats for CSV contacts.
The only format restriction is that the first column header must be 'destination'. Other than that, users may supply optional columns of information. Fuse set these data as variables within your outbound call.
The following list provides samples of different phone number formats for 5 different contacts. Observe that none of these numbers have call variables set:
"destination" "1234567890" "1112223456" "tel:12223456547" "tel:+16177123000;ani=5553336666" "19998886666"
Note the various supported phone number formats. Users can add optional parameters for phone number strings, e.g. 'tel', 'ani', etc. Phone number formatting in Fuse functions the same way it does in native VoiceXML.
The following file includes the same list of phone numbers, but with the additional variables 'first_name' and 'last_name' for use within the application:
"destination","first_name","last_name" "1234567890","Steve","Smith" "1112223456","Klein","Reynolds" "tel:12223456547","Sloane","Bergeron" "tel:+16177123000;ani=5553336666","Plum","Voice" "19998886666","Keith","Johnston"
Outbound calls that are in progress or scheduled to go out in the future appear in the Pending tab of the Outbound interface.
Click the “Pending” tab on the table to view these pending outbound calls.
Users can view pending outbound calls, cancel outbound calls that have not been dialed yet, and queue calls in this interface.
When an application has one or more pending outbound calls, those numbers appear in the outbound calls table.
This table contains the following fields:
Click the button in the top left of the Pending calls table to refresh the list of pending outbound calls,
To locate a specific destination number in the list of outbound calls, enter that phone number in the “Search” text box.
To cancel pending outbound calls, click the button in the top right of the table. This opens a pop-up window that asks users to confirm the request to cancel pending outbound calls. Click to confirm canceling these calls.
To view completed outbound calls, click the “Completed” tab on the Outbound Calls table.
This interface gives users the option to export completed outbound call data, clear all completed outbound call data, view a list of all completed outbound calls, and search the completed call logs.
Applications that have one or more completed outbound calls display information about those calls in the outbound calls table. This table contains the following fields:
This detailed view contains the following data:
Users have several options for filtering the data displayed in the Outbound Calls table.
To view calls made during a specific window of time, set the desired date(s)/time(s) with the Calling Window.
Only calls made during the chosen time interval will display in the table.
As mentioned above, use the “Search” box to locate a specific phone number. These two filter options can also be used in tandem.
To export all completed call data, click the button at the top right of the table. A CSV file containing the outbound call record will download automatically.
To clear the existing data from the Completed Call table, click the button in the top right section of the table. This opens a pop-up window asking users to confirm the data deletion. Click to clear the current data.
When placing outbound calls, it is often necessary to alter the call flow based on the type of callee you have reached. For example you may wish to play a specific message in the case of an answering machine or proceed with the interactive call flow when you reach a person.
Fuse+ includes support for callee type detection through the global variable “session.connection.callee_type”.
The platform automatically updates this variable over the course of the first 4 seconds of the call.
Initially the variable will contain the value “processing”, and after 4 seconds it will be updated to be one of the following values:
The recommended approach for using this variable is to play an initial prompt that is at least 4 seconds long and then use the 'Compare Variable' ( ) module to branch on the different values that “session.connection.callee_type”.
Here is an example of a module branching on the “session.connection.callee_type” value:
While it is highly accurate, session.connection.callee_type is attempting to analyze potentially non-standard voicemail and answering machine behaviors, therefore, its performance is not guaranteed. It can and will have issues with certain types of voicemail or ring back behaviors that will lead to false positives / false negatives.
The best practice is for the initial prompt request the callee to press a button to accept the call, which guarantees that the call was connected to a person rather than a machine.
Consider the following example:
|Person answers with DTMF||Person answers by voice||Answering Machine|
|Call scenario||Callee presses any key||Callee answers by voice (such as hi, hello) but not by touch tone key||The call is directed to the answering machine|
|welcome||The record module is used to see if the callee respond to the welcome prompt, Any touch tone input on the will then end the record module and continue onto the next module||The record module is terminated by the final silence setting in the record module||The record module is terminated by the final silence setting in the record module|
|check_response||The welcome$.termchar value in the module will indicate that the recording is indeed terminated by a touch tone||Since the recording ended by silence, welcome$.termchar is false and the application will branch to the right||Since the recording ended by silence, welcome$.termchar is false and the application will branch to the right|
|check_callee_type||Because there was a response from the caller within the first 4 seconds of the call, the platform will evaluate session.connection.callee_type as “voice” and therefore direct the application back to the left||If the answering message is continuous throughout the first 4 seconds, the platform will evaluate session.connection.callee_type as “answeringmachine”|
For more information on the different settings you can set for an outbound call, please visit the Outbound Parameters page.