Yes, I'm familiar with above resources.
Actually, I've everything set up and messages are properly delivered to webhook. Basic flow is working.
What I need now, is to notify user that agent joined conversation and is analysing the case. I also need to notify user when agent leaves conversation (I don't want conversation to 'hang' on our side). Unfortunately this information is not pushed to webhook.
I think this is quite common case so I wonder if any recommendation exists. For now the only way I see is to use notifications API. but I'm not 100% which topic should I use.
I feel like you might be mistaking Messaging, which is an asynchronous system and has no join/leave concept in most platforms, for Chat, which is synchronous, and does, and that is why the API does not have what you're expecting to see.
So what does it imply? That we shouldn't use open messaging? For me it's strange. When agent accepts (or leaves) interaction there can be an event generated (similar to typing events, text messages etc) that can be consumed asynchronously.
Anyway, it is what it is. We won't get this information in webhook but what's alternative?
@mateusz.kaczor have you tried using notification api and the topic "v2.users.{id}.conversations"? That will give you a lot of information about the conversation. It would show agent state changes on those conversations too. Might be a little more information than you want, but seems like it would solve what you are asking for there. The trick there is you are subscribing to the notifications per your Genesys Cloud user's Id. So you're going to have to use an identifier to map your open inbound message to which agent it went to.
There are also some topics like "v2.detail.events.conversation.{id}.user.start" where you can subscribe per conversation. This might work better for you.
I think there is plenty of available topics there to solve your use case, just depends on the route you want to go.