Найти общее свободное окно участников
Робот «Найти общее свободное окно участников». Находит ближайшее непрерывное время встречи с учётом календарей участников и переданного рабочего графика.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Для организатора рабочей встречи нескольких сотрудников. Ищет общее непрерывное свободное время внутри разрешённого графика, вместо ручного перебора календарей.
Что подготовить
Установите действие в каталоге приложения «CRM роботы 2.0 + AI», затем добавьте его в нужную точку автоматизации. Для чтения или изменения объектов нужен соответствующий доступ пользователя подключения. Идентификаторы берите из полей карточки или результатов предыдущих шагов: название объекта не заменяет его числовой ID.
Параметры и значения
| Поле в настройке | Тип | Обязательность и исходное значение |
|---|---|---|
| ID участников (JSON-массив) | Текст | Обязательное; значение по умолчанию не задано |
| Начало проверки с часовым поясом | Дата и время | Обязательное; значение по умолчанию не задано |
| Конец проверки с часовым поясом | Дата и время | Обязательное; значение по умолчанию не задано |
| Рабочие интервалы процесса (JSON) | Текст | Обязательное; значение по умолчанию не задано |
| Продолжительность встречи в минутах | Строка | Обязательное; значение по умолчанию не задано |
Поля, обозначенные JSON, заполняйте корректными массивами или объектами с двойными кавычками в строках. Подставляйте одно значение через штатный выбор данных редактора; не копируйте служебный идентификатор шага из другого шаблона.
Как использовать пошагово
- Передайте уникальные ID участников и разрешённые рабочие интервалы с
start/end. - Укажите начало и конец горизонта поиска с часовым поясом.
- Задайте требуемую длительность встречи в минутах.
- Проверьте признак найденного окна и возвращённые начало/конец в UTC.
- Передайте окно отдельному действию создания встречи. Перед созданием занятость может измениться, поэтому результат поиска не считайте бронью.
Учебный пример и ожидаемый результат
Разрешён рабочий интервал 09:00–18:00. Для участников 21 и 22 время 10:00–11:00 занято, а после 11:00 есть общий час. Для поиска от 10:00 на 60 минут ближайший подходящий результат может начинаться в 11:00 при отсутствии других пересечений. Все номера объектов в примере условные; замените их данными своего портала. Пример объясняет настройку, а не подтверждает выполненный запуск.
Какие результаты передать дальше
- Общее окно найдено: да/нет (Y/N).
- Начало UTC: дата и время.
- Конец UTC: дата и время.
- Непрерывно доступно секунд: строка.
- Недостаёт непрерывных секунд: строка.
В следующем действии откройте выбор данных и выберите результат этого робота по названию. Сначала проверьте статус выполнения; при ошибке передайте её пояснение на разбор и не используйте пустые значения как подтверждённый результат. Успех шага и положительный ответ на бизнес-проверку: разные условия.
Ограничения и исправление ошибок
От 1 до 20 участников, горизонт проверки до 31 суток; до 1000 событий участника и 5000 суммарно. Рабочий график содержит до 1000 непересекающихся интервалов в пределах 366 суток. Неполные сведения занятости дают ошибку, а не свободный слот. Пустой график допустим и не даёт окна. Вся длительность должна поместиться непрерывно внутри графика и горизонта. Результат: предложение времени, без создания встречи, резервирования и гарантии доставки приглашений.
Если доступ изменился, сначала проверьте объект под пользователем подключения и актуальность ID. Повторяйте действие после устранения причины. Для действий с записью предварительно сверяйте фактическое состояние: сообщение об ошибке само по себе не доказывает, что ни одна правка не сохранилась.
Как заполнять JSON-поля
Каждый блок ниже вставляется целиком в своё поле. Не добавляйте внешние кавычки вокруг всего массива или объекта. Учебные ID и названия замените фактическими данными.
ID участников (JSON-массив)
[
21,
22
]
Значения массива обозначают ID сотрудников вашего портала. Берите их из результата поиска сотрудников или выбранного сотрудника, не из ID сделки. В массиве нужны положительные целые числа без объектов и фамилий. Нужно от 1 до 20 уникальных ID. Пустой массив не подходит; занятость каждого участника должна быть подтверждена.
Рабочие интервалы процесса (JSON)
[
{
"start": "2026-10-15T09:00:00+03:00",
"end": "2026-10-15T12:00:00+03:00"
},
{
"start": "2026-10-15T13:00:00+03:00",
"end": "2026-10-15T18:00:00+03:00"
}
]
Наружный уровень: массив рабочих интервалов. Каждый объект содержит обязательные строковые start и end: начало и конец с часовым поясом. Пример исключает обед 12:00–13:00. Порядок допустим любой, но интервалы не должны пересекаться, повторяться или иметь нулевую длину. До 1000 интервалов в пределах 366 суток. Пустой [] допустим как пустой график; {} не является календарём. Источник: согласованный график процесса либо результат предыдущего шага, который собрал именно такие интервалы. Праздники заранее удалите из графика, автоматической загрузки календаря портала нет.