Интеграции

Интеграция AI в Битрикс24 через AI Gateway: вебхуки и REST

Как подключить AI к Битрикс24: входящие вебхуки REST для чтения и записи CRM, обработка лидов и писем через OpenAI-совместимый API AI Gateway на своём сервере-посреднике.

2 минуты чтения

Битрикс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

Реализация

  1. Настройте клиент и доступ к порталу

    Один клиент OpenAI SDK на AI Gateway и базовый URL вебхука Битрикс24 из окружения:

    import os, requests
    from openai import OpenAI
    
    B24 = os.environ["BITRIX_WEBHOOK_URL"].rstrip("/")  # .../rest/1/КОД
    ai = OpenAI(
        base_url="https://ai-gatewey.ru/v1",
        api_key=os.environ["AIGATE_API_KEY"],
    )
  2. Обёртка над моделью

    Функция, которая по тексту обращения возвращает нужный результат — здесь короткую тему лида для маршрутизации:

    def classify(text: str) -> str:
        resp = ai.chat.completions.create(
            model="deepseek/deepseek-chat",
            messages=[
                {"role": "system", "content": "Определи тему обращения одним словом: продажи, поддержка, жалоба, спам."},
                {"role": "user", "content": text},
            ],
        )
        return resp.choices[0].message.content.strip()
  3. Чтение и запись CRM через REST

    Читаем лид методом crm.lead.get, прогоняем комментарий через модель и дописываем результат обратно методом crm.lead.update:

    def 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}"},
        })
  4. Запуск обработки

    Вызывайте handle_lead из своего эндпоинта, куда Битрикс24 шлёт исходящий вебхук на событие, или по расписанию для новых лидов. Расход по токенам виден в кабинете AI Gateway.

    handle_lead(42)
Ключ AI Gateway и URL вебхука Битрикс24 — секреты: держите их в переменных окружения сервера-посредника, а не в коде и не на клиенте. URL входящего вебхука даёт доступ к CRM, поэтому выдавайте ему минимально необходимые права и не публикуйте.

Какие модели подойдут

Для классификации лидов и черновиков ответов на письма хватает быстрой недорогой модели; сложные разборы можно направить на флагман:

МодельВвод, ₽/1МВывод, ₽/1МКонтекст
DeepSeek: DeepSeek V331125128K
OpenAI: GPT-5.4 Mini118705400K
Anthropic Claude Haiku Latest157784200K
Актуальные цены каталога AI Gateway за 1 млн токенов. Все модели →

Частые вопросы

Нужен ли отдельный сервер-посредник?

Да. Битрикс24 не вызывает внешние API напрямую, поэтому между ним и AI Gateway стоит ваш код (сервер, serverless-функция или сценарий по расписанию). Он читает и пишет CRM по REST и обращается к модели.

Как запускать обработку автоматически при новом лиде?

Настройте в Битрикс24 исходящий вебхук или робота бизнес-процесса на событие (например, добавление лида) с адресом вашего эндпоинта. Эндпоинт принимает id сущности и вызывает обработчик.

Можно ли обойтись без Python?

Да — подход generic HTTP: те же REST-методы Битрикс24 и OpenAI-совместимый запрос к AI Gateway вызываются с любого стека (Node.js, PHP) или из no-code сценария n8n.

AI в Битрикс24 — начните с ключа AI Gateway

Получить ключ