Как в роботах Битрикс24 получить ufCrmTask из tasks.task.get: правильный JSONPath и порядок роботов
2026-01-18 20:31
В автоматизациях Битрикс24 часто нужно понять, к каким CRM-сущностям привязана задача: например, чтобы отправить уведомление с ссылкой на сделку, проставить отметку в карточке CRM или запустить дальнейшую логику по конкретной сущности. Для этого в методе tasks.task.get полезно поле ufCrmTask, где лежит массив привязок к CRM.
Проблема пользователя
На практике пользователь настраивает REST-вызов, получает id задачи и другие базовые поля, но нужное ufCrmTask «как будто не приходит» — в результате робот не может подставить значение в уведомление или комментарий, и кажется, что REST-робот не отрабатывает.
Почему стандартных инструментов не хватает
Визуальная настройка робота в Битрикс24 упирается не в сам REST-метод, а в корректное извлечение данных из ответа. Ошибка на один символ в JSONPath (регистр букв, неверный уровень вложенности) приводит к пустому результату — даже если запрос выполнен правильно и данные реально есть в ответе.
Решение: корректируем JSONPath под структуру ответа
Метод tasks.task.get возвращает данные задачи не «плоско», а внутри объекта task. Поэтому путь вида $[*].id может случайно «сработать» для простых проверок, но для ufCrmTask нужно идти по правильной ветке.
Если нужно забрать значения поэлементно (как массив):
$.task.ufCrmTask[*]
Если нужен весь массив целиком:
$.task.ufCrmTask
Ключевой момент — учитывать, что поле называется именно ufCrmTask и лежит внутри task, а не на верхнем уровне ответа.
Важный нюанс проверки: уведомление/комментарий ставим после REST-робота
Даже при правильном JSONPath можно «не увидеть» результат, если робот с уведомлением (или комментарием) запускается параллельно с REST-роботом. В этом случае уведомление срабатывает раньше, чем данные успевают сформироваться, и выглядит так, будто REST-робот не работает. Правильная схема — последовательное выполнение, где уведомление идет следующим шагом после REST-действия.
Результат
После корректировки JSONPath на $.task.ufCrmTask[*] нужное поле стало извлекаться корректно, а при перестановке роботов на последовательный запуск проверка через уведомление начала стабильно показывать ожидаемый результат.
Вывод
Если в роботах Битрикс24 вы не можете получить ufCrmTask из tasks.task.get, почти всегда причина в двух вещах: неверный уровень вложенности в JSONPath и параллельный запуск шага-проверки. В таких задачах удобно опираться на REST API - методы РЕСТ Битрикс24 и JSON в роботах и БП: оно закрывает типовой сценарий «вызвать REST → вытащить значение JSONPath → использовать в следующем роботе» без лишней разработки, но с той же точностью, что и ручные REST-интеграции.