Как подключить чат-бота к Bitrix24: руководство
Как подключить чат-бота к Bitrix24: архитектура, вебхуки, REST API, мэппинг полей, типовые сценарии и безопасность (152-ФЗ). Пошаговое руководство.
Автор: Александр Ожерельев, основатель NeoGraph · Опубликовано: 22.12.2025 (Обновлено: 17.05.2026)
Практическое руководство для разработчиков и интеграторов: как подключить чат-бот или AI-агента к Bitrix24, принимать события через вебхуки, работать с REST API, маппить поля и не нарушить 152-ФЗ. Внутри — схемы, примеры кода, чек-листы и типовые сценарии автоматизации.
TL;DR:
- Архитектура: Bitrix24 → Webhooks/REST API → Integration API → Чат-бот/AI-агент → RAG-индекс → Ответы с цитатами.
- Вебхуки: Подписка на события (лиды, сделки, задачи), проверка подписи, idempotency, очередь обработки.
- REST API: CRUD операции, фильтры, права доступа, rate limits, обработка ошибок.
- Мэппинг полей: Таблицы соответствий Bitrix24 ↔ чат-бот, валидация, трансформация данных.
- Типовые сценарии: 6 автоматизаций (первый ответ, приоритезация, авто-задачи, обогащение, реактивация, рекламации).
- Безопасность: 152-ФЗ (локализация, обезличивание), RBAC, журналы доступа, шлюз для внешних LLM.
Когда интеграция с Bitrix24 подходит
Подходит для:
- Автоматизация ответов на лиды (FRT, квалификация)
- Автоматизация задач и напоминаний
- Обогащение карточек лидов/сделок данными из BI/каталогов
- Реактивация «молчунов» (нет активности N дней)
- Обработка рекламаций по SLA
Не подходит для:
- Сценарии без доступа к Bitrix24 API
- Компании без Bitrix24 (рассмотрите SberCRM, 1C)
- Простые чат-боты без интеграций (достаточно правил)
Архитектура интеграции
Компоненты:
- Bitrix24 — CRM с публичным REST API и вебхуками (доступны в корпоративных тарифах).
- Integration API — наш бэкенд (Next.js/Node), точки
/webhooks/bitrix24и/api/bitrix24. - RAG-индекс — векторная база (Qdrant) для регламентов/прайсов/политик.
- Оркестрация — n8n для уведомлений, эскалаций и SLA-таймеров.
- Мониторинг — логи, метрики (FRT/AHT/конверсия), алерты.
1) События из Bitrix24: вебхуки и REST API
1.1. Вебхуки (рекомендуется)
Настройка вебхуков:
- В Bitrix24: Настройки → Разработчикам → Вебхуки → Создать вебхук.
- Выберите права доступа (минимум: лиды, сделки, задачи).
- Скопируйте URL вебхука (формат:
https://your-domain.bitrix24.ru/rest/1/webhook_code/).
Подписка на события:
// Подписка на создание лида
const subscribe = async (webhookUrl: string, event: string) => {
const response = await fetch(`${webhookUrl}event.bind`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
event: event, // 'ONCRMLEADADD'
handler: 'https://your-api.com/webhooks/bitrix24'
})
});
return response.json();
};
Обработка входящего вебхука:
// /app/api/webhooks/bitrix24/route.ts
import type { NextRequest } from "next/server";
import { verifySignature, enqueue } from "@/lib/bitrix24";
export async function POST(req: NextRequest) {
const body = await req.text();
const signature = req.headers.get("x-bitrix-signature") ?? "";
// Проверка подписи (если настроена)
if (!verifySignature(body, signature, process.env.BITRIX24_WEBHOOK_SECRET!)) {
return new Response("invalid signature", { status: 401 });
}
const event = JSON.parse(body);
await enqueue("bitrix24.events", event); // idempotency внутри очереди
return new Response("ok");
}
1.2. REST API (альтернатива вебхукам)
Если вебхуков нет:
- Используйте polling через REST API по
DATE_MODIFYс джиттером и лимитами. - Или iPaaS-коннекторы (Albato, Make) с источником Bitrix24 и действиями.
Пример polling:
// /cron/bitrix24-poll.ts — запускаем каждые 2–5 мин
import { listLeadsUpdatedSince } from "@/lib/bitrix24";
let cursor = new Date(Date.now() - 2*60*1000).toISOString();
export async function poll() {
const leads = await listLeadsUpdatedSince(cursor);
for (const lead of leads) {
//...обработка...
}
cursor = new Date().toISOString();
}
2) Мэппинг полей (базовый)
| Сущность | Поле Bitrix24 | Наше поле | Примечание |
|---|---|---|---|
| Lead | ID, DATE_CREATE, STATUS_ID, SOURCE_ID, ASSIGNED_BY_ID |
leadId, createdAt, stage, source, owner |
для SLA по первому ответу |
| Lead | NAME, LAST_NAME, PHONE, EMAIL, COMPANY_TITLE, COMMENTS |
contacts, company, notes |
маскируем ПДн в логах |
| Deal | ID, STAGE_ID, OPPORTUNITY, CURRENCY_ID, CLOSEDATE |
dealId, stage, amount, currency, deadline |
A/B по этапам |
| Task | ID, DEADLINE, TITLE, RESPONSIBLE_ID |
taskId, dueAt, title, assignee |
напоминания/эскалации |
| Message | DIRECTION, CHANNEL, BODY, TEMPLATE_ID |
channel, draft, template |
черновики писем с цитатами |
3) Примеры интеграции (Node/Next.js)
3.1. Обработка события → черновик ответа
// /jobs/onLeadEvent.ts
import { getLead, updateLead, createMessage } from "@/lib/bitrix24";
import { retrieveContext, draftReply } from "@/lib/agent";
export async function onLeadEvent(evt: any) {
if (evt.event !== "ONCRMLEADADD" && evt.event !== "ONCRMLEADUPDATE") return;
const lead = await getLead(evt.data.FIELDS_AFTER.ID);
const ctx = await retrieveContext({
topic: "pricing",
locale: "ru",
orgId: lead.ORG_ID
});
const draft = await draftReply({
lead,
ctx,
requireCitations: true
});
await createMessage(lead.ID, {
channel: "email",
body: draft.text,
citations: draft.citations, // ссылки/версии документов
template_id: draft.templateId
});
await updateLead(lead.ID, {
UF_CRM_AGENT_DRAFT: "Y",
COMMENTS: `${lead.COMMENTS}\n\n[Agent draft: ${draft.text.substring(0, 100)}...]`
});
}
3.2. Работа с REST API
// /lib/bitrix24.ts
export async function getLead(leadId: string, webhookUrl: string) {
const response = await fetch(`${webhookUrl}crm.lead.get`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id: leadId })
});
return response.json().result;
}
export async function updateLead(leadId: string, fields: any, webhookUrl: string) {
const response = await fetch(`${webhookUrl}crm.lead.update`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id: leadId, fields })
});
return response.json();
}
export async function createTask(fields: any, webhookUrl: string) {
const response = await fetch(`${webhookUrl}tasks.task.add`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ fields })
});
return response.json();
}
4) Типовые сценарии автоматизации
4.1. Первый ответ по лидам (FRT)
Цель: Сократить время первого ответа на 30–40%.
Реализация:
- Вебхук
ONCRMLEADADD→ агент генерирует черновик ответа «по регламенту» → запись в Bitrix24. - Менеджер проверяет/правит → отправка.
Метрики: FRT (медиана), доля ответов < 60 мин.
4.2. Приоритезация и автоназначение
Цель: Меньше «забытых» лидов, контроль SLA.
Реализация:
- По продукту/сегменту/сумме → автоназначение ответственного, создание задачи с дедлайном.
Метрики: Доля лидов без ответа > 24ч, просрочки SLA.
4.3. Автозадачи по этапам
Цель: Автоматизация рутины при смене этапов.
Реализация:
- Лид перешёл на этап «КП» → задача «Отправить КП», дедлайн + напоминания.
Метрики: Доля автоматизированных задач, время на рутину.
4.4. Обогащение карточки
Цель: BI/каталоги → маржинальность/остатки/статусы логистики прямо в Bitrix24.
Реализация:
- При создании/обновлении лида → запрос к BI/каталогам → обновление полей в Bitrix24.
Метрики: Доля обогащённых карточек, точность данных.
4.5. Реактивация «молчунов»
Цель: Вернуть в работу лидов без активности N дней.
Реализация:
- Триггер
no activity N days→ персональные шаблоны реактивации → задача менеджеру.
Метрики: Доля реактивированных лидов, конверсия реактивации.
4.6. Рекламации
Цель: Автоматизация обработки рекламаций по SLA.
Реализация:
- Авто-шаблоны ответов + чек-лист документов, эскалации по SLA.
Метрики: Время обработки рекламаций, SLA-просрочка.
5) RAG-поток для ответов «по регламенту»
- Инжест регламентов/прайсов/политик, хранение версий.
- Индексация в векторную базу + связи между процессами, ролями, политиками и KPI.
- Гибридный ретривал (BM25+dense) + rerank; собираем контекст 2–4 фрагмента.
- Генерация черновика с цитатами (doc_id/страница/версия).
- Если нет цитат/низкий скор — возвращаем «нет данных».
Подробнее → /blog/rag-on-docs/
6) Безопасность, 152-ФЗ и аудит
- On-prem/частный контур для документов; обезличивание ПДн в логах/корпусе.
- RBAC/ACL по отделам/каналам; минимизация токенов доступа к API.
- Логи запросов/ответов, версионирование промптов, idempotency для вебхуков.
- Ограничение IP-диапазонов и подпись вебхуков (если доступны).
Подробнее → /blog/152fz-ai-onprem/
7) Мониторинг и метрики
- Продуктовые: FRT (медиана), «без ответа >24ч», конверсия по этапам.
- Тех: доля успешно обработанных событий, ретраи, средняя латентность ответа, ошибки агентов.
- Экономика: минут/кейс, цена запроса (учёт cached input), ROI пилота (8 недель).
8) Пилот за 8 недель (шаблон плана)
- 1–2: цели/KPI, доступы к API, прототип вебхуков/пуллинга, индекс v1.
- 3–4: черновики ответов, приоритезация, A/B на 20–30% очередей.
- 5–6: тюнинг ретрива/шаблонов, включение напоминаний/эскалаций.
- 7–8: расширение трафика, замер, ROI, план масштаба.
FAQ
Нужны ли вебхуки? Желательно, но можно начать с polling + iPaaS (Albato, Make) и REST API.
Будут ли «галлюцинации»? Мы требуем цитаты и версии документов; без цитаты — «нет данных».
Как не нарушить 152-ФЗ? Обезличивание ПДн, on-prem/частный контур документов, шлюз для внешних моделей.
Подходит ли для всех тарифов Bitrix24? Вебхуки доступны в корпоративных тарифах; REST API — во всех тарифах.
Как обрабатывать rate limits? Используйте очереди, ретраи с экспоненциальным backoff, кэширование.
Связанные материалы
- Методология: AI‑аудит бизнес‑процессов: полный разбор — как мы диагностировали процессы
- Автоматизация CRM: Автоматизация CRM: как настроить и какие процессы автоматизировать — пошаговый план и 8 сценариев автоматизации
- Техника RAG: Как работает RAG на реальных документах SMB в РФ — схема интеграции
- Интеграция SberCRM: Интеграция чат-ботов с SberCRM: схема и типовые сценарии — похожий подход для SberCRM
- ROI: ROI чат-ботов за 8 недель: методика расчёта с шаблоном — расчёт окупаемости
- Услуги: Разработка чат-ботов — общая информация о чат-ботах
- Услуги: Внедрение ИИ в бизнес под ключ — полный цикл от аудита до запуска
- Услуги: Чат-бот для Telegram — разработка ботов в телеграм
- Услуги: Чат-бот для сайта — лидогенерация и поддержка на сайте
- Услуги: Стоимость чат-бота — цена, состав работ, калькулятор
- Bitrix24 услуги: Чат-боты для Bitrix24 — коммерческая страница
Готовы к быстрым результатам? • Пройти бесплатный AI-аудит → /services/ai-audit/ • Записаться на пилот → /services/pilot/