Как подключить чат-бота к SberCRM: схема и сценарии
Как подключить чат-бота к SberCRM: архитектура, типовые сценарии, метрики качества и стоимость реализации. Пошаговая схема.
Автор: Александр Ожерельев, основатель NeoGraph · Опубликовано: 06.07.2025 (Обновлено: 17.05.2026)
В статье — проверенная схема подключения чат-ботов к SberCRM для внедрения ИИ в бизнес: как принимать лиды и события, где хранить знания для ответов, как подписывать вебхуки (и что делать, если их нет), как не нарушить 152-ФЗ и с чего начать пилот. В конце — ссылки на официальные страницы SberCRM API/портала разработчика и видео-гайд по настройке интеграций.
1) Архитектура интеграции (обзор)
Задача. Чат-бот должен: (а) получить событие из SberCRM, (б) забрать контекст (регламенты/прайсы), (в) сгенерировать черновик/рекомендацию с цитатами (если используется RAG), (г) записать результат в SberCRM, (д) залогировать метрики.
Компоненты:
- SberCRM — лиды/сделки/задачи/письма (публичный API и портал разработчика доступны).
- Integration API — наш бэкенд (Next.js/Node), точки
/webhooks/sbercrmи/api/sbercrm. - RAG-индекс (опционально) — векторная база (Qdrant) для регламентов/прайсов/политик (для умных чат-ботов с ИИ).
- Оркестрация — n8n для уведомлений, эскалаций и SLA-таймеров.
- Мониторинг — логи, метрики (FRT/AHT/конверсия), алерты (Prometheus/Grafana).
Где взять API: на официальной странице API SberCRM и в дайджесте о запуске портала разработчика/публичного API (с указанием, что есть публичный API и маркетплейс интеграций). Смотри раздел «Источники».
2) События из SberCRM: вебхуки и альтернативы
2.1. Вебхуки
Идеальный вариант — вебхуки на ключевые события (новый лид, изменение этапа, новая задача, письмо). Для каждого события на стороне интеграции:
- проверяем подпись (секрет),
- валидируем payload (JSON Schema),
- дебаунсим повторные доставки (idempotency key),
- кладём событие в очередь обработки.
2.2. Если вебхуков нет/ограничены
Используйте один из вариантов:
- Polling через API по
updated_at/since_idс джиттером и лимитами. - iPaaS-коннекторы (Albato и др.) с источником Webhooks и действиями SberCRM (поддерживаются сценарии интеграции).
- Формы сайтов → входящие интеграции SberCRM (есть видео-гайд по настройке входа/отладки).
На практике SberCRM активно развивает API и портал разработчика; если вебхуки недоступны для нужного объекта, начинайте с polling + iPaaS-коннектора для критичных событий (см. «Источники»).
3) Мэппинг полей (базовый)
| Сущность | Поле SberCRM (пример) | Наше поле | Примечание |
|---|---|---|---|
| Lead | id, created_at, status_id, source, assigned_to |
leadId, createdAt, stage, channel, owner |
для SLA по первому ответу |
| Lead | email, phone, company, comment |
contacts, company, notes |
маскируем ПДн в логах |
| Deal | id, stage_id, amount, currency, deadline |
dealId, stage, amount, currency, deadline |
A/B по этапам |
| Task | id, due_at, text, assignee |
taskId, dueAt, body, assignee |
напоминания/эскалации |
| Message | direction, channel, body, template_id |
channel, draft, template |
черновики писем с цитатами |
4) Примеры интеграции (Node/Next.js)
4.1. Входящий вебхук
// /app/api/webhooks/sbercrm/route.ts
import type { NextRequest } from "next/server";
import { verifySignature, enqueue } from "@/lib/sbercrm";
export async function POST(req: NextRequest) {
const signature = req.headers.get("x-sbercrm-signature") ?? "";
const body = await req.text(); // сохраняем сырой текст для подписи
if (!verifySignature(body, signature, process.env.SBERCRM_WEBHOOK_SECRET!)) {
return new Response("invalid signature", { status: 401 });
}
const event = JSON.parse(body);
await enqueue("sbercrm.events", event); // idempotency внутри очереди
return new Response("ok");
}
4.2. Обработка события → черновик ответа
// /jobs/onLeadEvent.ts
import { getLead, updateLead, createMessage } from "@/lib/sbercrm";
import { retrieveContext, draftReply } from "@/lib/agent";
export async function onLeadEvent(evt: any) {
if (evt.type !== "lead.updated" && evt.type !== "lead.created") return;
const lead = await getLead(evt.lead_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, { tags: [...lead.tags, "agent_draft"] });
}
4.3. Падение на polling (если вебхуков нет)
// /cron/sbercrm-poll.ts — запускаем каждые 2–5 мин
import { listLeadsUpdatedSince } from "@/lib/sbercrm";
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();
}
5) Сценарии автоматизации (что даёт эффект)
- Первый ответ по лидам (FRT). Черновик письма/сообщения «по регламенту» + быстрый подбор кейсов → −30–40% FRT.
- Приоритезация и автоназначение. По продукту/сегменту/сумме и SLA → меньше «забытых» лидов.
- Автозадачи по этапам. Перешёл на
Offer→ задача «Отправить КП», дедлайн + напоминания. - Обогащение карточки. BI/каталоги → маржинальность/остатки/статусы логистики прямо в SberCRM.
- Реактивация молчунов. Триггеры
no activity N days→ персональные шаблоны реактивации. - Рекламации. Авто-шаблоны ответов + чек-лист документов, эскалации по SLA.
6) RAG-поток для ответов «по регламенту»
- Инжест регламентов/прайсов/политик, хранение версий.
- Индексация в векторную базу + связи между процессами, ролями, политиками и KPI.
- Гибридный ретривал (BM25+dense) + rerank; собираем контекст 2–4 фрагмента.
- Генерация черновика с цитатами (doc_id/страница/версия).
- Если нет цитат/низкий скор — возвращаем «нет данных».
7) Безопасность, 152-ФЗ и аудит
- On-prem/частный контур для документов; обезличивание ПДн в логах/корпусе.
- RBAC/ACL по отделам/каналам; минимизация токенов доступа к API.
- Логи запросов/ответов, версионирование промптов, idempotency для вебхуков.
- Ограничение IP-диапазонов и подпись вебхуков (если доступны).
8) Мониторинг и метрики
- Продуктовые: FRT (медиана), «без ответа >24ч», конверсия по этапам.
- Тех: доля успешно обработанных событий, ретраи, средняя латентность ответа, ошибки агентов.
- Экономика: минут/кейс, цена запроса (учёт cached input), ROI пилота (8 недель).
9) Пилот за 8 недель (шаблон плана)
- 1–2: цели/KPI, доступы к API, прототип вебхуков/пуллинга, индекс v1.
- 3–4: черновики ответов, приоритезация, A/B на 20–30% очередей.
- 5–6: тюнинг ретрива/шаблонов, включение напоминаний/эскалаций.
- 7–8: расширение трафика, замер, ROI, план масштаба.
10) FAQ
Нужны ли вебхуки? Желательно, но можно начать с polling + iPaaS (Albato) и форм-интеграций (есть видео-гайд). Будут ли «галлюцинации»? Мы требуем цитаты и версии документов; без цитаты — «нет данных». Как не нарушить 152-ФЗ? Обезличивание ПДн, on-prem/частный контур документов, шлюз для внешних моделей. Подходит ли для SberCRM? Да: у SberCRM есть публичный API и портал разработчика; детали эндпоинтов/ограничений смотрите в их документации/аккаунте разработчика.
Источники
- API SberCRM — официальная страница о возможностях и кастомизации, публичные интеграции/маркетплейс: https://sbercrm.com/api
- Дайджест SberCRM: запуск портала разработчика и публичного API (майский релиз): https://sbercrm.com/blog/dajdzhest-portal-razrabotchika-i-publichnyj-api
- Видео: «Интеграции через API в SberCRM / входящая интеграция, отладка»: https://www.youtube.com/watch?v=wM5ko5aZQG4
- Sber Developers (портал): общая база знаний/инструкции по вебхукам и интеграциям экосистемы: https://developers.sber.ru/