We have a self-serve feature for prospecting on our sales team. We want to ensure people aren't abusing the system, and so we make it impossible for them to see new (unassigned) prospects based on their role. Manually changing this can be pretty annoying.
It would be better if we could set triggers and have an active list (ie. only has so many deals assigned, etc) that would then set their role.
I could see how this might also be useful in other cases, like only distributing leads in a round robin to those who have hit their sales quotas using teams.