Интеграция AI в Битрикс24 через AI Gateway: вебхуки и REST
Как подключить AI к Битрикс24: входящие вебхуки REST для чтения и записи CRM, обработка лидов и писем через OpenAI-совместимый API AI Gateway на своём сервере-посреднике.
Битрикс24 не ходит в сторонние API сам — интеграция строится через посредника: ваш сервер получает данные из CRM по входящему вебхуку REST, отправляет их в модель AI Gateway и пишет результат обратно тем же REST. Так автоматизируют разбор лидов, классификацию обращений и черновики ответов на письма. Всё на generic HTTP, без привязки к конкретным модулям.
Подготовка
В Битрикс24 создайте входящий вебхук (Разработчикам → Другое → Входящий вебхук) с правами на нужные сущности CRM — вы получите URL вида https://ваш-портал.bitrix24.ru/rest/1/КОД/. На стороне сервера понадобится ключ AI Gateway sk-aigate-… и базовый URL https://ai-gatewey.ru/v1. Оба секрета — в переменных окружения.
pip install openai requestsРеализация
- Настройте клиент и доступ к порталу
Один клиент OpenAI SDK на AI Gateway и базовый URL вебхука Битрикс24 из окружения:
pythonpythonimport os, requestsfrom openai import OpenAIB24 = os.environ["BITRIX_WEBHOOK_URL"].rstrip("/") # .../rest/1/КОДai = OpenAI(base_url="https://ai-gatewey.ru/v1",api_key=os.environ["AIGATE_API_KEY"],) - Обёртка над моделью
Функция, которая по тексту обращения возвращает нужный результат — здесь короткую тему лида для маршрутизации:
pythonpythondef classify(text: str) -> str:resp = ai.chat.completions.create(model="deepseek/deepseek-v4-flash",messages=[{"role": "system", "content": "Определи тему обращения одним словом: продажи, поддержка, жалоба, спам."},{"role": "user", "content": text},],)return resp.choices[0].message.content.strip() - Чтение и запись CRM через REST
Читаем лид методом
crm.lead.get, прогоняем комментарий через модель и дописываем результат обратно методомcrm.lead.update:pythonpythondef handle_lead(lead_id: int):lead = requests.get(f"{B24}/crm.lead.get", params={"id": lead_id}).json()["result"]comments = lead.get("COMMENTS", "")topic = classify(comments)requests.post(f"{B24}/crm.lead.update", json={"id": lead_id,"fields": {"COMMENTS": comments + f"\n\n[AI] Тема: {topic}"},}) - Запуск обработки
Вызывайте
handle_leadиз своего эндпоинта, куда Битрикс24 шлёт исходящий вебхук на событие, или по расписанию для новых лидов. Расход по токенам виден в кабинете AI Gateway.pythonpythonhandle_lead(42)
Какие модели подойдут
Для классификации лидов и черновиков ответов на письма хватает быстрой недорогой модели; сложные разборы можно направить на флагман:
Частые вопросы
Нужен ли отдельный сервер-посредник?
Да. Битрикс24 не вызывает внешние API напрямую, поэтому между ним и AI Gateway стоит ваш код (сервер, serverless-функция или сценарий по расписанию). Он читает и пишет CRM по REST и обращается к модели.
Как запускать обработку автоматически при новом лиде?
Настройте в Битрикс24 исходящий вебхук или робота бизнес-процесса на событие (например, добавление лида) с адресом вашего эндпоинта. Эндпоинт принимает id сущности и вызывает обработчик.
Можно ли обойтись без Python?
Да — подход generic HTTP: те же REST-методы Битрикс24 и OpenAI-совместимый запрос к AI Gateway вызываются с любого стека (Node.js, PHP) или из no-code сценария n8n.