CCPulse Tip - Enhanced Stats

Viewing Extended Status And Call Details In CCPulse
By Tom ‘NawDeeb’ Murdach

Required:
Statserver 8+ CCPulse 8+

Follow the steps below to enable a CCPulse view which shows the following agent status information:
NotReady Reason Place Login Conn ID of Inbound Call ANI of Inbound Call DNIS of Inbound Call

  1. Create the following statistics on StatServer:
    `
    [AgentTargetStatus]
    MainMask = *
    Objects = Agent
    Category = CurrentTargetState
    Subject = AgentStatus

    [AgentExtendedStatus]
    MainMask = *
    Objects = Agent
    Category = CurrentState
    Subject =DNAction
    `

  2. In the CCPulse Application of CME, in Options, Set CustomStatistic, ExtendedCurrentStatus = true.

  3. Create a new Agent template called Extended Status

  4. Add statistic AgentExtendedStatus with Change Based notification

  5. Add statistic AgentTargetStatus with Change Based notification

  6. PLACE: Add a formula with the following content (when using copy/paste the quotes may need to be replaced):
    result.Text = GetAgentState(); function GetAgentState() { if(state.type != "AgentState") return "n/a"; var r = state.PlaceID return r; }

  7. LOGIN: Add a formula with the following content:
    result.Text = GetAgentState(); function GetAgentState() { if(state.type != "AgentState") return "n/a"; var r = state.LoginID return r; }

  8. Formula for Reason Code column (based on the ReasonCode syntax used by your softphone):
    result.Text = state.type == "AgentState" ? Reason1() : "n/a"; function Reason1() { var r = ""; for(var i = 0; i < state.CallData.Count; i++) { var cd = state.CallData.Value(i); if (cd.Status == "NotReadyForNextCall" & cd.Value > "0" & (cd.Key == "ReasonCode" || cd.Key == "reasoncode")) return cd.Value; } r += "N/A"; return r; }

  9. Formula for Active Call column:
    result.Text = state.type == "AgentState" ? CallInfo1() : "n/a"; function CallInfo1() { for(var i = 0; i < state.CallData.Count; i++) { var cd = state.CallData.Value(i); var r = ""; r += cd.ConnID + " ANI:" + cd.ANI + " DNIS:" + cd.DNIS; if (cd.ConnID > "0") return r; } var r = "N/A"; return r; }

  10. Create an Agent Group or individual agent view selecting this new template.

tmurdach -
Great information! But I seem to be CCPulse-challenged. Could I impose on you to provide an example of setting up to display the CallData information (ConnID, ANI, or DNIS)?

Thanks.

Kevin

Kevin,

If you can attach ConnID, DNIS, ANI as UserData via stratyegy or agent desktop, then there is a solution in Genesys SolutionSearch “How to show UserData in the CCPulse” (id 78740).

Regards,
Pavel

Great info Tom,

Question: Is there a doc that outlines the setup of these data structures?
Very familiar with the scripting aspect just struggling to know what syntax etc. to use and what data is available

Cheers
Simon

1 Like

Hi Simon,

You can find details about objects supported by CCPulse+ in ‘Using Custom Statistics’ chapter of the Reporting 8.0 CCPulse+ Administrator’s Guide

R.

1 Like

Is there any way these formulas can be tweaked or changed so that in CC Pulse we can display the ANI of the customers waiting in a particular queue?

1 Like

I guess that should be possible. There is quite good explanation on this new state-feature on release notes of CCPulse (version 8.0.000.45)

Thank you all, Can we have the dialed numbers, internal calls ( ANI, dialed number) through the CCP ?the agents make the calls manually,

I have configured the above scenarios and it was working for all incoming calls routed from URS towards the call centers
We have OXE 4400 and Genesys 7.6
Thank you all

Does anyone else have any issues getting the Active Call formula to work? Mine just displays N/A and won’t change. Its driving me nuts.

  1. Formula for Active Call column:

    result.Text = state.type == “AgentState” ? CallInfo1() : “n/a”;
    function CallInfo1()
    {
    for(var i = 0; i < state.CallData.Count; i++)
    {
    var cd = state.CallData.Value(i);
    var r = “”;
    r += cd.ConnID + " ANI:" + cd.ANI + " DNIS:" + cd.DNIS;
    if (cd.ConnID > “0”) return r;
    }
    var r = “N/A”;
    return r;
    }

1 Like

I have the same problem like Genesyde . On ‘Active Call’ column there are always N/A values. Can someone help?

Thanks

1 Like

Looking at the code, I would say Active Call is always “N/A” because of this line

var r = "N/A";

I would try removing it.

Thanks to tmurdach for sharing this useful information.

From CCPulse 8.0.101.27 Genesys add [CustomStatistic] option ReasonCodeData=Userdata (optional values: Hardware; Software). You can use all of them simultaneously.
Additionally (I don’t remember from which version) to activate ‘state.CallData’ should create statistical type [CurrentExAgentState] on your Stat Server
[CurrentExAgentState]
Category=CurrentState
MainMask=*
Objects=Agent
Subject=DNAction

and add statistic based on [CurrentExAgentState] statistical type to the CCPulse View.

Now works fine :wink:

Is it possible to get extended status information on an Agent Group instead of an Agent ? if instanciate on an agent group, state.type returns undefined.

It was working very well, but the CCpulse release 8.0.101.21
I think there is an issue with new releases.

regards

We’ve found the same issue, newer versions of pulse don’t work with the method described here.