Разработка бота-помощника для CRM Битрикс24
Менеджеры по продажам тратят до 30% рабочего времени не на продажи, а на рутину в CRM: заполнение карточек, создание задач по итогам звонков, поиск нужной информации по клиенту перед переговорами. Бот-помощник для CRM берёт эту рутину на себя — работает внутри CRM-карточек, реагирует на события сделок и контактов, подсказывает менеджерам следующий шаг.
Где живёт CRM-бот
В отличие от чат-бота для клиентов, CRM-бот работает в двух местах одновременно:
-
Внутренний чат Битрикс24 — команды и уведомления через
imмодуль. -
Встроенный в CRM-карточку виджет — через механизм CRM-элементов (приложение с типом
CRM_DETAIL_ACTIVITY), которое отображается прямо внутри карточки сделки или контакта.
Второй вариант мощнее: менеджер не выходит из карточки, бот показывает данные и принимает команды прямо там. Реализуется через Битрикс24 REST-приложение с размещением в CRM_DETAIL_ACTIVITY или CRM_SIDEBAR.
Типовые функции CRM-бота
Автозаполнение карточки. После звонка транскрибация возвращает текст → бот парсит текст, извлекает: имя клиента, телефон, суть запроса, следующий шаг → записывает в поля сделки через crm.deal.update. Использует NLP или простые регулярные выражения для структурированных форматов.
Следующее действие. На основе текущей стадии сделки и истории активностей бот рекомендует следующий шаг: «Последний контакт 5 дней назад, клиент на стадии КП — пора позвонить». Реализуется как уведомление в чате через imbot.message.add + кнопка «Создать задачу».
Обогащение данных. По ИНН или домену компании бот делает запрос во внешние сервисы (СПАРК, DaData, Clearbit) → добавляет в карточку компании: отрасль, выручку, количество сотрудников, директора. Данные пишутся в пользовательские поля UF_CRM_* через crm.company.update.
Суммаризация истории. Менеджер открывает карточку нового для него клиента → бот читает все активности через crm.activity.list + переписку в чате → через OpenAI API формирует краткое резюме: «Клиент обращался 3 раза, интересовался продуктом X, последний раз запрашивал скидку 15%».
Интеграция с событиями CRM
CRM-бот подписывается на события через event.bind или обрабатывает вебхуки:
crm.deal.onUpdate — сделка изменена (смена стадии, ответственного)
crm.deal.onAdd — новая сделка
crm.activity.onAdd — новая активность (звонок, письмо, встреча)
crm.lead.onAdd — новый лид
Пример логики на смену стадии:
def on_deal_update(event_data):
deal_id = event_data['data']['FIELDS']['ID']
deal = bitrix.call('crm.deal.get', {'id': deal_id})
if deal['STAGE_ID'] == 'C2:PREPARATION': # стадия "Подготовка КП"
# Создаём задачу на подготовку КП
bitrix.call('tasks.task.add', {
'fields': {
'TITLE': f'Подготовить КП для {deal["COMPANY_TITLE"]}',
'RESPONSIBLE_ID': deal['ASSIGNED_BY_ID'],
'DEADLINE': '+3 days',
'UF_CRM_TASK': [f'D_{deal_id}']
}
})
Кейс: бот-ассистент для B2B продаж
Контекст: производственная компания, 8 менеджеров, средний цикл сделки 45 дней, много этапов согласования. Проблема: менеджеры забывают обновлять CRM, теряют нить переговоров после возвращения из отпуска.
Что сделали:
Бот подписался на события crm.deal.onUpdate и crm.activity.onAdd. При каждом изменении сделки — обновляет внутренний state диалога (хранится в Redis: ключ = deal_{ID}, значение = JSON с историей взаимодействий).
«Брифинг» перед звонком. Менеджер нажимает «Позвонить» в карточке → за 30 секунд до соединения бот присылает в чат сообщение: последние 3 активности, текущие договорённости, открытые вопросы от клиента, динамика сделки за последние 2 недели.
Автопротокол встречи. После встречи менеджер пишет боту краткие тезисы → бот форматирует в протокол встречи и прикрепляет к сделке как комментарий + создаёт задачи по пунктам «следующих шагов».
Триггер потери. Если в сделке нет активностей 7 дней — бот пишет менеджеру: «Сделка с компанией X не обновлялась 7 дней, риск потери». Кнопки: «Позвонить», «Написать», «Перевести в архив».
Итог: заполненность карточек выросла с 40% до 85% за первый месяц. Количество «забытых» сделок сократилось в 4 раза.
Технический стек и трудозатраты
Бот реализуется как отдельный микросервис (Python/Node.js) с постоянным соединением с Битрикс24 через вебхуки + REST API. Для хранения состояния диалогов — Redis или PostgreSQL.
| Компонент | Трудозатраты |
|---|---|
| Подписка на события CRM и базовая логика | 16-24 ч |
| NLP/OpenAI интеграция для суммаризации | 16-32 ч |
| Виджет внутри CRM-карточки | 16-24 ч |
| Обогащение данных из внешних API | 8-16 ч |
| Состояние диалогов, Redis | 8-16 ч |
| Деплой и мониторинг | 8-16 ч |







