Genesys Engage on-premises

 View Only
Discussion Thread View

SOLVED: Setting the Priority of Interaction or Target?

  • 1.  SOLVED: Setting the Priority of Interaction or Target?

    Posted 10-06-2020 13:14
    Edited by Todd McCall 10-06-2020 13:35
    PROBLEM: Multiple Virtual Queues with calls targeting the same pool of agents have vastly different wait times.

    ​This problem with priority has been resolved for me (Thanks Jody), but I wanted to share it with the community.

    ORS version 8.1.400.58
    URS version 8.1.400.32
    Composer version 8.1.450.20

    SCENARIO
    You are in heavy call surplus conditions.
    Your agents have multiple skills assigned to them.
    There are 10 Virtual Queues (VQs) with calls waiting and each of them have sorted in the same way, highest priority and longest call waiting.
    An agent comes available.
    URS makes a list of the interactions or ConnIDs that the agent can handle in WAITING CALLS. The list is made up of the calls waiting in all VQs but they are ordered according to the highest priority and the longest wait time between the VQs.

    PROBLEM
    When your routing strategy overflows to a new skill but you don't clear targets, the URS connid will be listed more than once in the WAITING CALLS list.
    WHY?
    Because you didn't clear targets... which is ok really. There were multiple <queue:submit> requests with the same CONNID and they are in a different order in the list.

    But if one interaction has multiple submit requests, how do I reprioritize the interaction?

    I'm glad you asked. But first, lets understand why we have multiple targets.

    CALL ROUTING STRATEGY
    Your first target is for a highly specialized group of agents who would handle the call in a fraction of the time regular agents could.
    After 60 seconds, the wait time concern overrides the handle time concern and you add another skill to the skill expression to enlarge the pool of qualified agents who could handle the call. Don't clear targtets or you reset the time the call has been waiting for the first group of agents. Just add a skill to the target and submit it again (which is going to the next target block after the timeout error).

    TARGET 1: "?:mySpecialAgents>=1@.GA"
    TARGET2: "?:mySpecialAgents>=1 | myGeneralAgents>=1@.GA"

    The calls are heavy today, and after 3 minutes its time to add another skill to answer this special call.

    TARGET3: "?:mySpecialAgents>=1 | myGeneralAgents>=1 | myTrainees>=9@.GA"

    After 10 minutes, its time to increase the priority, using SCXML tag:

    <queue:update>

    SAMPLE:

    <queue:update requestid="myReqID" priority="toNumber(my_Priority)" />


    When updating the priority of an interaction, you can only specify the requestID. But if you don't clear targets, you have multiple request IDs!
    My mistake was in using the original request ID from the <queue:submit> of the first target, thinking I was changing the priority of the interaction.

    When I did so, the first target was changed to a higher priority, but the second and third targets were left at priority 0.
    Now I have a large number of general type calls, who have been repriopritized and are waiting 15 minutes, while my special call type, that targets the same pool of agents, is at priority 0 in the general VQ and waiting 25 minutes.

    The fix was to save the request IDs from each of the <queue:submit> requests (URS returns the requestID in the events queue.submit.done and queue.update.done) and use each one when its time to update the priority.

    <if cond="b_newPriority==true">

    <script> var s_reqID = ''; </script>

    <assign location="b_newPriority" expr="false"/>

    <foreach array="a_targReqID" item="s_reqID">

    <log expr="'Update priority for target '+s_reqID"/>

    <queue:update requestid="s_reqID" priority="toNumber(i_priority)" />

    </foreach>

    </if>


    I hope this helps someone else out there who may be struggling with prioritizing calls.

    Happy Coding!


    #Routing(ACD/IVR)

    ------------------------------
    Todd McCall
    Bank of America
    ------------------------------


Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources