Алгоритм эффективного распределения заявок
Чтобы выбор был «объективен» — вам нужно продумать надежную систему рейтинга агентов, а также разделять компетенции агентов (оценивать каждого по ряду критериев — например, «умение продавать», «опыт с арендой/наследством» итд) и разделять заявки клиентов по их компетенциям, ставить заявку в очередь с estimate ожидания, если компетентный агент сейчас занят. 
Готовое решение вряд ли найдете, или придется его долго допиливать (например OTRS) — скорее нужно писать под ваши конкретные нужды.
CRM я разрабатывал сам, поэтому конечно же внедрять этот алгоритм буду тоже сам.
Да, думал о системе рейтингов. Но получается что тогда и рейтинг должен высчитываться автоматически. А по каким критериям? Какие параметры отслеживать на основании которых будет формироваться рейтинг?

Мне в голову приходят следующие показатели:
Время реакции на заявку
Время от момента поступления заявки до успешного закрытия
Соотношение успешных/отказ. заявок
Количество внесенных в базу объектов (агентом) 
