2) Как создать чат-бота в HelpDeskEddy?
1) Что такое чат-бот и зачем он нужен?
Чат-бот - это приложение, которые имитирует переписку пользователя с реальным человеком. Встретить подобных ботов можно на большинстве современных сайтов и платформ, очень часто они выступают в роли инструмента для привлечения пользователей. Например, вы посещаете какой-нибудь интернет-магазин, просматриваете там различные товары, и в какой-то момент всплывает окошко: "если у вас возникнут вопросы - обращайтесь!", но когда вы набираете свой вопрос, то вместо ответа вам предлагают оставить номер телефона, чтобы оператор магазина позднее вам перезвонил.
Или же, например, в чат-виджете вам предлагают выбрать определенную тематику по нажатию на кнопку: Оплата, База знаний, Вопрос по товару или же Подключить оператора - варианты могут быть самыми разными. Все это осуществляется благодаря заранее настроенным алгоритмам (ботам), которые используются для повышения комфорта пользователя.
Бот может распознавать некоторые вопросы пользователей и давать на них заранее подготовленные ответы. Варианты использования ботов ограничены только вашей фантазией:
- оказание техподдержки;
- обучение;
- интерактив;
- маркетинг;
- оформление заказов.
Грамотно настроенный бот поможет увеличить ваши продажи и лояльность клиентов, а также облегчит работу службу поддержки. Причем настройка и использование ботов сегодня возможно практически во всех популярных способах общения: в виджете чата, соцсетях и мессенджерах.
2) Как создать и настроить чат-бота в HelpDeskEddy?
Весь процесс происходит в меню "Конструктор ботов", которое представлено в виде визуального конструктора и блок-схем:
Начните с главного: определите цели и задачи, которые должен решать бот - от них напрямую зависит как будет проходить разработка, какой функционал и структура будут использоваться. Планирование - очень важный этап создания чат-бота.
Он сможет задавать вашим клиентам квалифицирующие вопросы, чтобы дальше распределять их по воронке:
- передаст лида в команду продаж;
- переключит диалог на сотрудника поддержки;
- запустит email-цепочку для прогрева потенциального клиента;
- ответит на наиболее популярные вопросы;
- отправит запрос (вебхук) во внешнее API.
Бот освободит время команды для важных персональных разговоров, а в визуальном конструкторе чат-ботов вы соберете любой сценарий за несколько минут даже без разработчика.
Во время создания и настройки бота у вас будет отображаться UML-диаграмма (язык моделирования, который поможет проиллюстрировать структуру бота):
В верхней левой части экрана находится Имя бота – это имя, которое будет видно конечному пользователю (клиенту) во время общения в мессенджере. Также оно будет отображаться в поле "Исполнитель" в заявке, что с помощью отчетов позволит собирать статистику и понимать, сколько заявок было обработано конкретным ботом за период времени.
Рядом с именем располагается шестерёнка с дополнительными настройками:
- Фразы для вызова сотрудника – если какая-либо фраза из списка будет написана клиентом, то бот будет остановлен и будет вызвано событие (условие) диспетчера "Вызов сотрудника". Это даст возможность настроить заявке дальнейшие действия после того, как клиент решит прекратить общение с ботом.
- Ответ бота на вызов сотрудника – что ответит бот клиенту, если вызвано событие "Вызов сотрудника".
- Каналы, в которых бот будет автоматически назначен – при поступлении заявки из выбранных каналов, бот будет автоматически назначен в них:
Нажав на кнопку + в центре экрана вы сможете настроить шаги/действия для бота:
- Добавить ответ. Выполняет обычную отправку ответа клиенту. Здесь можно использовать все те же теги, что и при добавление ответа в диспетчере:
- Кнопки.
Добавление элемента позволит добавить набор кнопок и логику для каждого канала (Telegram, Viber, ВК, Facebook, Instagram, чат). В каждом канале свои кнопки, со своими особенности, по аналогии с разделом "Кнопки омниканальности".
Кнопки "Остановка бота" и "Перейти к шагу" – являются общими для всех каналов.
У каждого набора кнопок можно указать название временной переменной {temporary_field}, которую можно использовать после завершения ботом обработки заявки в диспетчере. Например, бот предлагает пользователю несколько кнопок на выбор, и вы хотите чтобы выбранное клиентом значение сохранилось в текстовом поле заявке. Подробнее такой пример разберем чуть ниже.
- Текстовое меню.
Текстовое меню – это то же самое меню с опциями на выбор, но вместо нажатия на кнопку клиенту предлагается ввести ответ в виде текста из предложенных вариантов. Этот вариант рекомендуется использовать в каналах, которые не поддерживают кнопки (к примеру, Whatsapp). Бот ожидает от клиента определенный текст для продолжения работы, и пока клиент не введет один из предложенных вариантов, бот по умолчанию будет повторять запрос снова и снова:
- Запрос ввода данных.
Бот запрашивает данные от пользователя в определенном формате (уточнить номер телефона клиента/email/тариф и любую другую информацию). А чтобы убедиться что клиент ввёл именно то, что его попросили, можно использовать регулярные выражения – они позволяют задать шаблон, которому должна соответствовать строка. К примеру, если вы просите от пользователя его номер телефона, то его ответ точно не должен содержать букв, а сам номер состоит только из 10 цифр. Чем более точным шаблон вы настроите, тем больше шансов что клиент введёт правильные данные.
Для регулярных выражений присутствует тестовое значение - чтобы вы могли при настройке бота сразу протестировать своё регулярное выражение и посмотреть результат (пройдено/не пройдено):
В настройках также можно указать сообщение об ошибке, чтобы донести до клиента что он прислал ответ в неверном формате.
Обратите внимание: если в событии "Запрос ввода данных" не указать регулярное выражение, то значение не заполнится! Как вариант вы можете ввести любое значение, например .*
И последнее оставшееся поле: "Название временной переменной". В неё будет записано итоговое значение, которое ввёл клиент при запроса ввода данных. Её можно использовать в дальнейшей работе бота, либо же после окончания работы бота при помощи диспетчера, чтобы заполнить необходимые поля в заявке.
Разберём на примере. В поле "Название временной переменной" напишем переменную phone – в ней будет храниться ответ клиента с номером телефона, который он заполняет на шаге "Запрос ввода данных". Получить значение переменной внутри заявки можно при помощи тега {temporary_field:название_переменной}. В нашем случае это будет {temporary_field:phone}.
Теперь предположим, что бот собрал всю нужную информацию и передает заявку оператору для дальнейшей обработки. Сейчас нам требуется чтобы когда сотрудник открыл заявку, он мог справа в текстовом поле увидеть информацию, которую заполнил клиент. Напомним, что диспетчер не отрабатывает в заявках в которых Бот назначен в качестве исполнителя, а значит мы должны остановить бота (передать заявку оператору), чтобы потом правилом диспетчера автоматически заполнить нужные поля:
Переходим в меню "Диспетчер" и создаем правило:
Как это будет выглядеть на практике:
- Остановка бота. Останавливает работу бота, позволяет вызвать событие (условие) диспетчера "Остановка бота", а также отправляет ответ клиенту:
- Вызов сотрудника. Останавливает работу бота, позволяет вызвать событие (условие) диспетчера "Вызов сотрудника, а также отправляет ответ клиенту:
Таким образом на шагах "Остановка бота" и "Вызов сотрудника" вы можете останавливать работу бота и подключать к работе правила диспетчера при помощи обязательных условий:
Например, когда бот собрал всю необходимую информацию и дальнейшая обработка заявки ложится на оператора. Диспетчером можно автоматически распределить заявку на сотрудника, обновить параметры и заполнить поля заявки, отправить вебхук и многое другое.
Особенности конструктора ботов.
1) Когда пользователь взаимодействует с ботом (нажимает на кнопки, переходит по шагам - все действия пока бот не остановлен), бот автоматически назначается в качестве исполнителя заявки.
Если вы, к примеру, захотите узнать сколько заявок от пользователей бот решил без привлечения оператора, то это можно будет посмотреть при помощи отчётов.
2) При остановке бота исполнитель заявки автоматически меняется на "Неприсвоенный". В этот момент заявку должны перехватить операторы - либо вручную, либо в автоматическом режиме при помощи автораспределения диспетчера.
3) Пока бот указан в качестве исполнителя, в этой заявке никакие правила диспетчера отрабатывать не будут. Правила начнут работать после того, как бот будет остановлен.
4) Узнать кто, когда и где вносил правки в Конструкторе ботов можно в меню "глобальный аудит".
Пример создания бота.
Теперь давайте создадим собственного чат-бота для Telegram, который сможет дать клиентам общую информацию на популярные вопросы, а для более сложных ситуаций бот будет передавать заявку оператору:
1) Для начала указываем фразы для вызова бота/ответ на вызов, а также выбираем Telegram в качестве канала, где бот будет автоматически назначаться в новых заявках:
2) Для всех новых обращений от клиентов будем отправлять им сообщение с просьбой выбрать тему обращения, и затем добавим 4 кнопки для канала:
3) Предложим пользователю на выбор 4 действия (кнопки):
- Text кнопка "Подключить оператора" – при нажатии сработает событие "вызов сотрудника" и бот остановит работу. Также не забудем оповестим клиента что заявка переводится на оператора.
- Request contact кнопка "Интересуюсь продуктом" – при нажатии бот предложит пользователю поделиться контактными данными в Telegram, чтобы с ним потом можно было связаться для обсуждения деталей. Если пользователь отправит данные, то отправляем отбивку и останавливаем бота.
- Web App кнопка "База знаний" – в этой кнопке расположили ссылку на базу знаний, и при нажатии у клиента откроется окно прямо в Телеграме, где он сможет ознакомиться с базой знаний. С помощью Web app кнопок разработчики могут подключать к своим ботам web-приложения, которые открываются в дополнительном окне, что сильно расширяет инструментарий, а, следовательно и функционал ботов в Телеграм.
- Кнопка "Остановка бота" – завершает работу бота и отправляет отбивку клиенту.
Но остается главный вопрос: как теперь связать нажатие кнопок с действиями, которые должны происходить после их нажатия? Как всегда, в этом нам помогут правила диспетчера. Напомним, что правила начинают работать только после остановки бота, поэтому будет завязывать их на событиях (обязательных условиях) "Вызов сотрудника" и "Остановка бота".
Перейдите в меню "Диспетчер", создайте отдельную группу правил, после чего добавим несколько правил:
Первое правило будет завязано на кнопке "Подключить оператора" – мы хотим чтобы при нажатии на эту кнопку заявка падала в департамент "1 линия поддержки" и в ней автоматически был назначен оператор. В дополнительных условиях будем проверять содержимое последнего ответа (как только бот ответил "Перевожу заявку на оператора" значит пора активировать правило) и источник заявки:
Второе правило будет работать схожим образом, только заявка будет передаваться не в поддержку, а в отдел продаж:
И последнее правило сработает тогда, когда пользователь нажмёт на кнопку "Завершить диалог" - в этом случае отправим ему отбивку о закрытии заявки и поменяем её статус на "Выполнено":
Посмотрим как это будет выглядеть на практике: