CCPulse – Very powerful but less popular feature

Do you know that you can use JScript language to build custom statistics in Genesys CCPulse application? In my opinion, this is very powerful feature in CCPulse, allowing to customise basic statistics, integrate with external applications/databases and thus, allowing you to build your own performance management solution.

Instead of making use of this feature, I have seen engineers spending many days in modifying routing strategies and developing reports whereas it as simple task of creating CCPulse templates. This article is to help them to develop custom reports in CCPulse Smile

Using JScript language


JScript is the Microsoft implementation of the ECMA 262 language specification (ECMAScript Edition 3).  While defining custom statistics, you can use the arithmetic operators and delimiters available in this language, including: + / * – . ? : == ( ) ; != +=

Please refer to the following link http://msdn.microsoft.com/en-us/library/hbxc2t98(v=vs.84).aspx

Using Predefined Statistics and Objects


To use this feature, make sure you set ‘ExtendedCurrentStatus’ configuration in CCPulse+ application to ‘true’

CCPulse+ uses the following syntax for referencing basic statistics in formulas:

ccpulse.group(“StatisticGroupName”).statistic(“StatisticName”);

The trailing semicolon is optional. CCPulse+ includes the name of the statistic group to distinguish the statistic, in case another statistic of the same name exists in another statistical group. If either StatisticGroupName or StatisticName contains no spaces, CCPulse+ drops the corresponding group
and statistic delimiters, the parentheses, and the double quotes:

ccpulse.StatisticGroupName.StatisticName

Using above, you can add calls queued statistics from Inbound Queue, Transfer Queue and CallBack Queue and present it as ONE value so that it is easy to understand and action against it for call center managers.

Can you connect to Database?


Yes, as CCPulse+ uses JScript language,  you can easily connect to database to retrieve/update/insert values in database. In the below example, I connect to SQL Server database to list skills associated with the agent in CCPulse.

CCPulse View


Agent view with current skill in CCPulse

Agent View in CCPulse

Script to view current skill associated with the agent


Tagged: , , , , ,

  • Pingback: Genesys CCPulse - How to show when agent logged in?()

  • Pingback: Genesys CCPulse - access skill details securely()

  • Pingback: Genesys CCPulse - Show User Data()

  • rajnish

    Hello Lakshmikanth,

    Where do we need to put this script to get skill and skill level? Can you please share your ID to my ID:-rajnishssit@gmail.com, So that i can write you when i need your help in regards.

    Thanks,

    Rajnish

    • In CCPulse Template wizard, create new ‘Formula’ field and populate it with the above script. You can contact me here by leaving comment or in linked in (https://www.linkedin.com/in/blakshmikanth)

      • savio

        hi Lakshmikanth,
        i need to set a script that highlights ACW upto 180 seconds in green , between 181 and 299 seconds in yellow and 300 seconds and greater in red using the SDNAN option of “aftercallwork”

      • rajnish

        Thanks for your reply.. I have got this working. But is there a way, to get AGentGroup Name and store it into variable under javascript. e.g, I need to create a view for all members of AgentGroup:-SPanish_CS, so how can we store value:-Spanish_CS into a variable in CCPulse formula/Script for further query in config DB.

        Thanks,
        Rajnish

        • You can use state.AgentGroupID to get Agent group name. Please note that I wrote this blog to highlight powerful feature in CCPulse and definitely don’t recommend querying configuration database for CCPulse. Try to avoid any load on configuration database as much as possible.

  • Patrick Leahy

    This is a simple technique in CCP. Glad Lakshmikanth addressed it for you. If you need to hire someone with extensive experience with CCP, please let me know.

  • Nishant Tank

    Hi Lucky

    If I have to use this logic but against the Calling List object instead, what should be replaced for the below to refer to the calling list object?

    var strEmpl = state.AgentID;

    • Nats

      Hi Lucky

      I have a similar need to access Queue Group Name and Virtual Agent Group name using Javascript. Can you please advice on what object name should be used to access them

      Thanks,
      Nats

      • For virtual queue, use ‘DN’ and agent group ‘AgentGroupID’ to get required details.

  • SAVIO MIRANDA

    is there a way that i can get cc pulse to display SL in real time?

  • Saurabh Sahu

    Hi @blakshmikanth:disqus

    I have an overall of 5.8 years of experience in IVR Testing, I am looking forward to more learn about Genesys,CTI to enhance my skills, Could you please guide me where to start and what to study and what are the references?

    Thanks in Advance.
    Saurabh

  • Dorian-Grim

    For Can you connect to Database?

    You must add an available statistic, for the custom formula to display anything else it will display n/a

    • Yes, you need to get agent id from an available statistic to use in your query.

      • Dorian-Grim

        Wow, such promptitude. Nah, I altered the syntax a bit. But hey, your article is really useful.

        I want to ask you something else, if you don’t mind answering here. I need the switch name inside a formula. Can it be done?

        • Dorian-Grim

          I woke up this morning, and took a look at my question and I don’t even make sense of it. I’ll reformulate: I basically am calculating the SL using the group of queues object type. And I need the group of queues name inside the template somehow. prepaid_vqs in this case, please take a look at the screenshot
          https://uploads.disquscdn.com/images/a890f37dcdbaddf09578589a37a22a1482b851343ab7eadb2af15455f46a3898.png

          • Interesting question. I am aware that we can get agent group information but never tried queue group before. I will explore this in the lab and let you know.

          • Dorian-Grim

            I am doing this:
            var test2 = “”;
            for (var prop in this)
            {
            test2 += prop+”|”;
            }
            test2;
            and the output is test2:
            ccpulse|state|result|Debug|test2|prop|
            changing the object this to any of the objects enumerated above, results in test2 being blank…

            It’s not looking nice for me 🙁

          • Dorian-Grim

            blankshmikanth, I am coming to think it can not be done, since inside custom statistics, custom formulas, you can’t use the GetString function, only numerical functions…

            I would hate applying filters for this…

            Have you had any luck in your lab?

  • JGC

    Can this be run against an Oracle db also?

    • Yes, you need Oracle database driver installed on the system and use oracle connection string. For oracle connection string, you can find details here – https://www.connectionstrings.com/oracle/

      • JGC

        Many thanks for that information – I have managed to get past the connection section now, however I get an error with the rs.open(query,conn,0,1,1); – is there any alternatives and what is this actually doing at this point,,,, is it running the query against the connection db?

        • Before calling, add below code to explicitly open connection with oracle database.

          var connStr =
          var conn = new ActiveXObject(“ADODB.Connection”>
          conn.open connStr

          If it fails, it is most likely due to incorrect connection string.

    • Yes, you need Oracle database driver installed on the system and use oracle connection string. For oracle connection string, you can find details here – https://www.connectionstrings.com/oracle/