From Bright Pattern Documentation
< 3.15:Scenario-builder-reference-guide
Revision as of 23:10, 28 April 2017 by Sergem (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
• 3.10 • 3.11 • 3.12 • 3.13 • 3.14 • 3.15 • 3.16 • 3.17 • 3.18

Variables

This section describes the variables that are used in Bright Pattern Contact Center scenarios. Variables are accessed using the common $(varname) format. They can be used in integer and string expressions.

Most of the scenario variables are local (i.e., their values are available to the scenario where they are defined and to the sub-scenarios that are started from that parent scenario using the Start Another Scenario block). Variable $(item.customerPhone), as well as all variables in the General category of scenarios launched for consult calls and blind transfers, inherit values of the same variables of the associated primary calls. To share data between independent scenarios, consider using blocks Fetch URL or DB Execute to store variable values in a persistent storage and to access them from other scenarios.


General

$(destination)

$(destination) specifies the destination for the Connect Call or Connect Chat block.


$(fetchURLResultBody)

$(fetchURLResultBody) specifies the body of HTTP response received by the most recent Fetch URL block. Note that the block will report the same value via the $(integrationResultBody) variable.


$(fetchURLResultCode)

$(fetchURLResultCode) specifies the code of HTTP response received by the most recent Fetch URL block. Note that the block will report the same value via the $(integrationResultCode) variable..


$(integrationResultBody)

$(integrationResultBody) specifies the body of HTTP response received by the most recent of these integration blocks:

To understand why an attempt to look up or update data in a third-party application may have failed, consider using this variable and the corresponding $(integrationResultCode) after each integration block in the following manner:

  • Use the If block to separate failed attempts from successful ones (e.g., If scenario variable (number) $(integrationResultCode) is not = 200). (The exact expression will depend on the messages returned by the third-party application, their codes, and the types of messages you expect to be notified about.)
  • For failed attempts, use either the EMail or Internal Message block to submit content of both these variables to concerned personnel.


$(integrationResultCode)

$(integrationResultCode) specifies the code of HTTP response received by the most recent of the integration blocks. For more information, see the description of the $(integrationResultBody) variable.


$(agentState)

$(agentState) specifies the state of the agent obtained by the most recent Set Agent State block.


$(notReadyReason)

$(notReadyReason) specifies the Not Ready reason of the agent obtained by the most recent Set Agent State block.


$(doNotRecord)

$(doNotRecord) can be set to 1 or true (case insensitive) prior to Connect Call block to disable call recording. This overrides all recording settings in configuration as well as the value of the Record checkbox in the Connect Call block.


$(targetDisconnectedCause)

In the event of agent connection loss during a chat with a customer, the $(targetDisconnectedCause) variable informs the chat scenario of which side has disconnected and gives an option to continue the conversation using the chat scenario or another agent. This can be used as a conditional exit in chat scenarios.


$(XXX)

$(XXX) is a custom (user-defined) variable. Substitute XXX with a meaningful variable name (e.g., $(accountNumber)). Custom variables are used to pass custom data between blocks of the same scenario and to transfer such data from scenarios of primary customer calls to the associated dependent calls (consultations and blind transfers). Scenarios launched for consult calls and blind transfers will recreate all custom variables defined in scenarios of the associated primary calls and will inherit their values.

Screenpop Data

$(screenpopData.XXX)

$(screenpopData.XXX) specifies the list of the screen pop data received or set by interactive voice response (IVR). An actual list of available screen pop data elements depends on the particular IVR and integration.


Interaction Properties

$(item.globalInteractionId) $(item.globalInteractionId) specifies the Global interaction identifier.


$(item.interactionId)

$(item.interactionId) specifies the interaction identifier. This parameter is maintained for backward compatibility. Starting with Bright Pattern Contact Center version 3.11, the $(item.globalInteractionId) variable is recommended for use in any operations involving interaction identification.


$(item.interactionStepId)

$(item.interactionStepId) specifies the interactions step identifier. This variable can be used to create URLs to call recordings in the following format: https://host/admin/?interactionId=829314033221498390341. This parameter is maintained for backward compatibility.

Starting with Bright Pattern Contact Center version 3.11, the $(item.globalInteractionId) variable is recommended for use in any operations involving interaction identification.


$(item.media) $(item.media) specifies the media type. This variable can be set to voice or chat.


$(item.from)

$(item.from) specifies the origination address (i.e., phone number or chat user display name). This variable is also known as ANI.


$(item.to) $(item.to) specifies the destination address (i.e., dialed phone number or chat launch point name). This variable is also known as DNIS.


$(item.customerPhone)

$(item.customerPhone) specifies the customer phone number. This variable enables passing customer phone information from scenarios of primary inbound and outbound customer calls to scenarios of the associated consultations and blind transfers.

  • In scenarios launched for new incoming calls, its value matches the value of the $(item.from) variable.
  • In scenarios launched for new outgoing calls, its value matches the value of the $(item.to) variable.
  • In scenarios launched for consult calls and blind transfers, the value of the $(item.customerPhone) is inherited from the scenarios of the associated primary calls.


$(item.priorTo)

$(item.priorTo) specifies the prior destination address (phone number or chat launch point name). It is used for forwarded calls.


$(item.firstName)

$(item.firstName) specifies the customer first name. The scenario may get or set this variable. Setting the variable also updates the historical database interaction step as well as customer chat party information.


$(item.lastName)

$(item.lastName) specifies the customer last name. The scenario may get or set this variable. Setting the variable also updates the historical database interaction step as well as customer chat party information.


$(item.fullName)

$(item.fullName) specifies the customer full name. Scenario may get or set this variable. For voice calls, it is set to display name as received from the network. For chat, this is initially empty, but it can be set by the scenario.


$(item.email)

$(item.email) specifies the customer email address. It may contain multiple addresses separated by a comma or semicolon, and the scenario may get or set this variable.


$(item.sendTranscript)

For chat interactions, scenario must set the $(item.sendTranscript) variable to 1 to have a session transcript emailed to the customer. The variable can be set at any time. The transcript will be emailed to the address(es) specified in $(item.email) when the session ends. For the corresponding email template and SMTP configuration, see section Email Settings of the Contact Center Administrator Guide.


$(item.data)

$(item.data) specifies a key-value list of optional additional interaction data. To obtain content of a particular data element, use $(item.data.<name>) (e.g., $(item.data.firstName))


$(item.message)

For chat interactions, the $(item.message) variable specifies the last chat message received from the origination side.


$(item.newMessage)

For chat interactions, the $(item.newMessage) variable adds a new message as it was received from customer. This variable is used to populate a chat session with form field values. The new message is treated as it was received from the customer and is added to chat transcript.


$(item.sip.headers)

$(item.sip.headers) gets the key-value list of SIP INVITE headers from inbound calls. This variable can be used to obtain content of individual P-, X- and Diversion headers. To obtain content of a particular header, use $(item.sip.headers.<header_name>) (e.g., $(item.sip.headers.X-tdm-channelnubmer)).


$(item.transcript) For chat interactions, the $(item.transcript) variable gets the full transcript of the chat session.


$(item.externalChatData)

For chat interactions, use the $(item.externalChatData) variable to specify the full collection of data received from customer chat page. This is a container for all values that were entered by the customer while chat was in the Request Input block for their possible later use in the scenario.


$(item.virtualDevice)

The voice scenario may set the $(item.virtualDevice) variable to indicate that an inbound call should not be terminated when the scenario ends; instead, the call will be converted to "virtual phone" (used for external agents on PBX).


$(item.doNotRecord)

For voice scenarios, $(item.doNotRecord) stops call recording upon transfer when the last agent leaves the call.


Scenario Configuration

$(app.version)

'$(app.version) specifies the scenario version (as reported by configuration server).


$(app.appName)

The $(app.appName) variable specifies the scenario name.


$(app.name)

$(app.name) specifies the scenario entry name.


$(app.priority)

The variable is the priority as specified in the scenario entry.


$(app.tenantName) $(app.tenantName) is the tenant name.


Custom Parameters

$(app.custom.XXX)

$(app.custom.XXX) names the custom parameters that can be specified in a scenario entry. The variable must follow naming convention $(app.custom.XXX), where XXX is the name of the custom parameter. All scenario variables conforming to such convention are treated as custom parameters. The list of such parameters will be displayed in the property Scenario parameters of every scenario entry associated with the given scenario. You can set values of such custom parameters for every scenario entry point separately.


User Configuration

$(user.id)

$(user.id) is the unique identifier assigned to this user object in configuration.


$(user.version)

$(user.version) is the version of the user's configuration information.


$(user.loginId)

This variable is the user’s username.


$(user.team)

$(user.team) is the name of the team to which the user is assigned.


$(user.firstName)

$(user.firstName) is the user’s first name.


$(user.lastName)

$(user.lastName) is the user’s last name.


$(user.phone)

This variable is the phone number that the user is logged onto or the user's extension as specified in configuration.


Service Configuration

$(service.name)

$(service.name) is the name of the service (as specified in the scenario entry or in the Request Skill or Service block).


$(service.version)

$(service.version) is the version of service configuration information.


$(service.slPercent)

This variable specifies the Service level call percentage.


$(service.slTimeout)

The $(service.slTimeout) variable specifies the Service level timeout in seconds.


$(service.EWT)

$(service.EWT) is the current estimated waiting time for the service. Calculated as the average time the last twenty answered interactions waited in the service queue before being answered.


Outbound Target Work Items

$(workitem.firstName)

$(workitem.firstName) is the customer’s first name.


$(workitem.lastName)

$(workitem.lastName) is the customer’s last name.


$(workitem.suggestedPhone)

This variable is the customer's default phone number.


$(workitem.otherInfo)

$(workitem.otherInfo) specifies all list fields except phones, first name, and last name (e.g., $(workitem.otherInfo.MTN)).


$(workitem.fullInfo)

$(workitem.fullInfo) specifies all list fields (e.g., $(workitem.fullInfo.MTN)).



< Previous | Next >
< Previous | Next >