Согласовать набор CRM-привязок конкретного дела
Добавляет и исключает указанные связи дела с карточками CRM, сохраняя остальные.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Робот полезен для администратора CRM, который согласует связи дела с несколькими карточками. Письмо или звонок видно не в той карточке, а при исправлении легко потерять нужные связи. Робот добавляет и исключает только явно перечисленные привязки, сохраняя остальные.
Что делает и когда применять
Добавляет и исключает указанные связи дела с карточками CRM, сохраняя остальные.
Принимает ID дела и JSON-списки добавляемых и исключаемых карточек с entityTypeId и entityId. Подходит также для писем. Основная карточка сохраняется; удаление её связи запрещено. Новые связи создаются до удаления старых. При ошибке добавления удаление не начинается. Возвращает фактические связи и итог каждой операции; общего отката и блокировки параллельных правок нет.
Что подготовить
Нужен установленный робот из приложения «CRM роботы 2.0 + AI» и право на настройку автоматизации нужной CRM-воронки или шаблона бизнес-процесса. Пользователю, от имени которого работает приложение, должны быть доступны выбранные CRM-элементы и нужное действие с ними.
Получите ID конкретного дела и проверьте его основную карточку. Подготовьте JSON-массивы объектов entityTypeId и entityId; основную связь удалять нельзя.
Как настроить и использовать
- Откройте автоматизацию нужной сущности и выберите стадию, на которой нужен робот «Согласовать набор CRM-привязок конкретного дела». В шаблоне бизнес-процесса добавьте одноимённое действие.
- Получите ID конкретного дела и проверьте его основную карточку. Подготовьте JSON-массивы объектов entityTypeId и entityId; основную связь удалять нельзя.
- Заполните ID дела, Добавить привязки: JSON, Исключить привязки: JSON. Для рабочего сценария подставьте значения полей документа или результаты предыдущих действий вместо учебных данных ниже.
- Проверьте обязательные поля и варианты выбора в таблице настроек. Сохраните действие и свяжите его результаты с дальнейшими условиями процесса.
- Выполните пробный запуск на отдельном учебном элементе. Сначала проверьте статус и пояснение ошибки, затем содержательный результат и ветку, выбранную следующим действием.
Параметры робота
Имена полей ниже совпадают с настройками действия. Значения из таблицы относятся к самому роботу; результаты предыдущих шагов выбирайте через подстановку значения в редакторе.
| Поле в настройках | Что передать | Обязательность и исходное значение |
|---|---|---|
ID дела (ACTIVITY_ID) |
Формат: целое число. | Обязательно. Значение по умолчанию в настройках не задано |
Добавить привязки: JSON (ADD) |
Формат: текст. | Необязательно. По умолчанию: [] |
Исключить привязки: JSON (REMOVE) |
Формат: текст. | Необязательно. По умолчанию: [] |
Учебный пример
Пример показывает способ настройки на вымышленных данных и ожидаемый смысл результата; это не отчёт о запуске на вашем портале.
- ID дела (
ACTIVITY_ID):900. - Добавить привязки: JSON (
ADD):[{"entityTypeId":3,"entityId":601}]. - Исключить привязки: JSON (
REMOVE):[].
Добавить привязки: JSON (ADD)
Копируйте в это поле только содержимое блока, без названия поля и внешней обёртки со всеми настройками. Здесь нужен JSON-массив в квадратных скобках. Пустой массив [] означает отсутствие элементов; объект {} его не заменяет. Каждый элемент представляет один объект с показанными ниже ключами. Сохраняйте написание ключей. Учебные ID замените реальными ID выбранных карточек, дел, шаблонов или сотрудников; их можно передать из результатов предыдущего поиска. Коды полей берите из настроек вашей CRM. Объект связи содержит ровно смысловую пару: entityTypeId, целочисленный тип CRM, и entityId, положительный ID карточки этого типа. В примере 3 обозначает контакт, 601 его учебный ID. Для нескольких связей добавьте отдельные объекты в тот же массив. [] оставляет список добавлений пустым.
[
{
"entityTypeId": 3,
"entityId": 601
}
]
Исключить привязки: JSON (REMOVE)
Копируйте в это поле только содержимое блока, без названия поля и внешней обёртки со всеми настройками. Здесь нужен JSON-массив в квадратных скобках. Пустой массив [] означает отсутствие элементов; объект {} его не заменяет. Учебные ID замените реальными ID выбранных карточек, дел, шаблонов или сотрудников; их можно передать из результатов предыдущего поиска. Коды полей берите из настроек вашей CRM. У каждой исключаемой связи укажите entityTypeId и entityId так же, как в добавляемых связях. [] означает, что удалять ничего не нужно. Нельзя исключить основную карточку дела. Сначала проверьте текущие привязки, не подставляйте сюда ID самого дела.
[]
Если дело 900 доступно, к нему добавится контакт 601, а прежние связи останутся. Фактический итог должен показать эту привязку. При ошибке добавления робот не начинает удаления из второго списка.
Какие данные возвращает и что делать дальше
| Результат | Какое значение получает следующий шаг |
|---|---|
ID дела (activityId) |
целое число |
Фактические привязки: JSON (bindingsJson) |
текст |
Итоговые привязки прочитаны (bindingsKnown) |
да/нет |
Итог операций: JSON (operationsJson) |
текст |
Все изменения подтверждены (allApplied) |
да/нет |
Статус выполнения (status) |
да/нет |
Пояснение ошибки (error) |
строка |
Продолжайте процесс только после «Все изменения подтверждены» и «Итоговые привязки прочитаны». При частичном результате изучите «Итог операций: JSON» и перечень фактических связей до следующей попытки.
Ошибки и ограничения
Проверяйте результат действия до следующего изменения карточки. Ошибка доступа, неверный идентификатор и отсутствие найденного элемента требуют разных веток процесса. Не подставляйте нулевой или пустой результат как идентификатор существующего документа.