Меня зовут Александр Днестрян. В ИТ я уже 12 лет, и последние 5 лет занимаюсь платформой чат-ботов для 1С. У меня набралось огромное количество опыта, и я хочу поделиться им с вами
Для начала остановимся на определении, что такое чат-бот.
Чат-бот – это аккаунт в мессенджере для коммуникации от лица компании или бренда с целью автоматизации процессов или же онлайн общения.
Практически все существующие на данный момент мессенджеры и социальные сети предоставляют API для работы с чат-ботами, чтобы ими можно было управлять извне.
Что автоматизировать?
Чат-бот всегда управляется каким-то сервисом – это может быть либо облачный сервис, либо же сама 1С.
Если чат-ботом управляет 1С, это очень сильно расширяет его возможности, потому что мы объединяем реализацию чат-ботов вместе с данными в 1С – можем выбирать необходимые нам данные и ими манипулировать.
Для автоматизации с помощью чат-ботов есть два больших направления – можно автоматизировать либо работу с клиентами, либо автоматизацию процессов внутри компании. Разделение примерно 70 на 30 – большинство компаний все-таки создают чат-боты именно для клиентов, но при этом внутренние процессы тоже хорошо автоматизируются.
Примеры задач, которые можно решать с помощью чат-боотов:
-
Самое основное – это построение helpdesk-систем, перевод всех наших входящих звонков по техподдержке на чат-боты. С помощью таких чат-ботов мы освобождаем телефонную линию. Плюс все заявки, которые приходят, сразу падают в 1С – мы можем сами непосредственно выстраивать процесс их обработки. Мы не завязаны на количество менеджеров, которые будут обрабатывать входящие звонки – это огромный плюс.
Пример, как это работает:-
Клиент заходит в бот, запрашивает техподдержку.
-
Бот просит описать проблему и прикрепить скриншот.
-
В 1С создается заявка и в нее записываются отправленные клиентом данные.
-
-
Также с помощью чат-ботов можно автоматизировать личный кабинет – всевозможные записи на прием, например к стоматологу и т.д. Можно выводить баланс, показывать долг клиента, сделать оплату сразу через чат-бот. Это преимущества, которыми многие пользуются.
-
Также очень хорошо идут различные оповещения – информирование о каких-то событиях. К примеру, у нас есть заказ у клиента, если его статус меняется на «В доставке» или «Готов к выдаче», мы об этом изменении знаем и сразу же информируем клиента. А клиент может отреагировать на это – прийти за заказом.
Такие кейсы очень популярны.
Отдельно стоит сказать о коммуникациях.
-
Чат-бот может работать в автоматическом режиме – когда он не касается сотрудника.
-
Либо же он работает в ручном режиме – сообщение от клиента транслируется сотруднику, сотрудник отвечает, и через чат-бот его ответ транслируется непосредственно клиенту.
При автоматизации через чат-бота мы получаем следующие преимущества:
-
Во-первых, вся история сообщений хранится в 1С – по ней работает глобальный поиск, в карточку контрагента можно зайти и увидеть всю историю переписки.
-
Плюс все чаты появляются в одном окне. У вашего сотрудника не будет различных отдельных приложений, он работает непосредственно только с одной точкой – с 1С, где уже все отображается. Он может легко этим оперировать.
Кейсы эффективного применения с 1С
Я описал стандартные варианты использования чат-ботов, которые применяют многие компании. Но лучше всего «выстреливали» именно нестандартные решения.
К примеру, была компания, которая доставляла воду в кегах другим компаниям. Загрузка ее менеджеров была неравномерная – они полдня отдыхали, им не поступало заявок, а пару часов в день, наоборот, был шквал звонков, и они не справлялись их вовремя обрабатывать.
-
Тогда они перевели обработку заявок на чат-бот – компании заходили в чат-бот, указывали количество кегов, адрес, по которому их нужно довезти, тип оплаты, и заявка сразу падала в 1С.
-
После этого они решили пойти еще дальше и добавили кнопку «Повторить заказ». До этого менеджеру приходилось звонить клиенту или через чат-бота ему что-то писать. А теперь клиент просто заходит в чат-бот, жмет кнопку «Повторить заказ» и все, заказ сразу создан и фактически едет. Это круто, и это действительно работает.
-
Потом они пошли еще дальше – стали анализировать время между заказами и предлагали сделать дозаказ. К примеру, допустим, компания заказывает раз в неделю – они примерно определяли этот момент и за день уже оповещали компанию: «По нашим расчетам у вас может закончиться вода. Перезаказать? Да или нет». Тем самым им удалось минимизировать лаг между заказами воды.
Также был интересный кейс с выставкой. У компании был стенд на выставке, и им нужно было привлечь на него как можно больше аудитории.
Они решили провести розыгрыш на своем стенде – распечатали QR-код чат-бота, повесили на стойке, и всех, кто проходил мимо, заманивали по этому QR-коду подключиться к боту, чтобы поучаствовать в розыгрыше.
В результате они собрали огромное количество контактов – около 23 крупных клиентов и около 80 мелких. Вроде бы цифры не сильно большие, но клиентов привлекли гораздо больше, чем в прошлые годы.
Получается, что они создали ажиотаж возле своей стойки и привлекли новых людей. Причем они это сделали пять лет назад, когда боты только стали распространяться.
Также боты хорошо применять и для автоматизации внутренних процессов компании.
К примеру, в 2020 году во время эпидемии COVID, у крупной медицинской компании возникла проблема – нужно было проверять состояние здоровья всех сотрудников перед выходом на смену. В фойе проводить проверку уже поздно – человек уже мог контактировать с другими сотрудниками.
Тогда они пошли нестандартным способом – внедрили чат-бот для проверки здоровья сотрудников. Так как есть график выхода сотрудников на смену, за час до назначенного времени каждому сотруднику автоматически отправлялось сообщение с просьбой померить температуру, написать, сделать фотографию глаз, лица. И если по каким-то критериям состояние здоровья не подходило, сотруднику давался больничный на пару часов, и дальше уже медицинский персонал с ними связывался.
Тем самым они полностью убрали возможность контактирования зараженного сотрудника в фойе с другими сотрудниками. По отзывам от директора эффект был очень хороший.
Также можно автоматизировать личный кабинет сотрудников внутри компании. Есть различные справки, которые можно заказывать: 2-НДФЛ, вахтовый график работы – все это очень хорошо ложится. Здесь варианты:
-
либо делать какое-то мобильное приложение;
-
либо какой-то личный кабинет именно на сайте;
-
либо же через чат-бот это все автоматизировать.
Запрос всех справок полностью можно переложить на чат-бот. Здесь не только справки, сюда же относится подача заявлений на отпуск, изменение даты, в том числе и запрос самому директору.
У нас была крупная компания, которая пошла таким образом – они уже порядка 30 различных сценариев автоматизировали.
Что в чат-ботах не работает
Чат-боты можно и нужно использовать для решения очень многих задач, но есть области, где в их сторону лучше все-таки не смотреть.
-
Например, в чат-ботах не работает маркетинг – во всяком случае, удачного применения я не знаю.
-
Маркетинг очень сильно пользуется тегами – это такие символы, которые прокидываются сквозной аналитикой, и потом можно анализировать, какая кампания работает, какая нет. Тегов в чат-ботах нет. Есть, конечно, небольшие исключения в Telegram, но нельзя сказать, что это есть во всех системах.
-
Кроме этого, официально холодные рассылки чат-ботами запрещены, к тому же, чат-бот не может отправлять информацию по номеру телефона. Поэтому бот, как маркетинговый инструмент, очень под большим вопросом.
-
-
И еще в чат-ботах не работают продажи. У некоторых клиентов было около тысячи различных товаров, и они хотели перенести выбор этих товаров в чат-бот. Это не работает. Чат-боты – это все-таки больше текст и картинки. Но здесь нет интерфейса, который был бы удобен пользователям – например, нет возможности настроить фильтр для поиска товара. Да, можно реализовать корзину, но это не дает той эффективности, которую хотелось бы.
Мультиканальность
Что необходимо, чтобы разработать чат-ботов, внедрить их и остаться в живых? Во многих компаниях этот вопрос обычно решается в лоб: «Дадим разработчику, он реализует».
Но мессенджеров очень много. На слайде приведена статистика по нашим клиентам – кто чем пользуется.
При этом эффективность мессенджеров зависит от сферы деятельности.
-
В салонах красоты и фитнес-центрах – популярны Instagram, ВКонтакте, иногда WhatsApp.
-
В автопромышленности – популярны ICQ, Skype и Telegram.
У каждой сферы свои эффективные каналы. Нет какого-то одного универсального канала, который бы работал. Получается, что используя какой-то один канал, вы львиную долю клиентов не затрагиваете.
Поэтому если разрабатывать чат-бот, нужно брать 2-3 канала, которые вам необходимы. И при возможности подключать другие – смотреть, что выстреливает, и где клиенту будет удобней.
Но здесь возникает проблема. API у всех каналов полностью различное – оно различается кардинально.
Кроме этого, по функциональности мессенджеры тоже различаются кардинально.
-
В Telegram у сообщений могут быть инлайн-кнопки, а в Viber их нет.
-
Skype не поддерживает отправку файлов, хотя другие каналы поддерживают.
-
ICQ вообще не может сам отправлять сообщения системе, их надо постоянно запрашивать.
У нас API различных мессенджеров сильно различается. И когда разработчики начинают с этим взаимодействовать, появляется огромное количество проблем, с которыми приходится бороться, и в конце концов это выливается в огромное количество человеко-часов.
Решение этой проблемы – это мультиканальность, когда для разработки чат-бота используется система, закрывающая все тонкости реализации API с чат-ботами. Тем самым мы не задумываемся о проблемах, нюансах этого канала, а используем общую прослойку – единый интерфейс.
-
Преимущество – используя сразу несколько каналов, мы охватим больше нашей аудитории.
-
Из проблем – здесь возможна задержка развития самой системы относительно API каналов. Но при разработке чат-ботов нам не всегда нужны самые новые возможности, которые появляются у мессенджеров.
Графический конструктор сценариев
Когда мы решили проблему с мультиканальностью, завели себе все эти каналы, и можем туда отправить информацию, возникает вопрос: как должен выглядеть сценарий для чат-бота, который будет обрабатываться этим ядром? Написать такой сценарий сложно, потому что очень много что надо контролировать – здесь и контекст общения с клиентом, и как двигать клиента по этим шагам.
Когда эту логику пишет разработчик, как правило, получается огромный спагетти-код на 1000+ строчек кода или 5000+, который потом крайне тяжело поддерживать и изменять. Когда у нас платформы еще не было, мы через это проходили – с этого начинали.
И родилась идея, что необходимо переходить на графический конструктор. Если посмотреть различные облачные сервисы, там то же самое – всюду используются графические конструкторы, потому что мы не должны думать о ядре, нам нужно работать на другом уровне.
-
При использовании графического конструктора сценариев мы получаем превосходную читаемость – видно все наши элементы, какой текст отправляется, как шаги идут, как они взаимодействуют.
-
Все шаги можно без проблем изменить – для этого не надо быть разработчиком, смотреть код или менять связи.
-
Мы существенно сокращаем время разработки сценариев – сценарии можно создавать буквально за считанные часы, не тратить на это дни и недели.
-
Сценарии можно переиспользовать.
Графический конструктор сценариев – это тот механизм, который однозначно следует использовать. Если провести аналогию с машиной, то мы не думаем, как работает двигатель, что у него там с искрой и так далее. У нас есть газ, есть коробка передач.
То же самое и здесь – мы не должны думать о том, как обработать каждый из шагов, как делать связи. Мы указываем, что хотим получить, а сами действия будут реализованы в ядре через отдельную закрытую от нас логику.
Пример сценария и кода
На слайде – пример, как выглядит сценарий. Здесь есть элемент, который проверяет – есть контрагент или нет.
-
Если контрагент есть, заявка отправляется сразу на техподдержку.
-
Если контрагента нет, бот задает несколько вопросов, регистрирует контакт в качестве лида, и проводит его дальше по стандартному сценарию.
Мы разработали такой сценарий, плюс подключили пару методов, которые будут работать уже с базой данных:
-
Первый метод проверяет, есть ли контрагент.
-
А второй метод выбирает из нашего контекста значение, которое ввел клиент, и создает сам элемент лида.
Мы видим, что методы очень компактные, очень понятные, их даже какой-то джун-разработчик 1С в принципе может сделать – ему не надо много всего продумывать.
Техническая реализация (мультиканальность+конструктор)
На этом слайде немного раскрываю технологическую часть платформы – каким образом мы всего этого добились.
-
Вся правая часть – это так называемый «транспорт».
-
Мы полностью отгородили транспорт от остальной логики, используя паттерн «Адаптер». С его помощью мы все внешние API конвертируем к своему внутреннему API, и работаем уже с внутренними методами, а не с внешними.
-
Плюс, мы обернули это в паттерн «Фасад», который объединяет все каналы и выдает нам для использования один единственный интерфейс с 5-7 методами. На его границе мы не знаем, что это за канал, как его использовать, какие там нюансы. Мы просто работаем с 5-7 методами, а дальше уже работает «черная магия».
-
-
И вторая часть – это наш конструктор. Здесь мы видим две коробочки (BPMN-движок и графический конструктор), которые объединяются спецификацией.
Возникает вопрос, как реализовать в ядре поддержку графического формата – чтобы код его как-то переваривал? Есть несколько различных вариантов:
-
Либо графический формат преобразуется в какой-то большой код – но это не поддерживаемо.
-
Либо графическая схема постоянно анализируется на лету.
-
Мы же пошли по методу создания спецификации. Наш сценарий, который формируется в графическом конструкторе, конвертируется в спецификацию, понятную ядру. А BPMN-движок, используя эту спецификацию, дальше взаимодействует с ядром.
Если проследить маршрут сообщения, то:
-
с правой стороны, где находятся серверы Telegram и Viber, сообщение проходит определенную валидацию;
-
по нашему «Фасаду» конвертируется в понятную нам схему;
-
схема передается в BPMN-движок, который отвечает за дальнейшую логику;
-
также есть мессенджер, который совершенно не знает ни о ядре, ни о каких-то системах – он просто использует API для передачи либо получения сообщений.
Кейс разработки поведения
Теперь хотелось бы коснуться практической части.
Есть простая задача – создать чат-центр для коммуникации клиента с компанией, чтобы все коммуникации приходили сотрудникам.
Мы набрасываем этот сценарий, используя различные элементы.
-
Первым шагом сценарий отправляет сообщение «Вы обратились в открытую линию компании. Чем можем вам помочь?»
-
Дальше диалог переводится на сотрудника – оповещение приходит всем менеджерам, ответить может каждый.
-
После выхода из диалога сообщаем клиенту, что работа по обращению завершена: «Спасибо за обращение, мы рады вам помочь!»
-
И завершаем диалог.
Таким образом у нас готов сценарий, который реализует чат-центр. Нам не пришлось тратить на него кучу дней, недель – мы набросали его за минуту.
Дальше была вторая задача – решили не адресовать сообщение сразу всем менеджерам, а сразу дать выбор клиенту, с каким отделом ему связаться – с техподдержкой либо с отделом продаж.
-
Мы заменяем элемент «Действие» на «Действие с клавиатурой», чтобы в сообщении «Вы обратились в открытую линию компании. Какой отдел вас интересует?» выводились кнопки выбора
-
Добавляем кнопки «Отдел продаж» и «Техподдержка»
-
Добавляем элемент «Диалог с сотрудником» для второго отдела.
-
Добавляем в настройках платформы два отдела операторов: «Отдел продаж» и «Техподдержку» – обратите внимание, здесь еще есть и руководители.
-
Выберем настроенные отделы в качестве ограничения адресации для элементов «Диалог с сотрудником».
-
И завершим редактирование сценария.
Здесь главная общая схема, что мы практически не работаем с кодом. Мы все это настраиваем в визуальной части, и это легко корректируется, изменяется, дорабатывается.
Дальше у нас появилась задача – добавить возможность автоматического создания заявки на техподдержку (в Help Desk) в вечернее время. Потому что когда клиент обращается в нерабочее время, ему пишется: «Вы переведены на сотрудника», а там никто не отвечает – это ужасная ситуация. Поэтому мы внесли в сценарий следующие изменения:
-
Добавили дополнительный элемент, который проверяет – рабочее время или нерабочее. Если время рабочее, идет наш стандартный процесс. Если время нерабочее, клиенту отправляется сообщение, и дальше запускается сценарий, чтобы сформировать офлайн-заявку.
-
Заявка создается как документ 1С, и менеджер, который утром придет, сразу сможет его обработать.
-
Обратите внимание, здесь мы используем вложенный сценарий. Опять-таки, используя всего лишь пять различных элементов, мы можем создавать любые наши сценарии, любое поведение.
-
Просим клиента сформулировать проблему сообщением: «Какой у вас вопрос?»
-
И потом выполняем метод, который непосредственно будет создавать сам документ – этот подключаемый метод необходимо будет создать разработчику.
-
В методе мы получаем ответ клиента из шага «ВопросКлиента», создаем задачу, передаем туда этот текст и возвращаем клиенту ссылку на документ задачи.
Как видно, это не тысяча строк кода – все очень легко и создается, и поддерживается.
И последняя задача. Поскольку это была ЖКХ-компания, они хотели оповещать клиентов о том, что у них есть долг – чтобы клиент заходил в чат-бота, и ему бот сразу говорил: «У вас есть долг, погасите».
-
Сначала мы проверяем, есть ли долг. Если долга нет, мы переходим на стандартную схему. Если есть долг, тогда выводим сообщение «ВНИМАНИЕ, У ВАС ЕСТЬ ДОЛГ (ДолгСумма)», где в качестве параметра используем сумму документа.
-
И подключаем в чат-бот метод ПроверитьДолг, который проверяет сумму долга и записывает ее в контекст.
После этих действий у нас буквально на 10 минут создан бот, который будет решать все необходимые задачи.
Резюмируем
Я рассказал о принципах разработки – как разрабатывать чат-ботов, чтобы это было качественно, хорошо и удобно, чтобы не погрязнуть в грязи.
Резюмируя, хочу сказать:
-
Чат-боты – это очень полезный и эффективный канал. Их можно использовать в различных сферах и под различные задачи.
-
Построение бизнес-логики должно происходить качественно на другом уровне. Мы не должны оперировать кодом и думать, а как же это обработать – мы должны сосредоточиться именно на бизнес-логике, описывать ее.
-
Минимальные вещи, которые нужны, чтобы все это реализовывать – это мультиканальность и конструктор сценариев.
Продукт, который разработан по этим принципам, продается на «Инфостарте», наша компания развивает его 5 лет.
На данный момент продукт поддерживает 14 каналов – Telegram, Viber, WhatsApp, WhatsApp Business, Instagram, Skype, ICQ, Facebook, ВКонтакте, Одноклассники, Яндекс.Алиса, Verbox, Jivochat, Avito.
*************
Статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2022 Saint Petersburg.
Готовое решение
Интеграция 1С с чат-ботами
Мощный модуль для интеграции 1С с чат-ботами: Telegram, Viber, WhatsApp, WhatsApp Business, Instagram, ICQ, Facebook, Vkontakte, Skype, Одноклассники, Яндекс.Алиса, Avito а так же виджеты чата для сайтов: Verbox, Jivochat.