ММООЗЗГГ.ru

Как создать ИИ-агента

ИИ-агент в Битрикс24 своими руками: как создать чат-бота с моделью

Михаил Мозг5 минут чтения

Создать ИИ-агента в Битрикс24 своими руками можно без отдельного приложения: хватает входящего вебхука, чат-бота на методах imbot.v2 и n8n с открытой моделью. Ниже по документации Битрикс24 разобрано, как собрать бота, который отвечает сотрудникам во внутреннем чате, и как записать лид в CRM.

Соберете сами за неделю

Что можно собрать самому

Своими руками в Битрикс24 собирается помощник для сотрудников: бот во внутреннем чате отвечает по регламентам, прайсу и инструкциям. Второй сценарий: агент получает текст заявки и заводит лид в CRM.

Для этого нужны три вещи. REST API, способ программы обращаться к Битрикс24 по адресу со своими правами. n8n на сервере с доменом и HTTPS, программа для сборки сценариев. И модель: Ollama запускает открытые модели на вашем компьютере или сервере и распространяется по лицензии MIT.

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

Шаг 1: входящий вебхук

Входящий вебхук в Битрикс24 это постоянный адрес, по которому n8n вызывает методы портала в пределах выбранных прав. Отдельное приложение для этого не нужно.

1. Откройте «Приложения», затем «Разработчикам», вкладку «Готовые сценарии», раздел «Другое» и пункт «Входящий вебхук».

2. В правах отметьте imbot для чат-бота и crm для записи в CRM. Права здесь называются scope: это разделы портала, к которым у вебхука есть доступ.

3. Сохраните вебхук и скопируйте его адрес вида https://портал/rest/номер-пользователя/код/. Дальше к этому адресу дописывают имя метода.

Если пункта «Входящий вебхук» нет, право на создание вебхуков закрыто. Администратор открывает его в «Настройки», «Настройки Битрикс24», «Безопасность», «Интеграции Битрикс24», поле «Кому разрешить создавать входящие вебхуки».

Код в адресе это секрет: с ним любой вызовет методы в пределах прав вебхука. Не публикуйте адрес и не вставляйте его в код сайта. Для рабочих вызовов используйте POST: запросы GET оседают в истории браузера, журналах и системах мониторинга.

Шаг 2: чат-бот в Битрикс24

Чат-боты 2.0 в Битрикс24 регистрируются методом imbot.v2.Bot.register. Ответ сотруднику бот отправляет методом imbot.v2.Chat.Message.send, оба метода вызываются через адрес входящего вебхука.

1. В n8n создайте сценарий с узлом «Webhook», в поле «HTTP Method» выберите POST, опубликуйте сценарий и скопируйте «Production URL». На этот адрес Битрикс24 будет присылать сообщения боту.

2. Вызовите imbot.v2.Bot.register узлом «HTTP Request» или командой curl из быстрого старта документации. В объекте fields передайте code (код бота), botToken (секрет до 40 символов, его придумываете сами), type со значением bot, eventMode со значением webhook, webhookUrl с адресом из n8n и properties с именем бота.

3. Сохраните id бота из ответа: вместе с botToken он нужен во всех следующих вызовах. Повторный вызов с тем же code вернет того же бота, а не создаст второго.

Если публичного адреса пока нет, зарегистрируйте бота с eventMode fetch. Тогда события копятся в Битрикс24, а программа сама забирает их методом imbot.v2.Event.get, без обработчика и публичного адреса. Для проверки идеи этого хватает.

Шаг 3: модель и ответ в чат

1. Напишите боту в Битрикс24. В n8n придет событие ONIMBOTV2MESSAGEADD: в нем адрес диалога dialogId и текст сообщения.

2. После узла «Webhook» поставьте «AI Agent». В параметре «Prompt» выберите «Define below» (задать ниже) и подставьте текст сообщения в поле «Prompt (User Message)».

3. В опциях узла добавьте «System Message» и запишите правила: на какие вопросы бот отвечает, на какие документы опирается и к кому отправляет с остальным.

4. Подключите модель, например узел «Ollama Chat Model» с открытой моделью на своем сервере. Документация n8n требует подключить к агенту и хотя бы один инструмент, например поиск по базе регламентов.

5. Ответ отправьте узлом «HTTP Request»: POST на адрес вебхука с методом imbot.v2.Chat.Message.send. В теле JSON передайте botId, botToken, dialogId из события и fields с полем message, где ответ модели.

В личной переписке бот получает каждое сообщение, в групповом чате события приходят не на все сообщения. Для начала проверяйте бота в личном диалоге.

Шаг 4: запись в CRM

Лиды и сделки создает метод crm.item.add. В параметре entityTypeId укажите 1 для лида или 2 для сделки, в fields название и данные клиента, которые модель достала из текста заявки.

Метод crm.lead.add документация пометила устаревшим: его развитие остановлено, для новых сценариев используйте crm.item.add.

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

В CRM попадают имена и телефоны клиентов, а это персональные данные. По 152-ФЗ их сбор и хранение ведутся в базах на территории России, а перед передачей за рубеж оператор с 1 марта 2023 года уведомляет Роскомнадзор. Модель, которая читает заявки, держите на своем сервере в России; подробнее на странице о безопасности данных.

Когда нужен разработчик

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

Такого агента мы подключаем под ключ: пилот за 14 дней от 150 000 ₽ с метрикой в договоре. Что агент делает внутри портала, описано на странице ИИ-агента для Битрикс24, а как выбрать CRM под агента, мы разобрали в блоге.

n8n из этой сборки распространяется по лицензии Sustainable Use License (fair-code): ставить у себя и менять можно, перепродавать как облачный сервис нельзя. Похожая сборка для amoCRM разобрана отдельно.

Вопросы и ответы

Нужен ли публичный сервер для бота в Битрикс24?

Для проверки идеи нет: в режиме fetch бот сам забирает события методом imbot.v2.Event.get, и публичный адрес не нужен. В режиме webhook Битрикс24 присылает события на адрес обработчика, поэтому n8n должен быть доступен по публичному адресу.

Может ли такой бот отвечать клиентам в открытых линиях?

Технически да: при регистрации у бота включается параметр isSupportOpenline. Но в открытых линиях бот говорит с клиентами от имени компании, обрабатывает их персональные данные и должен вовремя передавать разговор человеку. Такой сценарий собирайте с разработчиком и проверяйте на пилоте.

Источники и даты

Собрать просто. Решить, что собирать, сложнее

Бот в Битрикс24 собирается за неделю, но польза зависит от того, какую работу он заберет у людей. Сначала посчитайте, где сотрудники теряют больше всего времени, и только потом выбирайте, что поручить агенту.

Пилот ИИ-агента за 14 дней

Если агент должен работать с клиентами в открытых линиях и вести сделки, начните с пилота с метрикой в договоре.

Михаил Мозг

Михаил Мозг

Основатель MMOOZZGG, ИИ-директор

Подробнее о Михаиле@mmoozzggru

Контакты

Подключим ИИ-агента к вашему Битрикс24

Разбор 30 минут бесплатно в Telegram: посмотрим портал и процесс.

Написать в Telegram