Ваш CRM-менеджер тратит 25 минут на заполнение карточки сделки после каждого звонка? Коммерческие предложения готовятся по шаблону, а конверсия проседает из-за однотипных писем? Это типичная картина в отделах продаж на Bitrix24, где рутина съедает время на реальные переговоры.
Мы — команда AI/ML-инженеров с более чем 5-летним опытом внедрения нейросетей в CRM. Наш подход: не просто навесить "AI-фичу", а встроить её в рабочие процессы так, чтобы менеджер не чувствовал барьера. Результат — сокращение операционных затрат на 80% и рост конверсии на 12%.
Почему стоит встроить AI-плагин прямо в Bitrix24?
Готовые AI-ассистенты (SalesGPT, Gong) не интегрируются с российской CRM. Bitrix24 — гибкая платформа: через REST API, Placement и Events можно добавить любую логику. Проблема: сложность разработки AI-слоя — от выбора LLM до оптимизации latency. Мы закрываем это четырьмя модулями:
| Модуль | Функция | Средняя экономия времени |
|---|---|---|
| Суммаризация звонков | Автоматическая запись транскрипции и извлечение ключевых полей | 25 мин → 5 мин (80%) |
| AI-подсказки | Рекомендации по следующему шагу на основе истории | 10 мин на сделку |
| Генерация КП | Создание коммерческого предложения по данным сделки | 20 мин за КП |
| Автообновление CRM | Изменение полей (бюджет, сроки) на основе переговоров | 5-10 ошибок в день → 0 |
Как мы внедряем AI-плагин?
Каждый плагин мы строим по модульной схеме. Стек: Python + Anthropic/OpenAI API, для деплоя — Docker + Bitrix24 Placement. Код обработчика вебхука:
# webhook_handler.py — обработка событий Bitrix24
from flask import Flask, request, jsonify
from anthropic import Anthropic
import requests
app = Flask(__name__)
client = Anthropic()
BITRIX_URL = "https://your-domain.bitrix24.ru/rest"
BITRIX_TOKEN = "your-webhook-token"
def bitrix_api(method: str, params: dict) -> dict:
"""Вызов Bitrix24 REST API"""
response = requests.post(
f"{BITRIX_URL}/{BITRIX_TOKEN}/{method}/",
json=params,
)
return response.json().get("result", {})
@app.route("/webhook/call-ended", methods=["POST"])
def on_call_ended():
"""Обработчик завершения звонка"""
data = request.json
call_id = data.get("data", {}).get("CALL_ID")
crm_entity_id = data.get("data", {}).get("CRM_ENTITY_ID")
# Получаем транскрипцию звонка
call_info = bitrix_api("voximplant.statistic.get", {"CALL_ID": call_id})
transcript = call_info.get("TRANSCRIPT", "")
if not transcript:
return jsonify({"status": "no transcript"})
# AI-суммаризация
summary = summarize_call(transcript)
# Записываем в CRM как активность
bitrix_api("crm.activity.add", {
"fields": {
"OWNER_TYPE_ID": 2, # 2 = Contact, 3 = Company
"OWNER_ID": crm_entity_id,
"TYPE_ID": 6, # Звонок
"SUBJECT": "Суммаризация звонка (AI)",
"DESCRIPTION": summary["text"],
"DESCRIPTION_TYPE": 1,
}
})
# Извлекаем ключевые данные и обновляем поля сделки
if crm_entity_id:
updates = extract_crm_fields(transcript)
if updates:
bitrix_api("crm.deal.update", {
"id": crm_entity_id,
"fields": updates,
})
return jsonify({"status": "ok"})
def summarize_call(transcript: str) -> dict:
"""Суммаризует транскрипцию звонка"""
response = client.messages.create(
model="claude-haiku-4-5",
max_tokens=1024,
system="""Суммаризируй переговоры по продажам.
Формат:
- Краткое резюме (2-3 предложения)
- Ключевые договорённости
- Следующие шаги
- Возражения клиента""",
messages=[{
"role": "user",
"content": f"Транскрипция звонка:\n{transcript}"
}]
)
return {"text": response.content[0].text}
def extract_crm_fields(transcript: str) -> dict:
"""Извлекает данные для обновления полей CRM"""
import json
response = client.messages.create(
model="claude-haiku-4-5",
max_tokens=512,
messages=[{
"role": "user",
"content": f"""Извлеки данные из разговора для CRM.
Верни JSON: {{
"TITLE": "название сделки если упоминалось",
"OPPORTUNITY": число (бюджет если упоминался),
"COMMENTS": "важные заметки"
}}
Если поле не упоминалось — не включай его.
Разговор: {transcript[:2000]}"""
}]
)
text = response.content[0].text
try:
return json.loads(text[text.find("{"):text.rfind("}") + 1])
except Exception:
return {}
UI Placement — встраивание в карточку сделки
// placement.js — встроенный виджет в карточку CRM
BX24.init(function() {
// Кнопка "AI-анализ" в карточке сделки
BX24.placement.bind('CRM_DEAL_DETAIL_TAB', {
title: 'AI Помощник',
onClick: function() {
showAIPanel();
}
});
});
async function generateCommercialProposal(dealId) {
// Получаем данные сделки
const deal = await BX24.callMethod('crm.deal.get', { id: dealId });
// Запрос на генерацию КП
const response = await fetch('/ai/generate-proposal', {
method: 'POST',
body: JSON.stringify({ deal: deal.result }),
headers: { 'Content-Type': 'application/json' }
});
const result = await response.json();
// Вставляем КП в поле описания
await BX24.callMethod('crm.deal.update', {
id: dealId,
fields: { COMMENTS: result.proposal }
});
}
Генерация коммерческого предложения
@app.route("/ai/generate-proposal", methods=["POST"])
def generate_proposal():
deal = request.json.get("deal", {})
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=2048,
system="""Ты — менеджер по продажам B2B компании.
Создавай профессиональные коммерческие предложения на основе данных сделки.""",
messages=[{
"role": "user",
"content": f"""Создай КП для клиента.
Данные сделки:
- Название: {deal.get('TITLE')}
- Клиент: {deal.get('COMPANY_ID')}
- Сумма: {deal.get('OPPORTUNITY')} {deal.get('CURRENCY_ID')}
- Комментарии: {deal.get('COMMENTS', '')}
Структура КП: приветствие, понимание задачи, предлагаемое решение, выгоды, стоимость, следующий шаг."""
}]
)
return jsonify({"proposal": response.content[0].text})
Какие модели LLM оптимальны для разных задач?
Выбор модели критичен для баланса скорости и качества. Для суммаризации звонков мы используем Claude Haiku — он в 3 раза быстрее Sonnet и дешевле в 5 раз, а качество извлечения ключевых полей падает менее чем на 5%. Для генерации КП, где важна глубина и персонализация, применяем Claude Sonnet или GPT-4o. Внутренние тесты показали: при одинаковом бюджете на API, связка Haiku + Sonnet даёт на 40% больше обработанных звонков, чем использование одной дорогой модели.
Практический кейс: отдел продаж 15 менеджеров (из нашей практики)
Клиент — дистрибьютор IT-оборудования. Каждый менеджер тратил 30–40 минут после звонка на заполнение CRM и составление резюме. Конверсия отправленных КП — 18% (слишком шаблонные).
Мы внедрили три модуля: суммаризацию звонков, автообновление полей сделки и генерацию КП. После двух недель использования:
- Время на пост-обработку звонка: 30 мин → 5 мин (снижение операционных затрат на 83%)
- Конверсия отправленных КП: 18% → 30% (выигрыш за счёт персонализации)
- Ошибки при заполнении полей (бюджет, дата) — 12 в день → 0
- Менеджеры стали успевать на 3 переговора больше в день
Руководитель отдела продаж: «Мы ожидали экономии времени, но не ожидали такого роста конверсии. Теперь предложения действительно цепляют клиентов».
Что входит в работу
- Аудит текущих бизнес-процессов в Bitrix24
- Проектирование архитектуры AI-модуля (выбор LLM, настройка промптов, схемы RAG)
- Разработка вебхуков и виджетов Placement
- Интеграция с телефонией (VoxImplant, Mango Office)
- Настройка генерации КП под вашу продуктовую линейку
- Тестирование на реальных данных (не менее 50 транзакций)
- Публикация в Marketplace или установка на ваш сервер
- Документация по эксплуатации и обучение администраторов
Архитектура решения: как это работает изнутри
Система состоит из трёх слоёв:
- Bitrix24 Integration Layer — REST API, Placement, Events для связи с CRM.
- AI Orchestrator — Python-микросервис, который маршрутизирует запросы к LLM, управляет контекстом и промптами.
- LLM Backend — пул моделей (Haiku, Sonnet, GPT-4o), доступных через единый API с балансировкой нагрузки и fallback.
Вся инфраструктура контейнеризирована и может быть развёрнута в вашем облаке или on-premise.
Процесс работы
- Аналитика (1–2 дня): изучаем схему сделок, поля, события. Определяем точки внедрения AI.
- Проектирование (2–3 дня): выбираем модели, рисуем архитектуру, согласовываем сценарии.
- Разработка (3–7 дней): пишем код, встраиваем виджеты, настраиваем вебхуки.
- Тестирование (2–3 дня): прогоняем на исторических данных, фиксим ошибки, оптимизируем latency до p99 < 2s.
- Деплой и обучение (1–2 дня): выкатываем в продуктив, обучаем администраторов, передаём документацию.
Сроки ориентировочно
| Этап | Срок |
|---|---|
| Базовая интеграция (суммаризация + автообновление) | от 5 до 10 дней |
| + Генерация КП | от 7 до 12 дней |
| + UI-виджеты и кастомные сценарии | от 10 до 18 дней |
| + Публикация в Marketplace | от 7 до 14 дней (зависит от ревью) |
Итоговая стоимость рассчитывается индивидуально под ваш процесс. Оставьте заявку — мы бесплатно оценим проект и предложим оптимальное решение.
Мы гарантируем качество: сертифицированные инженеры Bitrix24, опыт более 5 лет, более 20 успешных интеграций. Наши решения проходят code review и нагрузочное тестирование. Свяжитесь с нами, чтобы получить консультацию и увидеть демо на ваших данных.







