1 of 1 people found this helpful
I've seen someone build this out before. It's not as easy as a simple Expression as there's now way to get the desired randomness from an expression. The general approach, as I recall, was to have a custom field on the employee record that tracks how recently that person was assigned a case, then a field on Team that tracks the next person who should get a case. Whenever a new case is assigned to a team it would fire a triggered rules / workflow (I don't recall which) that would pull in the appropriate Employee as Owner. This would then update that individual's Employee record to show they had gotten a case at XYZ date/time. After that there was something on the Team object that would then look at all those employees and evaluate who had gone the longest without getting a case assigned and place that person's information in the "next up for assignment" field on the Team record.
There's probably better ways to put it together, but that's what I know I've seen working before for this sort of logic.
I hope this helps!