Skip to content

Human Tasks

Human Task — это решение или ввод данных, которых автоматизация ждёт от человека. Одна задача может появиться в веб-интерфейсе, мессенджере или другом подключённом канале, а ответ возвращается в процесс в одном формате.

Уровни интерфейса

L1 basic

Базовые поля, текст и действия. Такая задача отображается даже обычным последовательным диалогом.

L2 conditional

Видимость, доступность и обязательность полей зависят от предыдущих ответов. Условия описываются JSONLogic. Если канал не поддерживает их нативно, автор процесса обязан заранее выбрать поддерживаемый fallback.

L3 custom

Задача использует зарегистрированный компонент. У компонента есть отдельная версия, список поверхностей, а также JSON Schema входа и ответа.

Fallback

  • web_app_button — открыть защищённую веб-форму;
  • sequential_messages — собрать поля последовательными сообщениями;
  • reject_surface — не использовать несовместимую поверхность.

Платформа проверяет это до публикации процесса по capabilities, объявленным surface provider. Ядро не содержит специальных правил для Telegram или другого конкретного продукта.

Неизменяемые версии

Изменение типа создаёт новую версию. Каждая уже созданная задача хранит замороженную копию документа, response schema, tier, fallback и точной версии custom component. Обновление типа не ломает задачи, ожидающие ответа.

Работа в интерфейсе

Откройте Автоматизации, выберите процесс и перейдите во вкладку Решения. Там находятся только запросы, без ответа на которые процесс не может продолжить работу. Если канал не поддерживает форму нативно, кнопка Открыть форму ведёт прямо на это решение в Life OS.

Для агента

  1. interactions_get_instructions;
  2. interactions_surface_catalog;
  3. при необходимости interactions_register_component;
  4. interactions_define_task_type;
  5. interactions_create_task.

Для n8n агент передаёт source_type: n8n.workflow, $workflow.id как source_id и $execution.id как source_run_id. Уведомления и журнальные сообщения не создаются как Human Tasks.

Несовместимость нужно исправлять выбором поверхности или fallback, а не обходом валидации.

Документация Life OS