Genesys Cloud - Main

 View Only

Discussion Thread View
Expand all | Collapse all

Documentation on LMS Events

  • 1.  Documentation on LMS Events

    Posted 10-25-2023 23:01

    Hi, 

    Could you please confirm if this is the LMS contract for all events? (https://developer.genesys.cloud/platform/embeddable-framework/condensed-conversation-info)

    If this is not the correct document, could you direct me to the documentation for the correct contract and provide a more detailed explanation of when each event is triggered? Currently, when reviewing the plugin documentation, it only lists the events but does not explain when each of them is triggered. (https://developer.genesys.cloud/platform/embeddable-framework/actions/subscribe#events-per-subscription-type)

    Regards. 


    #Implementation
    #Integrations

    ------------------------------
    Alan Ferro
    Coddera Software Ltda
    ------------------------------


  • 2.  RE: Documentation on LMS Events

    Posted 10-28-2023 18:37

    These should follow the notification topic events as listed here:  Overview (genesys.cloud).  Embedded Framework does not have access to every topic, but that should be listed there as well.



    ------------------------------
    Robert Wakefield-Carl
    ttec Digital
    Sr. Director - Innovation Architects
    Robert.WC@ttecdigital.com
    https://www.ttecDigital.com
    https://RobertWC.Blogspot.com
    ------------------------------



  • 3.  RE: Documentation on LMS Events

    Posted 10-29-2023 11:53

    The LMS events documentation is found here: https://help.mypurecloud.com/articles/events-in-salesforce/, which links to https://developer.genesys.cloud/api/embeddable-framework/actions/subscribe.html#eventsPerSubscriptionType

    When each event is fired is dictated by the event value for each type; for example the interactionChange event contains:

    Fires interaction state changes.

    Possible values: add, change, connect, disconnect, acw, deallocate, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.

    If there are specific questions regarding an event type/value, the best suggestion I would have is to either ask about it here, or submit feedback through the resource center regarding your specific question.



    ------------------------------
    Richard Schott
    Genesys - Employees
    ------------------------------



  • 4.  RE: Documentation on LMS Events

    Posted 10-31-2023 10:27
    Edited by Alan Ferro 10-31-2023 10:27

    Hi, 

    Where can I find the detailed description of each triggered event (add, connect, disconnect) similar to the documentation for the available topic? Additionally, can you confirm if this is indeed the LMS contract (https://developer.genesys.cloud/platform/embeddable-framework/condensed-conversation-info)?

    Thanks 



    ------------------------------
    Alan Ferro
    Coddera Software Ltda
    ------------------------------



  • 5.  RE: Documentation on LMS Events

    Posted 10-31-2023 10:37

    Yes, the schemas listed on the developer center are the contracts for the messages. The description of when each event within the topic is fired is inherent to the event type; i.e. interaction: disconnect fires when an interaction disconnects, userAction: status fires when a user changes their status, etc.  Again, if there are specific questions, I'm happy to answer them, but as far as a general guide that's what exists at the moment.  



    ------------------------------
    Richard Schott
    Genesys - Employees
    ------------------------------



  • 6.  RE: Documentation on LMS Events

    Posted 10-31-2023 15:00

    Hi, 

    I need a description of each of these events. e.g add - is an event that is triggered when an interaction is answered, connect - is an event that is fired when an interaction is connected. If this applies to all channels, etc. Where can I find this in the documentation, description of each of them in the Interaction, UserAction and Notification categories?



    ------------------------------
    Alan Ferro
    Coddera Software Ltda
    ------------------------------



  • 7.  RE: Documentation on LMS Events

    Posted 26 days ago

    Hello,

    I'm working on a Salesforce/Genesys integration and I do have a question about the format of the data held within LMS events.

    I can see the different types of events listed here: Events in Salesforce - Genesys Cloud Resource Center

    I can also see the list of events per subscription type here: subscribe

    However, I can't find any documentation on what the format for the actual data piece of information is...

    See this snippet of code from the Genesys docs:

    window.PureCloud.subscribe ([{
            type: "Interaction",
            categories: ["connect", "disconnect"],
            callback: function (category, data) {
            // Use your CRM vendor's API to create actions to be performed upon interaction state changes.
        }
    }, {
            type: "Notification",
            callback: function (category, data) {
            // Use your CRM vendor's API to create actions to be performed upon notification state changes.
        }
    },
        {
            type: "UserAction",
            callback: function (category, data) {
            // Use your CRM vendor's API to create actions to be performed upon user action state changes.
       }
    }
    ]);

    The part that I'm missing and can't find anywhere is the data parameter in the callback function. I'd like to find out the payload expected for each of the different values of the category parameter.

    Is that something you can provide?

    Thanks very much.

    Julio



    ------------------------------
    Julio Fernandez
    ------------------------------



  • 8.  RE: Documentation on LMS Events

    Posted 26 days ago

    Julio,

    The specifics of the callback function are going be determined by your implementation and the CRM you're attempting to connect to.  The callback is the operation you want the embedded client to perform when it receives the subscription event.  In the case of the LMS events, it's the operation within Salesforce you're wanting to perform when the event occurs.  Many customers have implemented actions within the embedded client, like updating associations, performing screenpops, etc., so the callback (and its associated data payload) are documented in the "communicate with Genesys Cloud for Salesforce" section on this page: https://help.mypurecloud.com/articles/events-in-salesforce/#citem_6761-bb38.  Other customers use the events as a driver to initiate communication with other lightning console apps, in which case the callback and data payload are going to be dictated by those specific apps.



    ------------------------------
    Richard Schott
    Product Manager
    ------------------------------



  • 9.  RE: Documentation on LMS Events

    Posted 22 days ago

    Hi Richard,

    Thanks very much for your response. Let me give you some more details about what we are trying to achieve.

    We are working with a custom LWC in our Salesforce org, where the Genesys Managed Package is installed and is part of our Utility bar. Our Client Event Settings is done so that all three types of events are included:

    Our custom LWC is subscribed to purecloud__ClientEvent__c events, and we want to be able to read the userId for the logged in user from the events we receive from the Genesys Managed Package.

    By adding some console logs, we have checked that events of type UserAction and category station have the userId value in the data parameter of the event's payload.

    See the following method where we print the log for that type of event:

    	handlePureCloudEventMessage(message) {
    		if (message.type === 'UserAction' && message.category === 'station') {
    			console.log(message);
    		}
    	}
    What we get when we print the log for this message looks like this:
    {
        "category": "station",
        "data": {
            "id": "********-3aa9-****-cf87-****fbf2****",
            "name": "Julio Fernandez WebRTC",
            "status": "ASSOCIATED",
            "userId": "********-fbdc-4768-9072-************",
            "webRtcUserId": "********-fbdc-4768-9072-************",
            "primaryEdge": {
                "id": "********-df04-4482-b241-************",
                "name": "cloud-media-i-*********",
                "selfUri": "/api/v2/telephony/providers/edges/********-df04-4482-b241-************"
            },
            "secondaryEdge": {
                "id": "********-abff-4324-9668-************",
                "name": "cloud-media-i-*********",
                "selfUri": "/api/v2/telephony/providers/edges/********-abff-4324-9668-************"
            },
            "type": "inin_webrtc_softphone",
            "lineAppearanceId": "****63ff****7e1b****63f8+myorg.orgspan.com",
            "webRtcMediaDscp": 46,
            "webRtcPersistentEnabled": true,
            "webRtcForceTurn": false,
            "webRtcCallAppearances": 100,
            "webRtcRequireMediaHelper": false,
            "selfUri": "/api/v2/stations/********-a93a-4be8-87cf-************"
        },
        "type": "UserAction"
    }

    We can see the userId value is part of the data object in this event, but we can only see that because we are printing the message we receive within the event published by the Genesys Managed Package.

    We're trying to implement a solution based on having access to the userId value within the events published by the Genesys Managed Package, but we need some confirmation that this information is sent within one of the payloads of these events.

    Is there any documentation of the detailed structure of the events specifically published by the Genesys Managed Package and when they are fired by the package?

    At the moment we're just inferring this information ourselves by printing the message we get from the event we listen to; and this level of detail is not available in any of the links mentioned earlier.

    Thanks.



    ------------------------------
    Julio Fernandez
    ------------------------------



  • 10.  RE: Documentation on LMS Events

    Posted 13 days ago

    Hello again,

    No response...

    Should I assume there is no documentation about what the Genesys Managed Package includes in the payload for the events sent by the package?

    It's OK if that's the case, honesty is better than ghosting.

    Thanks.



    ------------------------------
    Julio Fernandez
    ------------------------------



  • 11.  RE: Documentation on LMS Events

    Posted 13 days ago

    Apologies for the delayed response, Julio.

    In the Genesys Managed Package we use the same as events as what is documented here: https://developer.genesys.cloud/platform/embeddable-framework/actions/subscribe

    Unfortunately, Today we do not have the structure documented for the UserAction and Notification. Only Interaction type is documented here: https://developer.genesys.cloud/platform/embeddable-framework/condensed-conversation-info.html 

    One thing to note is if you were to use category Station. Digital Agents may not have a station so this may not be an ideal parameter to read. 

    Thanks.



    ------------------------------
    Thomas Prendergast
    Staff Product Manager
    ------------------------------



  • 12.  RE: Documentation on LMS Events

    Posted 12 days ago

    Hi Thomas,

    Thanks very much for your response and your recommendation, this is much appreciated.

    Is there any other event where the userId value is provided?

    Thanks again.



    ------------------------------
    Julio Fernandez
    ------------------------------



  • 13.  RE: Documentation on LMS Events

    Posted 12 days ago

    No I dont think we expose this UserID in any other events. 

    Unless you are using private embeddable framework, then you can get the access token and call the user/me endpoint: https://developer.genesys.cloud/platform/embeddable-framework/deployments/private-deployment

    Thanks.



    ------------------------------
    Thomas Prendergast
    Staff Product Manager
    ------------------------------



  • 14.  RE: Documentation on LMS Events

    Posted 12 days ago

    Thanks again Thomas.

    We are actually using the users/me endpoint to get the Genesys user id, and that's exactly what we're trying to avoid, as we need to reduce the number of API calls to the Genesys endpoints due to hitting some limits sometimes.

    That's why we thought that one of the parameters in some of the different events published by the Genesys package could hold that information and save us some callouts.

    Thanks again very much for you help. This has helped us with making a decision on a way forward.

    Best,

    Julio



    ------------------------------
    Julio Fernandez
    ------------------------------



  • 15.  RE: Documentation on LMS Events

    Posted 8 days ago

    Hi again Thomas,

    Could you please give us some more indications around why using category Station may not be applicable to our integration between Genesys and Salesforce? Sorry if this is a simple concept, but our team is mainly a Salesforce team, so there may be some concepts we're not very familiar with.

    All of our agents have a user in Genesys and the log in to Genesys via the Softphone utility provided by the Genesys Managed Package; so if I understand correctly, it looks to me that all of our agents are digital agents. However, is there a way we can find out the type of agents we have? Or is there any specific configuration we can check for that?

    Many thanks



    ------------------------------
    Julio Fernandez
    ------------------------------



  • 16.  RE: Documentation on LMS Events

    Posted 8 days ago

    Hi Julio

    Station relates to the agents addressable entity that can receive and place calls. I can log out from my phone (removing my station) and this will mean I cannot answer calls. But it does not mean I cant answer digital interactions. Some customers who are only digital may never need a station.

    https://help.mypurecloud.com/articles/log-out-of-phone-in-embedded-clients/

    Essentially the question is, does your business only use voice calls or digital interactions (email, messaging) or both. You may be able to check by permissions - Telephony. But id expect someone in your business who could answer that for you.

    Thanks



    ------------------------------
    Thomas Prendergast
    Staff Product Manager
    ------------------------------



  • 17.  RE: Documentation on LMS Events

    Posted 7 days ago

    Great, thanks very much for the explanation Thomas.

    I'll get in touch with the relevant people to find out.

    This was very helpful.

    Best,

    Julio



    ------------------------------
    Julio Fernandez
    ------------------------------



Need Help finding something?

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