Перейти к содержимому

Воронка подбора кандидатов

Общая картина подбора для рекрутеров, нанимающих руководителей и руководителя HR: какие кандидаты на каком этапе, кто завис между встречами и откуда приходят те, кого в итоге нанимают.

Без неё рекрутеры ведут кандидатов одновременно в ATS, таблице и мессенджере, и эти источники расходятся в том, кто на каком этапе. Нанимающий руководитель на каждой планёрке спрашивает, что с кандидатом. Между собеседованиями проходит неделя, потому что паузу никто не заметил. Срок закрытия вакансии растёт от квартала к кварталу, но непонятно, где процесс буксует, а кандидат на этапе оффера пропадает, потому что рекрутер не уследил за сроками.

  • Показывает воронку доской и таблицей. Кандидаты разложены по этапам вакансии; этапы задаются под процесс компании, а не берутся из шаблона.
  • Замечает зависших кандидатов. Для каждого этапа задан допустимый срок, например 5 дней на первичный звонок; кандидаты сверх срока и без назначенного следующего шага подсвечиваются.
  • Даёт руководителю свой вид. Нанимающий руководитель видит кандидатов своих вакансий и после своего собеседования сам переводит их дальше.
  • Считает показатели найма. Время до найма по ролям, конверсия между этапами и число нанятых по источникам строятся без выгрузок.
  • Отсекает дубли. Кандидат с той же почтой или телефоном не создаётся повторно ни вручную, ни при импорте.
  • Сначала — готовая ATS. Huntflow, Поток и аналогичные системы уже ведут воронку, письма кандидатам и отчёты. Отдельный дашборд оправдан, когда нужны свои разрезы, общая картина по нескольким источникам или связь с планом численности и внутренними сервисами. В этом случае его строят поверх ATS через API, без переноса данных.
  • Источник заполняется при создании. Без обязательного поля «источник» невозможно понять, какие каналы действительно приносят нанятых.
  • Этапы должны отражать реальность. Раз в квартал просматривайте этапы: если через этап проходит ничтожная доля кандидатов, его стоит объединить с соседним или убрать.
  • Срок на этапе — настройка. Допустимое время на каждом этапе задаётся для вакансии или типа ролей и уточняется по истории, а не зашивается в код.
  • Данные кандидатов — персональные данные. Нужны согласие на обработку и сроки хранения по 152-ФЗ; отказников после срока обезличивают или удаляют. Храните только то, что нужно для решения о найме.
  • Доступ ограничивают на сервере. Руководитель видит только свои вакансии, рекрутер — закреплённые за ним, руководитель HR — всё. Правило действует в доске, таблицах, виджетах и выгрузке.
  • Метрики без пустых периодов. Если по роли за период не было наймов, показывайте «нет данных», а не нулевое время до найма.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному и проверяйте результат каждого шага.

Создай модели и миграции для воронки подбора: Vacancy (должность,
подразделение, нанимающий руководитель, рекрутер, статус), Stage
(вакансия или общий набор, название, порядок, допустимый срок в днях),
Candidate (ФИО, почта и телефон — уникальные, источник — обязателен,
согласие на обработку и его дата), Application (кандидат, вакансия,
текущий этап, дата входа в этап, следующий шаг и его дата, итог),
StageTransition (отклик, откуда, куда, автор, время). Добавь фабрики.
Сгенерируй Filament-ресурс для Application с таблицей и представлением
доской по этапам выбранной вакансии. Действие «Перевести на этап» пишет
StageTransition и требует дату следующего шага. В карточке покажи
историю переходов и следующий шаг.
Добавь фильтры «Дольше срока на этапе» и «Нет следующего шага в течение
48 часов после собеседования», а также фильтры по вакансии, рекрутеру,
источнику и этапу. Подсвечивай строки сверх срока в таблице и на доске.
Сделай фоновую задачу, которая загружает вакансии, кандидатов и переходы
из ATS по API и сопоставляет их по внешнему id без дублей. Добавь импорт
CSV с проверкой дублей по почте и телефону и отчётом по отклонённым
строкам. Раз в сутки уведомляй рекрутера о зависших кандидатах.

Проверьте, что повторный импорт того же файла не создаёт новых кандидатов.

Настрой доступ: нанимающий руководитель видит и двигает кандидатов только
своих вакансий, рекрутер — закреплённых за ним, руководитель HR — всё.
Добавь виджеты времени до найма по ролям, конверсии между этапами и
нанятых по источникам; при отсутствии наймов за период показывай «нет
данных».