Skip to content

Bitrix24

OPORA поддерживает Bitrix24 через incoming webhook (DIY-SMB, 80% use-cases) и OAuth2 app installation (marketplace-distributed workflows — отложено до реального demand’а).

Этот гайд — webhook-путь. За ~10 минут вы:

  1. Сгенерируете webhook в Bitrix24 на вашем портале
  2. Сохраните его в OPORA как secret
  3. Запустите workflow, который создаст lead при каждом incoming POST’е на webhook-URL OPORA
  1. Откройте ваш портал: https://<your>.bitrix24.ru
  2. Слева-внизу — «Приложения»«Разработчикам»«Другое»«Входящий вебхук»
  3. Задайте права доступа — для MVP-ноды достаточно:
    • crm (чтение и запись CRM: lead, deal, contact, company, task)
  4. Сохраните. Bitrix покажет URL вида https://<your>.bitrix24.ru/rest/<user_id>/<secret>/ — это ваш webhook-URL.
  1. В OPORA: SettingsSecrets+ New secret
  2. Name: bitrix24-webhook-main (любое имя, используется только в UI)
  3. Value: paste webhook-URL целиком (https://<your>.bitrix24.ru/rest/...)
  4. Save

OPORA зашифрует значение; в UI будет видна только маскированная версия. Handlers runtime получают plain-text через connection resolver — подробности в AGENTS.md.

3. Найдите или создайте агента

Section titled “3. Найдите или создайте агента”

В workspace dashboard’е — кнопка «Hire from template», выберите один из bitrix24-шаблонов:

  • «Lead qualifier» — incoming webhook с формы сайта → AI классифицирует → bitrix24.lead.create с UTM-полями
  • «Refund coordinator» — incoming ЮKassa refund → согласование owner’ом через approval → bitrix24.deal.update со статусом
  • «Weekly sales digest» — cron-trigger → bitrix24.crm.list за неделю → LLM-summary → Telegram-сообщение менеджеру

Wizard спросит в каком Bitrix24 провайдере работать (см. § 2) и какой шаблон развернуть. После — агент сразу виден, KPI-панель начинает заполняться как только пойдут runs.

Пустой агент + workflow в редакторе

Section titled “Пустой агент + workflow в редакторе”

Если шаблон не подходит:

  1. Dashboard → «Start from blank»
  2. Задаём имя агента + goal (что он должен делать human-readable текстом)
  3. Открывается editor: перетаскиваете ноды из палитры —
    • webhook.trigger (вход)
    • bitrix24.lead.create (выход)
    • между ними — ai.classify / ai.extract если нужно
  4. На ноде bitrix24.lead.create укажите ранее созданный secret (bitrix24-webhook-main) + поля: title, name, status_id, source_id, UTM-поля
  5. Save + Publish revision → агент активен

Webhook-URL OPORA для этого агента — открытый и непредсказуемый: https://app.opora.example/webhook/<uuid>.

Пример curl:

Terminal window
curl -X POST https://app.opora.example/webhook/<uuid> \
-H "Content-Type: application/json" \
-d '{"name":"Alice","email":"alice@example.com","utm_source":"yandex"}'

Через секунду в Bitrix24 появится лид; в OPORA → Runs — новый run со всей трассой (каждый шаг, каждый вызов к Bitrix, каждый input/output).

Ноды Bitrix24, доступные сейчас

Section titled “Ноды Bitrix24, доступные сейчас”
НодаЧто делаетScope
bitrix24.webhook.triggerПринимает incoming events от Bitrix24 app-webhook’аВходящая
bitrix24.lead.{create,update,get}CRUD по лидамCRM
bitrix24.deal.{create,update,get}CRUD по сделкамCRM
bitrix24.contact.{create,update,get}CRUD по контактамCRM
bitrix24.crm.listList-запрос с filter/select/order/paging по любой CRM-entityCRM
bitrix24.task.createСоздание задачиTasks

Не реализовано пока (отложено до demand’а): OAuth2 app flow, smart processes, company-entity CRUD, файлы на сделках.

401 от Bitrix при вызове из OPORA

Section titled “401 от Bitrix при вызове из OPORA”

Webhook-URL expired / revoked. В Bitrix: «Приложения» → «Разработчикам» → снова сгенерируйте вебхук + update secret в OPORA.

Проверьте в Bitrix: «Разработчикам» → «Другое» → «Исходящий вебхук» → URL указан правильный (https://app.opora.example/webhook/<uuid>), event подписан (например, ONCRMLEADADD).

  • amoCRM — аналогичная схема, если у вас amoCRM вместо Bitrix’а
  • API reference — если хотите вызывать OPORA из собственного backend’а без UI