IVR Improvements

In this release, 8x8 Contact Center introduces significant improvements to the IVR scripting capabilities. The following new objects are added:

  • Set Variable
  • Test Variable
  • Randomize

Set Variable

The ability to set variables allows programming abilities within IVR scripts enabling better caller experience. You can use variables to remember the user input and use them to drive the call flow. You can create variables to store values of string and number types, reference them anywhere and any number of times in the script.

8x8 Contact Center allows two types of variables in IVR:

System Variables

These are pre-defined variables which cannot be edited.

  • $QueuePosition: Returns the current position of a call within the queue.
  • $callerPhoneNumber: Returns the caller's phone number based on caller ID.
  • $callbackPhoneNumber: Returns the call back number input by the caller.

User Defined Variables

These are variables defined by users. You can initialize these variables with a certain value and modify them later.

To access these objects:

  1. Log into 8x8 Configuration Manager.
  2. Go to Scripts.
  3. Add a new script for phone channel.
  4. Select a node and the ADD link.
  5. From the drop-down menu of objects, select Set Variable.
  6. Enter a name to indicate the use of the object.
  7. Select a pre-defined variable from the drop-down list or create a new variable.
  8. Select a value for the variable and save.

Test Variable

The Test Variable object allows you to test an already defined variable and test it against a set value. To test a variable, select either a system variable or a user-defined variable, test it against a specific value. For example, test how many calls are ahead of a call using the system variable $QueuePosition. If there are more than ten calls ahead of this call, announce the position to the caller, and offer the caller to receive a call back. If there are fewer than 10 calls ahead of this call, continue the caller in the queue.

To access the Test Variable object within the script, click Add next to a node and select the Test Variable object from the Insert Object list.


The Randomize object allows us to randomly pick callers and offer a different treatment from the regular. For example, in a customer survey program, you may want to randomly select 50% of callers, direct them to a survey. You will need to use the randomize object that randomly picks callers and offers a specific treatment based on the path chosen.