Jump to: navigation, search

Variables in Callflows

You can define voice application (session) variables using the Entry block Variables property.

Note: For information on user data and GVPSessionID, see the Project Properties dialog box, Composer Callflow Option.

Types of Variables

Composer supports the following types of variables for callflow diagrams:

  • Application Root--Automatically filled from either session.com.genesyslab.userdata or  session.connection.protocol.sip.requesturi based on the Nnn-CTIC or CTIC flow. Also see the Entry Application Root Property.
  • System --Pre-defined application variables (Entry block Variables property) hold Project and application-related values. While you cannot delete System variables, you can have your application modify the values.


  • User--User-defined (Input) custom variables that you create by clicking the Add button in the Set Application Variables dialog box above and selecting User. Your application can delete and modify these variables supplied as input to the called diagram. During runtime, these input variables get auto-filled from the calling context. Typically these variables are created on the SubCallflow side to notify the MainCallflow about the Parameter-passing details while designing the application flow. Composer does auto-synchronization of the input variables in the Subdialog block. Input variables are also used on the MainCallflow while invoking the VoiceXML application from workflows in case of Voice Treatment execution - computer telephony integration (CTI) scenario (Play Application).

  • SubCallflow--Automatically filled from the VXML subdialog-invoking methodology.

Variable Versus Static Data

Many blocks enable the use of variables rather than static data. For example, the Prompt block can play the value of a variable as Text-to-Speech. Variables whose values are to be used in other blocks must be declared here so that they appear in the list of available variables in other blocks. The value collected by an Input block or a Menu block is saved as a session variable whose name is the same as the block Name. Also see information on the AppState variable used by the DB Data block.

Entry Block Variables

Entry block variables can access User Data (attached data from a routing workflow) from session.com.genesyslab.userdata and SIP Request-URI parameters from session.connection.protocol.sip.requesturi session variables.

Request URi parameters created in IVR Profiles during the VoiceXML application provisioning are passed to the Composer generated VoiceXML application as request-uri parameters in the session.connection.protocol.sip.requesturi session array. An Entry block variable can use these parameters by setting the following expressions to the variable values: typeof session.connection.protocol.sip.requesturi['var1'] == 'undefined' ? "LocalDefaultValue" : session.connection.protocol.sip.requesturi['var1'].

If parameters are set as part of IVR Profiles provisioning in the Genesys VoiceXML provisioning system, and if these parameters have the same names as variables set in the Entry block's Variables property with the above mentioned sip.requesturi expression, then the SIP-Request-URI parameters will take precedence over the user variable values set in the Entry block.

For more information on valid values and syntax for the the gvp.services-parameter section, refer to page number 121 in the GVP 8.5 User's Guide.

IVR profiles for GVP can be created using the Genesys Administrator. For more information, refer to the Voice Platform Solution Guide and the gvp.services-parameter section in the GVP 8.5 User's Guide.

Attaching Results to User Data

While you can assign Classify object results to a variable, Genesys does not recommend this. The recommended way of dealing with the classification results is to attach them to the interaction. Then User Data will have the keys listed in the table below with the corresponding values returned by Classification Server. As an example, User Data would have the following pairs after the attachment:

Parameter Value
CtgId 00001a05F5U900QW
CtgRelevancy 95
CtgName Cooking
CtgId_00001a05F5U900QW 95
CtgId_00001a05F5U900QX 85
CtgId_00001a05F5U900QY 75
CtgId_00001a05F5U900QZ 65
This page was last edited on November 30, 2018, at 18:46.
Comments or questions about this documentation? Contact us for support!