Кейсы Digital for Sales: использование приложений для Битрикс24

Как в роботах Битрикс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 нужно идти по правильной ветке.
  • указать REST-метод: tasks.task.get
  • передать параметры запроса (пример логики):
  • {"taskId": {{ID}}, "select": ["ID","UF_CRM_TASK"]}
  • и прописать JSONPath:
Если нужно забрать значения поэлементно (как массив):
$.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-интеграции.