Найти в Дзене
Дневники Сенсея

Выпуск №2 - Нюансы при сборке несложных воронок на salebot

Всем привет! Как-то ко мне обратился клиент с задачей собрать бота для кадрового агентства. В целом, задача довольно простая: соискатель идет по цепочке, отвечает на вопросы, бот их запоминает и, когда соискатель доходит до конца цепочки, записываем все его данные в таблицу и отправляем уведомление HR-менеджеру. После успешного тестирования бот был запущен в работу, но начали появляться нюансы, которые заказчик попросил "докрутить". Об этих нюансах и пойдет речь в сегодняшнем выпуске. Нюанс №1 Оказалось, что не все соискатели доходят до конца анкеты. Многие просто останавливаются на каком-то вопросе и не идут дальше. Решили добавить напоминание через 1 час для таких людей: серый блок (Не состояние) и в него стрелки из всех блоков с вопросами. Во всех стрелках включаем "Отменить, если покинул блок" и ставим задержку 1 час. Частично это помогло, но хотелось, чтобы бот записывал данные соискателей даже если они не прошли до конца анкетирование. Например, соискатель оставил свои личные да

Всем привет! Как-то ко мне обратился клиент с задачей собрать бота для кадрового агентства. В целом, задача довольно простая: соискатель идет по цепочке, отвечает на вопросы, бот их запоминает и, когда соискатель доходит до конца цепочки, записываем все его данные в таблицу и отправляем уведомление HR-менеджеру.

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

Нюанс №1

Оказалось, что не все соискатели доходят до конца анкеты. Многие просто останавливаются на каком-то вопросе и не идут дальше. Решили добавить напоминание через 1 час для таких людей: серый блок (Не состояние) и в него стрелки из всех блоков с вопросами. Во всех стрелках включаем "Отменить, если покинул блок" и ставим задержку 1 час. Частично это помогло, но хотелось, чтобы бот записывал данные соискателей даже если они не прошли до конца анкетирование. Например, соискатель оставил свои личные данные, но не ответил на последний вопрос "Есть ли у вас водительское удостоверение?". В таких случаях менеджер может связаться с человеком, уточнить недостающие данные и предложить вакансии. Тогда мы добавили еще одну стрелку из серого блока с напоминанием, в белый блок. В стрелке стояла задержка 1 день, включен "Отменить, если покинул блок", в самом белом блоке бот заносил в таблицу все данные, которые успел ввести соискатель и отправлял уведомление HR-менеджеру. Тем самым мы прерывали анкетирование для человека, уводили его из основной цепочки дальше уже с ним работал менеджер. Да, в этом блоке еще добавили кнопку "Заполнить анкету заново", для тех, кто позже вернется в бота и все-таки решит пройти анкету до конца. И тут появился второй нюанс.

Нюанс №2

Когда соискатели получали напоминание из серого блока, они, почему-то, не понимали, что им сейчас нужно ввести в бота (хотя чуть выше в переписке у них перед глазами был последний вопрос из анкеты). Мы решили вместе с напоминанием дублировать последний вопрос анкеты. И тут встал вопрос, как понять, на каком именно вопросе остановился человек и как его продублировать ему? Если повторно запускать его в блок с вопросом, то у него будет постоянно планироваться стрелка с напоминанием и у нас получается цикл, который будет работать каждый час. Решение оказалось довольно простым: помещаем наши вопросы во всех блоках в переменную текст, далее, в сером блоке в калькуляторе прописываем функцию message:

m = message(client_id, текст)

Это позволило вместе с напоминанием дублировать последнее сообщение из переменной текст, что, собственно, и являлось последним вопросом, на котором остановился соискатель. Казалось бы, проблема решена, но появилась еще одна проблема.

Нюанс №3

Просматривая диалоги, мы заметили, что некоторые соискатели возвращались в бот и пытались продолжить анкетирование, хотя по факту бот их уже давно убрал из основной цепочки (через 1 день стрелка из серого блока вела их в белый блок и бот вносил то что есть из данных в таблицу, у них перед глазами кнопка "Заполнить анкету заново"). Допустим, последний вопрос в боте был "Укажите желаемую зп", вот люди и присылают 100000, 120000, 50000 и т.д. на что бот уже, естественно, не реагировал. Было решено здесь добавить кнопку "Продолжить заполнение анкеты". Здесь нас так же выручила функция message. Она умеет не только отправлять какой-то конкретный текст, но и может перевести клиента в любой блок воронки. В каждом блоке с вопросами добавили

последний_блок = message_id

Это дало возможность запоминать номер блока, на котором соискатель остановился при анкетировании. Ну и дальше настраиваем кнопку "Продолжить заполнение анкеты". После ее нажатия переводим клиента в блок, в котором в калькуляторе прописано следующее:

m = message(client_id, "", последний_блок)

Благодаря такой настройке, люди, даже спустя несколько недель, могли нажать кнопку "Продолжить заполнение анкеты" и бот их возвращал именно на тот вопрос, на котором они остановились в прошлый раз. Теперь соискатели могли выбирать, начать ли заполнение анкеты заново или все же продолжить заполнять прошлой анкеты.

Вывод:

1. Функция message может заменить стрелки и позволит создавать более гибкие логики в боте.

2. Если ее использовать в паре с переменными и ифами, то можно значительно сокращать схемы.

3. Переход из блока в блок, это не всегда стрелка или условие в блоке. Такие же переходы можно реализовать через калькулятор.

Подробный разбор написанного есть в видео, кому больше нравится видеоформат, смотреть тут⬇️

https://vk.com/video-157037263_456239103?list=ln-LxgA52LUVAvZaGkYFT

До встречи на следующей неделе!

Автор: Alexchatbots