Изменить участников и роли проекта с сохранением остальных
Робот «Изменить участников и роли проекта с сохранением остальных». Добавляет и исключает выбранных участников, меняет роли и защищает владельца проекта.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Для владельца действующего проекта и координатора команды. Позволяет адресно изменить участников и роли, сохранив неуказанных сотрудников и защитив владельца.
Что подготовить
Установите действие в каталоге приложения «CRM роботы 2.0 + AI», затем добавьте его в нужную точку автоматизации. Для чтения или изменения объектов нужен соответствующий доступ пользователя подключения. Идентификаторы берите из полей карточки или результатов предыдущих шагов: название объекта не заменяет его числовой ID.
Параметры и значения
| Поле в настройке | Тип | Обязательность и исходное значение |
|---|---|---|
| ID проекта | Целое число | Обязательное; значение по умолчанию не задано |
| Полный прежний состав ID:роль: JSON | Текст | Обязательное; значение по умолчанию не задано |
| Добавить ID:E/K: JSON | Текст | Необязательное; по умолчанию {} |
| Изменить роли ID:E/K: JSON | Текст | Необязательное; по умолчанию {} |
| Исключить ID: JSON | Текст | Необязательное; по умолчанию [] |
Поля, обозначенные JSON, заполняйте корректными массивами или объектами с двойными кавычками в строках. Подставляйте одно значение через штатный выбор данных редактора; не копируйте служебный идентификатор шага из другого шаблона.
Как использовать пошагово
- Укажите ID активного проекта. Выполнение должно идти от подключения владельца.
- Передайте полный актуальный состав картой ID:роль, например
{"21":"A","22":"K"}. - Добавление и смену ролей задайте отдельными картами ID:
E/K, исключение: массивом ID. - Для изменения роли участника 22 на модератора используйте
{"22":"E"}в смене ролей; остальные ненужные изменения оставьте пустыми. - После запуска проверьте подтверждение всех изменений и факт чтения итогового состава. При частичном результате остановитесь для сверки.
Учебный пример и ожидаемый результат
Проект 50: владелец 21 и участник 22. Ожидаемый состав {"21":"A","22":"K"}, новые роли {"22":"E"}. При совпадающем состоянии ожидается роль модератора у 22 и сохранение владельца 21. Все номера объектов в примере условные; замените их данными своего портала. Пример объясняет настройку, а не подтверждает выполненный запуск.
Какие результаты передать дальше
- Все изменения подтверждены: да/нет (Y/N).
- Участники с подтверждёнными изменениями: сотрудник, список.
- Итоговый состав прочитан: да/нет (Y/N).
- Итоговый состав: JSON: текст.
- Результаты шагов: JSON: текст.
В следующем действии откройте выбор данных и выберите результат этого робота по названию. Сначала проверьте статус выполнения; при ошибке передайте её пояснение на разбор и не используйте пустые значения как подтверждённый результат. Успех шага и положительный ответ на бизнес-проверку: разные условия.
Ограничения и исправление ошибок
До 100 участников в запросе изменений и до 1000 в полном составе. Владельца этот робот не меняет. Добавления и роли выполняются до исключений, после каждого шага читается команда. Общего отката и блокировки внешних изменений нет; непринятые приглашения не считаются участием.
Если доступ изменился, сначала проверьте объект под пользователем подключения и актуальность ID. Повторяйте действие после устранения причины. Для действий с записью предварительно сверяйте фактическое состояние: сообщение об ошибке само по себе не доказывает, что ни одна правка не сохранилась.
Как заполнять JSON-поля
Каждый блок ниже вставляется целиком в своё поле. Не добавляйте внешние кавычки вокруг всего массива или объекта. Учебные ID и названия замените фактическими данными.
Исключить ID: JSON
[]
Значения массива обозначают ID сотрудников вашего портала. Берите их из результата поиска сотрудников или выбранного сотрудника, не из ID сделки. В массиве нужны положительные целые числа без объектов и фамилий. В примере удалять никого не нужно, поэтому передан пустой массив []. Для удаления одного сотрудника задайте [22]; не заменяйте массив объектом {}.
Полный прежний состав ID:роль: JSON
{
"21": "A",
"22": "K"
}
Полный актуальный состав проекта объектом: строковый ID → A, E или K. В примере 21 владелец, 22 участник. Передавайте весь прочитанный состав, включая владельца, а не только изменяемых сотрудников. Получите данные непосредственно перед правкой из состава проекта. {} не заменяет полный состав действующего проекта, [] имеет неверную форму.
Добавить ID:E/K: JSON
{
"23": "K"
}
Объект новых участников: строковый ID → E или K. Пример добавляет сотрудника 23 участником. ID берите из поиска сотрудников или согласованной команды. {} допустим и означает отсутствие добавления; используется по умолчанию. Массив [] и роль A здесь неверны.
Изменить роли ID:E/K: JSON
{
"22": "E"
}
Объект смены ролей существующих участников: строковый ID → E или K. Пример переводит участника 22 в модераторы. ID должен входить в актуальный состав; владельца этим действием не меняют. {} допустим и оставляет роли без отдельной правки, по умолчанию; [] неверен.