IVR Studio: Outbound IVR

IVR Samples Library - Utilize Voicent CRM

All Voicent tools are integrated with Voicent CRM, thus it is only natural to utilize the CRM data to improve your IVR app. This sample shows how to play audio in the customer's preferred language specified in his CRM record without ask him to press a key to select the language choice.

Language Preference

The standard contact record in Voicent Database (CRM) does not contain language. This field needs to be created first in the Setup, Contact, Custom Field page. The values of the language field, for example, can be defined as : english,spanish, chinese.

The Call Flow

When an outbound call is placed, the dialer detects whether the call is answered by a live human or a machine. If it is answered live, the dialer executes the app in the Live Answer branch. The first node it executes is Check Language, which checks the language preference of the current contact record. If the language is set to Spanish, the dialer executes the Spanish branch and there an audio file in Spanish is placed.

Similarly, if the call is answered by a machine, the Answering Machine branch is executed.

The Variable

At the top level Outbound Call node, variables used in the app are defined.

The variable lang is used to keep track of the language preference of the current contact.
The variable theCustomer is used to keep track of the current contact.
The variable rc is used to get a return value.

The CRM variable must be initialized using the function crminit(table_name) with a table name. In most cases, the table_name should be "CUSTOMER".

The Actions

In the Check Language node, the actions defined are shown below.

First, the theCustomer variable is initialized to the current contact. This is done by searching the database by the phone number called. The __VG__CALLED_NUMBER__ is a system variable representing the current called phone number. The findbyphoneno is a system API for searching by phone number.

rc = theCustomer.findbyphoneno(__VG__CALLED_NUMBER__)

Once the theCustomer variable is initialized, we can then set the lang variable to the language field of the current contact.

lang = theCustomer.language

The Branches

Once the lang variable is set, the app automatically selects the branch to execute based on the language preference. So if lang == ‘spanish’, then the Spanish node is executed.

The … branch is executed when all the above conditions are not met. In this app, it is the English branch.


To deploy the application, select Deploy > Submit to Gateway... from the program main menu. If the menu item is grayed out, select Validate... first.

You can now select the newly deployed IVR app to run an auto dialer campaign.

IVR Platform and Design Tools