ru
en
ru
en
Запросить демо

Автоматизируем найм новых сотрудников в логистике с помощью чат-бота

Екатерина Пащина
Екатерина Пащина
Окт 03, 2022 | 8 мин на чтение

Краткое описание проекта

Наш клиент – логистическая компания, и осень – это активное время для HR-отдела. Перед нами стояла задача создать чат-бота, способного автоматизировать процесс подбора новых сотрудников и разгрузить HR-отдел.

В процессе плотной работы с клиентом мы выявили ряд основных требований:

  • Бот должен и сам быть рекрутером: самостоятельно проводить первичный скрининг и изменять статус кандидата внутри системы заказчика. Требуется глубокая интеграция с HuntFlow – рекрутеры клиента работают на этой платформе.
  • Бот должен запускать скрининг сразу после подключения рекрутером кандидата к вакансии в HuntFlow, если время по часовому поясу потенциального сотрудника находится в интервале от 9:00 до 21:00. Если же время у кандидата в момент подключения к вакансии вечернее или ночное – нужно отложить интервью до утра следующего дня.
  • Бот должен уведомлять кандидата о новом этапе сразу – как только рекрутер создает встречу в календаре HuntFlow – и напоминать кандидату о новых этапах за 2 часа до назначенного в событии времени.
  • Конечный канал – WhatsApp. Чат-бот инициирует общение с помощью сервиса рассылок Chatme.ai.
  • Чат-бот создается на платформе Chatme.ai.

Мы приступили к реализации.
 

Интеграция с HuntFlow и реализация

HuntFlow – система, позволяющая автоматизировать процесс подбора персонала от заявки на вакансию в конкретном городе до прохождения новичком испытательного срока.

Проект создавался для четырех вакансий. У каждой вакансии 4 этапа:

  • Скрининг – для каждой вакансии свои вопросы;
  • Следующие 3 этапа – Групповое интервью, Тестовый день, Трудоустройство – одинаковые для всех вакансий.

Весь проект разделен на 6 разных ботов – один бот отвечает за триггер рассылки потенциальному кандидату, второй – для того чтобы отложить рассылку на рабочее время, остальные 4 – отвечают за контент по каждой вакансии.

Для того чтобы запустить рассылку на кандидата, чат-боту нужно получить информацию о его добавлении на вакансию в HuntFlow. Это реализовано с помощью отправки HTTP-запроса на вебхук Chatme.ai.

Так выглядит сценарий бота-триггера рассылок

Бот-триггер рассылок определяет часовой пояс кандидата и проверяет условие, нужно ли отложить рассылку на утро. На платформе Chatme.ai по вебхуку получаем информацию о том, из какого города кандидат, затем определяем часовой пояс с помощью запроса в сервис Dadata. Создаем строку в формате “+00:00”, вызываем с помощью функции now() время на момент сейчас и преобразовываем его в нужный часовой пояс с помощью выражения:

{% set utc_timezone = ("2000-01-01T00:00:00+00:00" | string_to_time("%Y-%m-%dT%H:%M:%S%z")).tzinfo %}{% set timezone = (("2020-01-01T00:00:00" + tz) | string_to_time("%Y-%m-%dT%H:%M:%S%z")).tzinfo %}{{ now().replace(tzinfo=utc_timezone).astimezone(timezone) }},

где tz – строка вида “+00:00”.

Затем проверяем время сейчас в городе кандидата: если время рабочее – отправляем запрос на рассылку и подключаем бота для конкретной вакансии; если время ночное – подключаем бота, откладывающего рассылку на утро.
 

Сценарий бота, откладывающего рассылку

Этот бот получает данные о кандидате с помощью коннектора к Webim, и сразу запускает таймер на 1 час с подсчетом времени на момент сейчас по часовому поясу кандидата. Каждый час до 9 утра бот выполняет одну и ту же операцию и после наступления 9 утра отправляет рассылку. Таймер выключается.

Вы спросите, зачем нужен был второй бот для того, чтобы откладывать рассылку? Технически бот-триггер рассылок работает в одном уникальном чате, и может отложить только одну рассылку – только так мы смогли подключить вебхук HuntFlow в платформу. Бот, откладывающий рассылку, создает столько чатов, сколько запросов получил от бота-триггера рассылок.

Затем мы приступили к созданию ботов со сценариями под конкретные вакансии.

Бот для вакансии «Менеджер клиентского отдела»

Сначала мы создали один чат-бот, затем экспортировали конфигурационный файл бота, импортировали в платформу и изменили вопросы для остальных трех вакансий – благодаря чему сэкономили время на сборке.

Боты для вакансий работают по сценарию «воронки»: первичный скрининг запускается сразу, по ответам на вопросы бот определяет, подходит кандидат или нет.

По итогам скрининга бот изменяет статус кандидата в HuntFlow на «Резюме отобрано чат-ботом» или «Отказ от чат-бота» и прикрепляет в комментарий диалог кандидата с ботом – все это с помощью HTTP-запросов к HuntFlow.

Далее мы запускаем таймер на мониторинг статусов по кандидату в HuntFlow. Таймер – это отдельный сценарий, выполняющийся при соблюдении условий после наступления определенного события в чате через заданный промежуток времени. Каждые 5 минут отправляется HTTP-запрос в HuntFlow на получение данных по кандидату и проверки статуса. Как только бот получает статус «Групповое интервью» и дату/время события, бот отправляет уведомление кандидату, и включается новый таймер, определяющий, наступил ли тот момент, когда до времени группового кандидата осталось 2 часа (время, за которое нужно выслать напоминание). Эта проверка выполняется с помощью low-code выражения:

{{ (date_for_sravnenie - now()).total_seconds() < (3600 * 2) }},

где date_for_sravnenie – дата события для кандидата переведенная в часовой пояс UTC, now() – время на момент сейчас в часовом поясе UTC.

Когда условие выполняется, кандидату отправляется напоминание. Аналогичный процесс выстроен для нескольких этапов рекрутинга.

Схематично интеграцию Chatme.ai и HuntFlow можно представить так:

Результаты

Сейчас мы готовим проект к запуску, параллельно вносим улучшения в сценарий бота, чтобы сделать его еще более удобным для HR-отдела клиента. Ожидается, что в месяц через бота будет проходить не менее 20000 кандидатов на все 4 вакансии в разных городах, план найма на каждую вакансию в каждом городе – 1-2 человека.

Екатерина Пащина
Екатерина Пащина

Поделиться статьёй:

возможно вам будет интересно:

Оставьте контакты,
и мы свяжемся с вами