Recommended method for tracking agent changes for a conversation

For one of our support orgs, we pipe live audio for their calls via SBC and SIPREC over to AWS for transcription. Currently, a call transcription is only attributed to the first agent that answers the call and triggers the start of the transcription. They would like to break the transcriptions into segments based on agent changes. For example, the initial segment of the transcription will be between the caller and agent A. If agent A transfers the call to another queue or person, when agent B answers, a new segment is created in the transcription with reference to the new agent B. Start and stop times for both segments would be noted as well.

My general idea for a solution would be to subscribe to events for a conversation, and when an agent session in the conversations starts or stops, query the conversation details to pull the start and end time. If a transfer occurs and a new agent answers the call, perform similar actions to pull the agent name and the new session start time.

For this use case, would there be a recommended way to track agent changes for a conversation and the start and end times for an agent session within a call conversation? I have reviewed some of the overview information for the notifications and triggers API. I feel they would be helpful but not exactly sure how they would be utilized.

I'm trying to piece together a high-level picture of what API pieces could be used together for a solution. Any suggestions?

Thanks.

Create a channel using the Notification set of API (/api/v2/notifications/channels/*). Then use the Triggers API. Changes in the interaction can be detected using Topics: https://developer.genesys.cloud/notificationsalerts/notifications/available-topics

The above information was suggested to me. Does this appear to be on the right path? I feel only notifications may be necessary in this case but I'm unsure. I want to keep it simple. Using triggers to execute a workflow that potentially could push data by calling a 3rd party API seems like more than necessary in this case.

This is an example conversation workflow that would be tracked. With our existing process, we know the conversation ID and agent A. We are trying to determine when agent A disconnects from the conversation and when agent B answers and later disconnects from the conversation. Could notifications alone with additional API calls for conversation details provide that information?

Conversation Starts
Call offered to queue A
Call offered to agent A
Agent A answers call (segment A starts)
Agent A transfer call to queue B (segment A ends)
Call offered to queue B
Call offered to agent B
Agent B answers call (segment B starts)
Agent B disconnects call (segment B ends)

As additional reference, in the Genesys Cloud transcription, it is noted when one agent leaves and another agent joins the conversation. I believe being notified for these events with a timedate stamp would be very helpful.

Agent A • left
IVR or In-Queue Recording Pause • 340.3 seconds
Agent B • joined

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.