Great thread - here are a few things that might help:
Why it keeps going back to the same agent:
It's Last Agent Routing doing its thing. By default, queues are set to "Last agent on any queue" so it just sends the conversation back to whoever had it last. You can tweak this in your queue settings or turn it off completely if you'd rather spread things around.
Threading Timeline is your friend:
The Messaging Threading Timeline (defaults to 72 hours) decides how long a conversation stays connected after someone disconnects. Pro tip: if you set this to 0, each new message from the customer creates a totally fresh conversation - new ID, new flow and it won't try to route back to the same agent.
The customer session thing:
That Aha! idea @Angelo Cicchitto mentioned would let us configure this, which would be nice.
What's working for others:
- Route to an Architect Flow on inactivity to send a proper closing message or re-route back to queue if it was agent inactivity that was triggered as opposed to the customer
- This may occur if the agent had to step away urgently and limits the customer impact as it allows another agent to pick up the conversation.
- Tweak the Threading Timeline to 0 or something shorter
- Tweak the Last Agent Routing settings based on what you need
- Inform the customers upfront how the inactivity works
Bonus tip:
You can also hit /api/v2/conversations/{conversationId} to grab the disconnect type and see who went inactive - agent or customer. Then you can customize the message accordingly. Like, apologize if your agent went dark vs. a friendly "noticed you stepped away" if it was the customer.
Related thread worth checking out on this feature: https://community.genesys.com/discussion/automatic-handling-of-inactive-messaging-interactions
------------------------------
Josh Coyle
Senior Professional Services Consultant
------------------------------