Genesys CCPulse - Display UserData using Custom Stat and Filters
Previously, I wrote post about displaying user data in CCPulse using custom solution and user ‘ ‘ enquired about displaying user data using CCPulse application only.
I found two options to display user data in CCPulse
Option 1: Display User Data using Custom Stat
Step 1: Configure Custom Statistic as below
[CustomUserData]
Category = CurrentCustomValue
Formula = GetGlobalNumber(“Account”,-1)”
MainMask = *
Objects = Agent, Place, GroupAgents, GroupPlaces
Subject = DNAction
In CCPulse, configure template to display this custom statistic. Please note that this will work only if key value is numeric. To display string value, use option 2 below
Option 2: Display User Data using Filters
You need CCPulse 8.0.101.27 or higher to display user data using filters. Please find the CCPulse release notes below
CCPulse+ now displays by default only hardware or software reason codes, without User Data. A new CCPulse+ option, ReasonCodeData, in the [CustomStatistic] section enables you to control which values are displayed.
ReasonCodeData
Valid Values: Hardware; Software; Userdata
Separate with semicolons the values to be displayed. Enter all three values if you use User Data values with reason codes in Formulas or to display them in the Extended Status window or in a view.
[CustomStatistic]
ReasonCodeData=Userdata (optional values: Hardware; Software)
Previously, starting with release 8.0.000.41, CCPulse+ appended some values from User Data to the reason codes. (ER# 317914454)
To display user data ‘Account’, follow steps below
Step 1: Create Filter ‘Account = PairExist(“Account”, “*”) under [Filters] section in Stat Server
Step 2: Create statistical type [CustomAgentState] in Stat Server as below
[CustomAgentState]
Category=CurrentState
MainMask=*
Objects=Agent
Subject=DNAction
Step 3: Set CCPulse application options, set ‘ExtendedCurrentStatus’ to ‘true under [CustomStatistic]
Step 4: Add below formula to display
result.Text = state.type == "AgentState" ? GetUserData() : ""; function GetUserData() { var data = ""; for(var e = new Enumerator(state.CallData.Filter("Key=Account")); !e.atEnd(); e.moveNext()) { if (e.item().Key=='Account') data = e.item().Value; } return data; }