We have an integration with Genesys that uses the Web Chat Guest Chat APIs to escalate conversations into Genesys.
As Web Chat is being deprecated and we are encouraged to move to Web Messaging, we are actively working on migrating this integration using the Web Messaging WebSocket API - https://developer.genesys.cloud/commdigital/digital/webmessaging/websocketapi
However, we have run into a huge hurdle that prevents us from smoothly transitioning from our previous Web Chat implementation to the new Web Messaging implementation.
Web Messaging, unlike Web Chat, has no event when an agent in Genesys accepts the conversation. So, while we are able to create a new conversation in Genesys just fine using the Web Messaging WebSocket API, when the agent accepts the conversation there is no way for us to know that. We also tried fetching the message history using a separate API call GET /api/v2/webmessaging/messages, but this simply confirmed the fact that there are no messages when an agent accepts the conversation.
Earlier, it appears that there were no messages when an agent left the conversation either, but in a post from March 2023, a Genesys Employee mentioned that "Agent-left event is being provided by the new Conversation Disconnect feature (now in Beta)" - Agent information using the web messaging SDK. We were successfully able to use this event to detect conversation closure in Genesys. That same post however did also say that "Agent-join event is not available."
Are there any plans to add the Agent-join event as well? We would really appreciate if this event were added so that we can ensure a smooth transition for our customers from Web Chat to Web Messaging.
Right now, with Web Messaging, we have to wait for an agent to type a message in the chat so that we get an event that tells us an agent has joined. However, I am sure you can see why this is a huge problem. Not only is it poor end user experience, but it also creates race conditions where our system thinks the agent has not accepted the chat when in fact the agent has, and then it may try to re-escalate the chat after a specified timeout. As a possible mitigation, we were also looking for an automatic canned message that can be sent from the agent when an agent accepts the conversation, but canned messages are not automatic in this way, and this may also result in poor user experience.