Задача
Компания с массовым наймом пришла собрать отклики в одно место и отсеивать неподходящих до рекрутёра.
До этого кандидаты писали россыпью - в личку рекрутёру, в комментарии под вакансией, на почту.
Одно и то же приходилось переспрашивать руками, а сводить было некуда: таблица заполнялась по памяти и с опозданием в пару дней.
Отдельным условием шёл мягкий отказ - вакансии массовые, и репутация в городе тут дороже скорости.
Что сделал
Бот на Python и aiogram 3, состояние анкеты в FSM, служебные данные в SQLite, карточки уезжают в Google Таблицу.
Отсекающие вопросы стоят первыми: если человек не проходит по формальным условиям, бот завершает разговор спокойно, без разбора причин, и предлагает оставить контакт под будущие наборы.
Прошедшие получают оценку по анкете - баллы за опыт, за подходящий график, за близость к точке. В таблице карточки сортируются по этой сумме.
Рекрутёру падает уведомление с карточкой и кнопками пригласить, отказать, в резерв. Нажатие проставляет статус в таблице и отправляет кандидату готовый текст, шаблоны ответов правятся в той же таблице.
Результат
Отклики собираются в одном месте, рекрутёр открывает список, отсортированный по оценке.
За первый месяц через бота прошло около 400 анкет, до человека дошло чуть больше половины, остальных сняли формальные условия.
Первичный обзвон почти исчез: звонят теперь тем, кого зовут на собеседование.