Привет, Хабр. Меня зовут Саша Вартанян, я директор по маркетингу Битрикс24 и автор tg-канала «Вартанян в сингулярности и вокруг неё». Не разработчик, не тестироПривет, Хабр. Меня зовут Саша Вартанян, я директор по маркетингу Битрикс24 и автор tg-канала «Вартанян в сингулярности и вокруг неё». Не разработчик, не тестиро

Как я запилил Skill для подключения хайпового Openclaw к Битрикс24

2026/02/17 17:14
8м. чтение
Для обратной связи или замечаний по поводу данного контента, свяжитесь с нами по адресу crypto.news@mexc.com

Привет, Хабр. Меня зовут Саша Вартанян, я директор по маркетингу Битрикс24 и автор tg-канала «Вартанян в сингулярности и вокруг неё». Не разработчик, не тестировщик. Вообще не тот человек, от которого кто-нибудь ожидает постов на Хабр. Но я исторически читаю его уже лет 15 в ридонли, захотелось причаститься.

И вот я здесь, и у меня есть что-то реально полезное, чем я могу поделиться. Это skill для подключения AI-агентов (OpenClaw и не только) к Битрикс24 по уму, через REST API. Проект начался как эксперимент по вайб-кодингу выходного дня, но в конце стал адекватным решением, которое реально работает (сам удивился).

Расскажу, как это получилось, что внутри и почему это может быть полезно не только мне.

P.S. Статью писал на 90% я, а вот сам skill на 90% писали Codex и Claude. Поэтому не буду делать вид, что я мамкин программист – я просто иногда страдаю вайб-кодингом. Но думаю даже такая база, как создание скиллов для Openclaw, тоже будем кому-нибудь полезна

Предыстория: зачем маркетологу что-то вайбкодить

Последние пару лет я плотно слежу за AI-агентами – как простой пользователь и как человек, который думает, куда всё это катится с точки зрения бизнеса. Пишу много всяких философских эссе на эту тему, рассуждаю. Знаете, это та стадия, когда вот вроде всё понимаешь на уровне стратегии, а на уровне практики чувствуешь себя сапожником без сапог.

А потом в январе 2026-го случился OpenClaw. Не буду тут расписывать, что это за штука – все думаю, как минимум, сталкивались.

Ведь в чем весь прикол — OpenClaw тогда сможет стать, по сути, отдельным сотрудникам внутри Битрикс24. Его руками можно будет будет делать всякую крутую автоматизацию с использованием данных из других систем и сервисов, даже если у них еще нет готовых интеграций с Битрикс. Самое банальное — просто давать ему команды «подай-принеси» естественным языком, вроде «Поставь встречу на завтра на 15:00 с Сергеем Рыжиковым в любое свободное время». Либо что-нибудь помощнее – пробегаться по материалами на согласование, обогащать лиды данными или тянуть отчеты из веб-аналитики на нормальном русском языке.

У нас есть REST API с кучей методов, есть вебхуки, есть OAuth. А OpenClaw вполне нормально работает с форматом skills. Пазл вроде бы складывается.

Проблема одна: я не разработчик. Ну, не совсем. Очень давно я писал что-то типа компонентов для сайтов, если очень надо было. И я в целом понимаю, как работает REST API, потому что много лет рядом с продуктом. Но у меня нет привычки писать тесты, я туплю в консоли и спрашиваю у GPT команды каждый раз, когда они мне нужны. Короче, я прям недоджун.

Зато у меня есть Claude, Codex и упрямство.

Что такое skill и как он устроен

Для таких же как я гуманитариев – Skill в экосистеме OpenClaw (и совместимых агентов вроде Claude Code, Codex) – это по сути папка с файлами, которые AI читает, чтобы делать что-то не каждый раз с нуля, а по задуманным инструкциям. Ключевой файл – SKILL.md: в нем находятся YAML-метаданные плюс инструкции на естественном языке. К нему могут прилагаться справочные файлы, скрипты и что-нибудь еще.

Когда агент получает задачу, он смотрит в skill, находит там нужную информацию и действует по инструкции. Не ищет в интернете, не галлюцинирует название методов API, а берёт из проверенного источника.

Структура моего skill pack:

skills/bitrix24-agent/ SKILL.md # Точка входа: метаданные + инструкции references/ bitrix24.md # Auth, лимиты, ошибки, retry-логика packs.md # Индекс пакетов возможностей catalog-core.md # Методы: CRM, задачи, пользователи catalog-comms.md # Методы: чаты, боты, телефония catalog-automation.md # Методы: бизнес-процессы, роботы catalog-commerce.md # Методы: заказы, оплаты, каталог ... (ещё 8 каталогов) chains-core.md # Рецепты: цепочки вызовов для CRM chains-comms.md # Рецепты: цепочки для чатов ... scripts/ bitrix24_client.py # CLI-клиент с safety guardrails offline_sync_worker.py # Воркер для офлайн-событий agents/ openai.yaml # Конфиг для OpenAI-совместимых агентов

В моем случае основной вызов и общая идея в том, что агент не загружает всё разом. Он начинает с SKILL.md, который говорит «Вот твои возможности, вот индекс пакетов. Начни с core, остальное подключай по необходимости». Дальше – по запросу. Нужна работа с чатами? Подгружай catalog-comms.md. Нужна цепочка вызовов для создания сделки с привязкой контакта? Вот chains-core.md. И так далее.

Это принципиально важно. Контекстное окно – не бесконечное, а токены дорогие (сам напарывался). Если запихнуть в него всю документацию Битрикс24 REST API разом, агент начнёт тупить, путать методы и галлюцинировать параметры.

Capability Packs: зачем разбивать на пакеты

Полный REST API Битрикс24 – это сотни методов. Любому агенту бессмысленно знать их все одновременно. Поэтому я разбил всё на 12 пакетов:

Пакет

Что внутри

core

CRM (лиды, сделки, контакты), задачи, пользователи, события, batch

comms

Чаты, чат-боты, сообщения, телефония

automation

Бизнес-процессы, роботы, шаблоны

collab

Рабочие группы, соцсеть, лента

content

Диск, файлы, документооборот

boards

Скрам, канбан-доски

commerce

Заказы, оплаты, доставки, каталог товаров

services

Бронирование, календарь, учёт рабочего времени

platform

AI-движки, хранилище сущностей, BI-коннектор

sites

Лендинги, сайты, страницы

compliance

Согласия, электронная подпись

diagnostics

Проверка методов, скоупов, совместимости

Агент по умолчанию работает с core. Остальные пакеты подключаются явно – через CLI-параметр или переменную окружения:

# Только core (по умолчанию) python3 bitrix24_client.py crm.lead.list --params '{"select":["ID","TITLE"]}' # Core + чаты python3 bitrix24_client.py im.message.add \ --params '{"DIALOG_ID":"chat1","MESSAGE":"hello"}' --packs core,comms \ --confirm-write # Через переменную окружения export B24_PACKS="core,comms,automation"

Каждый каталог (например, catalog-core.md) – это таблица методов с кратким описанием, обязательными полями и скоупами. А chains-*.md – это рецепты: пошаговые цепочки вызовов для типовых сценариев. Например, «создать лида и сразу привязать к нему контакт» или «найти свободное время в календаре и создать встречу».

Для агента это как справочник по справочникам. Ему не нужно каждый раз изобретать последовательность API-вызовов – он берёт готовый рецепт и адаптирует под конкретный запрос.

Точка входа – bitrix24_client.py. Это обёртка над Rest с кучей встроенных ограждений. Агент сперва вызывает именно его, а не стучится в API напрямую.

Вот как выглядит простой read-вызов:

python3 bitrix24_client.py user.current --params '{}'

А вот запись – обратите внимание на --confirm-write:

python3 bitrix24_client.py crm.lead.add \ --params '{"fields":{"TITLE":"Demo Lead","NAME":"Agent"}}' \ --confirm-write

Без --confirm-write любой вызов на запись будет заблокирован. Это первый уровень защиты.

Второй уровень – двухфазное выполнение. Можно заставить агента сначала показать план, а выполнить только после отдельного подтверждения:

# Фаза 1: план python3 bitrix24_client.py crm.lead.add \ --params '{"fields":{"TITLE":"Plan demo"}}' \ --packs core \ --plan-only # Фаза 2: выполнение python3 bitrix24_client.py \ --execute-plan <plan_id> \ --confirm-write

Если хотите сделать это обязательным для всех записей:

export B24_REQUIRE_PLAN="1"

Что ещё есть:

Allowlist. Агент может вызвать только те методы, которые входят в подключённые пакеты. Метод не в пакете – отказ.

Idempotency-ключи. Защита от дублей при retry:

python3 bitrix24_client.py crm.lead.add \ --params '{"fields":{"TITLE":"Idempotent lead"}}' \ --confirm-write \ --idempotency-key "lead-source-123"

Rate limiter. Файловый, разделяемый между процессами:

export B24_RATE_LIMITER="file" export B24_RATE_LIMITER_RATE="2.0" export B24_RATE_LIMITER_BURST="10"

Это важно, потому что REST API Битрикс24 имеет лимиты на количество запросов. Если их превысить – получите 503. Rate limiter не даёт агенту «разогнаться» и упереться в ограничение.

Авторизация: webhook vs OAuth

Skill поддерживает два режима.

Webhook – для быстрого старта на одном портале. Создаёте вебхук в Битрикс24, указываете нужные скоупы, прописываете в .env:

export B24_DOMAIN="your-portal.bitrix24.ru" export B24_AUTH_MODE="webhook" export B24_WEBHOOK_USER_ID="1" export B24_WEBHOOK_CODE="your_secret"

OAuth – для мультипортальных сценариев и нормальной ротации токенов:

export B24_DOMAIN="your-portal.bitrix24.ru" export B24_AUTH_MODE="oauth" export B24_ACCESS_TOKEN="..." export B24_REFRESH_TOKEN="..." export B24_CLIENT_ID="..." exportB24_CLIENT_SECRET="..."

Пример: как это работает в жизни

Я пишу своему OpenClaw в Telegram:

Поставь встречу с дизайн-командой на любое свободное время 18 февраля, на час.

Что делает агент:

  1. Читает SKILL.md, понимает, что нужны пакеты core и services.

  2. Подгружает chains-services.md, находит рецепт «создание события в календаре».

  3. Вызывает calendar.event.get.nearest (или аналог – зависит от конфигурации) через bitrix24_client.py для поиска свободного окна.

  4. Формирует план: «Создать событие "Встреча с дизайн-командой" 18.02, 14:00–15:00».

  5. Показывает мне план в Telegram.

  6. Я подтверждаю.

  7. Агент выполняет calendar.event.add с --confirm-write.

Без открытия интерфейса, без перехода в календарь, без заполнения формы.

Другой пример ради кеков. Я отправил своего OpenClaw-ассистента в чат Битрикс24 пообщаться с Мартой – нашим встроенным AI-агентом. Они общались минут пять, что-то обсуждали, договаривались. Потом поставили задачу, мне. Два ИИ договорились между собой и поставили мне задачу.

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

  • «Какие новые лиды появились за последние сутки?» – агент делает crm.lead.list с фильтром по дате, возвращает список в чат.

  • «Напиши завтра в 9 утра Вове, чтобы он отправил отчёт» – агент ставит отложенное действие.

  • Обогащение карточек лидов: агент читает данные из CRM, делает AI-поиск по компании, дописывает информацию обратно.

Но на самом деле и это детский сад. Потому что обмазав Битрикс24 автоматизацией через AI с Openclaw можно воплощать в жизнь любые безумные сны про ваш бизнес, и это огонь!

MCP vs. Skill: почему нужно и то, и другое

Недавно у Битрикс24 появился MCP-сервер. Закономерный вопрос: зачем тогда отдельный skill?

Ответ: это другое.

MCP – протокол обнаружения. Агент через MCP может «разведать» доступные методы, поля, структуры данных. Это идеально для генерации кода и исследовательских запросов.

Skill – продакшен-рантайм. Агент не просто знает о методе, а знает, как его безопасно вызвать: с какими параметрами, в какой последовательности, с каким retry, с какими ограничениями.

Дисклеймер про безопасность

Сам skill вроде и спроектирован с упором на безопасность – чтобы он не наделал делов. Но AI-бот на базе OpenClaw с выходом в интернет и полными правами внутри основного Битрикс24 вашей компании – так себе идейка. Я предупредил.

Практический минимум:

  • Начинайте с тестового портала, не с боевого.

  • Вебхуку – минимальные права. Не нужна телефония - не давайте лишний доступ.

  • Токены и вебхуки – в переменных окружения, не в коде, не в чатах, не в репозитории.

  • Помните про prompt injection: данные из CRM (описания лидов, комментарии) могут содержать вредоносы. Агент может их интерпретировать как команды.

  • Безопасное развёртывание самого OpenClaw – отдельная тема.

Используйте на свой страх и риск. Проект создан в ознакомительных целях.

Что дальше

Проект лежит на GitHub и опубликован на ClawHub. Забирайте, но сильно не ругайте.

Если вы работаете с Битрикс24 и AI-агентами – вам точно должно понравиться. Спасибо за внимание, если где накосячил и что-то надо улучшить – пишите.

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу crypto.news@mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Исследование Grayscale видит Aave становящимся mainstream финансовым брендом

Исследование Grayscale видит Aave становящимся mainstream финансовым брендом

Институциональный интерес к протоколу Aave растет. Токен Aave показал положительную динамику сегодня после выхода двух значимых институциональных отчетов, которые дали благоприятную оценку
Поделиться
The Crypto Updates2026/04/11 15:42
YouTime.pro: превращение провала в сфере ухода на €2 миллиарда в масштабируемую инфраструктурную возможность

YouTime.pro: превращение провала в сфере ухода на €2 миллиарда в масштабируемую инфраструктурную возможность

Поскольку правительства по всему миру борются за поддержку быстро стареющего населения, одна структурная слабость в предоставлении услуг на дому остается в значительной степени невидимой и массовой
Поделиться
Techbullion2026/04/11 15:28
Little Pepe ($LILPEPE) приближается к распродаже 13-го этапа, собрав более 28 млн $ по мере приближения даты запуска

Little Pepe ($LILPEPE) приближается к распродаже 13-го этапа, собрав более 28 млн $ по мере приближения даты запуска

Пост Little Pepe ($LILPEPE) приближается к распродаже 13-го этапа с привлечением более 28 000 000 $ по мере приближения даты запуска появился на BitcoinEthereumNews.com. Little Pepe ($LILPEPE
Поделиться
BitcoinEthereumNews2026/04/11 14:55

Генезис USD1: 0% + 12% APR

Генезис USD1: 0% + 12% APRГенезис USD1: 0% + 12% APR

Новые пользователи: Стейкайте и получите до 600% APR