How can I identify when an agent started and finished interacting with customer through EventBridge notifications?

Hi,

How can I use EventBridge notifications to detect when an agent starts and finishes interacting with a client? And to not confuse that with them being involved with the conversation but not talking to the customer, like being alerted but not answering interaction.

I have tried the user.start topic for the former, but through tests it seems that the notification is sent when the agent enters the conversation, even if they don't interact with the customer.

If possible, I would like to know the way to broadly apply it to different types of interactions and flows. But if a broad solution is not possible, I would specifically need a way to identify it for calls that start in an IVR, go to an ACD, and are then answered by agents waiting in that ACD.

Appreciate any help, thank you.