Auto assign email tickets based on workload

Auto assign email tickets based on workload

If we have 5 agents, is there a way to auto assign tickets coming in via email based on current workload (ie, # of open tickets).  

Also would like to auto assign tickets that come in via phone bridge to the agent receiving the call.

Are either of these scenarios possible?