Bitrix24
OPORA поддерживает Bitrix24 через incoming webhook (DIY-SMB, 80% use-cases) и OAuth2 app installation (marketplace-distributed workflows — отложено до реального demand’а).
Этот гайд — webhook-путь. За ~10 минут вы:
- Сгенерируете webhook в Bitrix24 на вашем портале
- Сохраните его в OPORA как secret
- Запустите workflow, который создаст lead при каждом incoming POST’е на webhook-URL OPORA
1. Включите webhook в Bitrix24
Section titled “1. Включите webhook в Bitrix24”- Откройте ваш портал:
https://<your>.bitrix24.ru - Слева-внизу — «Приложения» → «Разработчикам» → «Другое» → «Входящий вебхук»
- Задайте права доступа — для MVP-ноды достаточно:
crm(чтение и запись CRM: lead, deal, contact, company, task)
- Сохраните. Bitrix покажет URL вида
https://<your>.bitrix24.ru/rest/<user_id>/<secret>/— это ваш webhook-URL.
2. Сохраните webhook в OPORA
Section titled “2. Сохраните webhook в OPORA”- В OPORA:
Settings→ Secrets → + New secret - Name:
bitrix24-webhook-main(любое имя, используется только в UI) - Value: paste webhook-URL целиком (
https://<your>.bitrix24.ru/rest/...) - Save
OPORA зашифрует значение; в UI будет видна только маскированная версия.
Handlers runtime получают plain-text через connection resolver —
подробности в AGENTS.md.
3. Найдите или создайте агента
Section titled “3. Найдите или создайте агента”Из шаблона
Section titled “Из шаблона”В 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 в редакторе”Если шаблон не подходит:
- Dashboard → «Start from blank»
- Задаём имя агента + goal (что он должен делать human-readable текстом)
- Открывается editor: перетаскиваете ноды из палитры —
webhook.trigger(вход)bitrix24.lead.create(выход)- между ними —
ai.classify/ai.extractесли нужно
- На ноде
bitrix24.lead.createукажите ранее созданный secret (bitrix24-webhook-main) + поля:title,name,status_id,source_id, UTM-поля - Save + Publish revision → агент активен
4. Триггер workflow’а
Section titled “4. Триггер workflow’а”Webhook-URL OPORA для этого агента — открытый и непредсказуемый:
https://app.opora.example/webhook/<uuid>.
Пример curl:
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.list | List-запрос с filter/select/order/paging по любой CRM-entity | CRM |
bitrix24.task.create | Создание задачи | Tasks |
Не реализовано пока (отложено до demand’а): OAuth2 app flow, smart processes, company-entity CRUD, файлы на сделках.
Troubleshooting
Section titled “Troubleshooting”401 от Bitrix при вызове из OPORA
Section titled “401 от Bitrix при вызове из OPORA”Webhook-URL expired / revoked. В Bitrix: «Приложения» → «Разработчикам» → снова сгенерируйте вебхук + update secret в OPORA.
Trigger не сробатывает
Section titled “Trigger не сробатывает”Проверьте в Bitrix: «Разработчикам» → «Другое» → «Исходящий вебхук» →
URL указан правильный (https://app.opora.example/webhook/<uuid>), event
подписан (например, ONCRMLEADADD).
Связанное
Section titled “Связанное”- amoCRM — аналогичная схема, если у вас amoCRM вместо Bitrix’а
- API reference — если хотите вызывать OPORA из собственного backend’а без UI