Is there any way to force ACD routing to be round robin?
We have a customer that has a queue of agents that take inbound calls and can also make ad hoc outbound calls. Whats happening is that when an agent makes an outbound call it resets their status in the queue and then they are not eligible for taking an inbound call until they are the agent who has been idle the longest. Inbound calls are more valuable to the agents than outbound calls, so they don't want to make outbound calls and its causing bad agent behavior.
What I would like to do is make the inbound call sharing more fair and use a round robin like ACD but there doesn't seem like anything out the box for this.
One idea I had is to use bullseye routing for a set of skills and trigger a workflow based on the event when an agent accepts an inbound call. In the workflow I would juggle a set of skills like P1, P2, P3, P4 (one for each agent) and the agent that takes the call will go to the end of the round robin by being set to the last skill number Pxx and all the other agents would move up the round robin by having their skill replaced with an earlier one.
eg. Agent with P1 is on a call, agent with P2 answers an inbound call. The triggered workflow removes the P5 skill from the agent who has it and assigns the P4 skill. Then agent with P4 gets P3. Agent with P3 gets P2. And the original agent with P2 gets P5.
This seems really complicated for something that is baked into most contact center software by default. Am I missing something?