Showing results for 
Search instead for 
Did you mean: 

Make an action when an agent change status on Finesse


Can someone help me out or point me into the right direction on this? I'm trying to run an Rest API on my HR system every time the agent logs in or logs out from Finesse, the workflow will be

Agent logs in to finesse

in the bakground i'll run an API in the background to my HR system that actually clock the agent in

once agent go to Not ready (or Log off) I'll run the API in the background to clock the agent out

We already have the APIs for the HR system but dont know where to put them on Finesse, thoughts?

thank you


Cisco Employee

Hi Xtian,

I would build a custom gadget for this. Take a look at the Finesse Gadget Development section of the Finesse Developer Guide. For the gadget, it uses the Finesse JavaScript Library and the documentation can be found here: Cisco DevNet: Finesse - Docs

I would use the ExternalRestAPISampleGadget as the base for your gadget. Then, I would also take a look at the LearningSampleGadget to get a better understanding of how the gadget code works.

You have 3 scenarios that you care about:

1) Login

    When the gadget loads (handleUserLoad), the user will already be in not ready state. You can check the time that the user got into not ready state to determine if they had just logged in or not. If it was a long time ago, it is probably safe to assume that they refreshed the browser. If your API has a way to see if the API was already called for login, that would be even better.

2) Ready -> Not Ready

    In the gadget, there is a method called handleUserChange. This method gets called when the user changes state. So it would need to have a if statement check for when the user goes from READY -> NOT_READY. If so, you call your API.

3) Logout

    If it is just purely a logout, this would be difficult because the agent desktop will be in the process of logging out and changing the page to the login window. The timing of the agent being in logout will not be guaranteed and is not reliable. Per our separate conversation, you mentioned that the user has to go to Not Ready with a particular reason code before logging out. If so, that would work because in the same method as above in #2, you can have an additional if statement to check if agent is in not ready with that reason code and call the API.

I hope that helps!

If you would like a more 1 on 1 direct help and/or debugging, you can open a developer support ticket here: Cisco DevNet: DevNet Developer Support. We will not help you write the gadget itself, but we can help debug problems you may face.