Конструктор ботов

1) Что такое чат-бот?

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 действия (кнопки):

 

  1. Text кнопка "Подключить оператора" – при нажатии сработает событие "вызов сотрудника" и бот остановит работу. Также не забудем оповестим клиента что заявка переводится на оператора.
  2. Request contact кнопка "Интересуюсь продуктом" – при нажатии бот предложит пользователю поделиться контактными данными в Telegram, чтобы с ним потом можно было связаться для обсуждения деталей. Если пользователь отправит данные, то отправляем отбивку и останавливаем бота.
  3. Web App кнопка "База знаний" – в этой кнопке расположили ссылку на базу знаний, и при нажатии у клиента откроется окно прямо в Телеграме, где он сможет ознакомиться с базой знаний. С помощью Web app кнопок разработчики могут подключать к своим ботам web-приложения, которые открываются в дополнительном окне, что сильно расширяет инструментарий, а, следовательно и функционал ботов в Телеграм.
  4. Кнопка "Остановка бота" – завершает работу бота и отправляет отбивку клиенту.

 

Но остается главный вопрос: как теперь связать нажатие кнопок с действиями, которые должны происходить после их нажатия? Как всегда, в этом нам помогут правила диспетчера. Напомним, что правила начинают работать только после остановки бота, поэтому будет завязывать их на событиях (обязательных условиях) "Вызов сотрудника" и "Остановка бота".

 

Перейдите в меню "Диспетчер", создайте отдельную группу правил, после чего добавим несколько правил:

 

Первое правило будет завязано на кнопке "Подключить оператора" – мы хотим чтобы при нажатии на эту кнопку заявка падала в департамент "1 линия поддержки" и в ней автоматически был назначен оператор. В дополнительных условиях будем проверять содержимое последнего ответа (как только бот ответил "Перевожу заявку на оператора" значит пора активировать правило) и источник заявки:

 

Второе правило будет работать схожим образом, только заявка будет передаваться не в поддержку, а в отдел продаж:

 

И последнее правило сработает тогда, когда пользователь нажмёт на кнопку "Завершить диалог" - в этом случае отправим ему отбивку о закрытии заявки и поменяем её статус на "Выполнено":

 

Посмотрим как это будет выглядеть на практике: