cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
446
Views
5
Helpful
3
Replies

Desktop JS SDK Sample - Sample Widget working with the SDK library

GregLacco
Level 1
Level 1

Thanks for the great example Niko..

A couple of things here:

 

Desktop.agentStateInfo.latestData.teamName doesn't seem to return the Team Name of the agent, why would that be undefined?


I have a use case where an agent would use a Widget transfer list (list defined and editable in Desktop Layout json) as many selectable one-click transfers to different EPs/Queues, I see the transfer in this example uses vteamId hard coded, any thoughts on getting the vteamId's from the EP/Queue names in the Desktop layout list?  An example or description would be appreciated.

1 Accepted Solution

Accepted Solutions

GregLacco
Level 1
Level 1

Thanks Niko,

Agent Session ID is also initially blank. as you suggest, I was able to get Team to sometimes display after a browser refresh, so as you say looks like timing. I found putting a delay like this fixes:

 

  constructor() {

    async function test() {

      await new Promise(resolve => setTimeout(resolve, 100));

    }

    super();

    this.attachShadow({ mode: "open" });

    this.shadowRoot.appendChild(template.content.cloneNode(true));

    this.interactionId = null;

  }

 

As for the one-click transfer console widget, rather than a drop down list, we were considering a (fixed) format of named buttons for the transfers in an x-y layout, that way we could have a predefined layout and any undefined buttons could be defined as "Vacant" and defined as required in the Desktop layout json file.  Look and feel like a multi-button keyset phone. Speed of the agent to transfer these calls to appropriate EP/Queue (low agent handle time) is required.

View solution in original post

3 Replies 3

ntheolog
Cisco Employee
Cisco Employee

Hi  Greg,

Thank you for the feedback.

On your  1st question.... is that the only field that shows aas undefined ?  I notice, timing play a bit of a role here... if you refresh browser, does Team still display as undefined ?

and your second question, Ill have to spend some time on it.. but off top of my head, sounds like you would want to run an array/filter method to iterate over all the EP/queues  and then render them as a pull-down list etc....   but as mentioned some extra thought design needed to best/ease of use .. to accomplish your use case... 

regards,

GregLacco
Level 1
Level 1

Thanks Niko,

Agent Session ID is also initially blank. as you suggest, I was able to get Team to sometimes display after a browser refresh, so as you say looks like timing. I found putting a delay like this fixes:

 

  constructor() {

    async function test() {

      await new Promise(resolve => setTimeout(resolve, 100));

    }

    super();

    this.attachShadow({ mode: "open" });

    this.shadowRoot.appendChild(template.content.cloneNode(true));

    this.interactionId = null;

  }

 

As for the one-click transfer console widget, rather than a drop down list, we were considering a (fixed) format of named buttons for the transfers in an x-y layout, that way we could have a predefined layout and any undefined buttons could be defined as "Vacant" and defined as required in the Desktop layout json file.  Look and feel like a multi-button keyset phone. Speed of the agent to transfer these calls to appropriate EP/Queue (low agent handle time) is required.

Hi Greg,

Great suggestion. thanks for sharing your input on the community! This is very helpful!

As for the one-click, would love to see it once you design it out.

thanks again Greg.


Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: