Ваш 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 та навантажувальне тестування. Зв'яжіться з нами, щоб отримати консультацію та побачити демо на ваших даних.







