cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
475
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.