- 简介
- 入门指南
- 使用 Maestro BPMN 进行构建
- 使用 Maestro Case 构建
- Maestro Case 简介
- Maestro BPMN 与 Maestro Case 对比:何时使用 Case Management
- Maestro 案例生命周期:从事件触发到应用体验
- 使用 Maestro Case 构建第一个案例
- Build a Maestro Case with a coding agent (preview)
- 定义案例键(系统键与外部键)
- 建立任务 I/O 与回写契约
- 退出规则和早期阶段终止
- 主阶段和次阶段建模
- 从 Data Fabric 触发案例
- 实施阶段级角色和权限
- 设置 SLA 和自动升级规则
- 配置返工循环(重新进入)
- Configuring and testing the Case Manager Agent (preview)
- 案例管理器输入和输出合同
- Maestro Case 组件字典
- 使用 Maestro Flow 进行构建
- 集成
- 运营
- 监控
- 正在优化
- 参考信息
Human node for pausing a process and assigning a task for human review, approval, or input.
The Human node pauses the process and assigns a task to a person, then resumes the process once they complete it. Use it when a process needs human review, approval, or input before it can continue.
When to use Human vs Decision
Use the Human node when a person needs to review information and respond before the process continues. Use the Decision node when the branch can be resolved automatically from existing data, without human involvement.
The Human node routes on the assignee's chosen outcome through its own output handles. Reach for a Decision when the branch follows from existing data instead of a person's choice.
Human node types
The task presented to the human can be created via two mechanisms: Quick form and Action app.
快速表单
Build and debug a lightweight form directly on the node. You define the fields the assignee sees, the inputs they need to provide and the outcomes they can choose. This is the default and the best fit for approvals and straightforward data collection.
Action app
Action apps provide a richer, fully customized interface for the task assigned to the human. They can be built visually in UiPath App Studio or Studio Web, or as a Coded Action App—a custom React or Angular application. A coded app is selected under Action App, and its inputs are mapped at configuration time. Refer to About Coded Action Apps.
| 快速表单 | Action app | |
|---|---|---|
| UI defined | On the node, versioned with the process | Separate app, deployed to Orchestrator |
| Reuse across processes | Yes, by copying and pasting JSON | 是 |
| 成本 | No additional units, no Apps dependency | Requires app deployment |
| 布局 | Allows multi-column, multi-width layouts, Field behavior | Full control |
| Data at render time | Bound process variables/expressions only | SDK: assets, buckets, connections, Data Fabric, trigger processes |
| 测试 | Inline debug from canvas | Build → deploy → run |
| Build skills required | 无 | App Studio, or React/Angular for coded Apps |
Start with a Quick form. Move to an Action app when you need to reuse the same interface across processes, show data the process does not already carry, or build a UI a form cannot express.
Building the app itself is covered in the Action Apps documentation. From this point onward, this page covers the Quick form task type. For a hands-on walkthrough, refer to Add human approval to a workflow.
配置
| 字段 | 必填 | 默认 | 描述 |
|---|---|---|---|
| Assignment criteria | 是 | Single User | Controls how the Human node picks the person who gets the task. Choose between Single User, All users, Round Robin, Workload, or Custom. |
| 架构 | 是 | 提交结果 | Form structure, including fields the assignee sees or fills in and outcomes they can select. Refer to Schema for the full structure. |
| 交付渠道 | — | Set at tenant level | Read-only on the node — the available channels are inherited from tenant-level configuration and shown as disabled checkboxes. Refer to Delivery channels for details. |
| 任务标题 | 否 | 无 | 受分配人在其任务列表中显示的标题。 |
| 优先级 | 否 | 无 | Action Center 中显示的优先级:低、中或高。 |
| 标签 | 否 | 无 | 用于组织任务的逗号分隔标签,例如finance,approval 。 |
Assignment criteria
Assignment criteria controls which person or people receive the task. Selecting a criterion changes the second field to match — a user picker for Single User, a group picker for the group-based criteria.
| 条件 | Who gets the task | 用于以下情况 |
|---|---|---|
| Single User | One named person. | A specific individual owns this decision — a named approver, a single reviewer |
| All users | Every member of the group at once. The first person to complete it closes the task for everyone. | You care about speed over ownership. Whoever is free picks it up |
| Workload | The one group member with the fewest open tasks | You want the queue spread evenly across a team |
| Round Robin | Group members in turn, cycling through the membership list | You want each member to take an equal share regardless of how fast they work |
| 自定义 | The member with the fewest open tasks, chosen from a list of users you supply at runtime rather than from a group's full membership. | Eligibility changes per run — skipping people who are out of office, off shift, or outside the right role or region. |
要求和限制
Workload and Round Robin require a local group. Active Directory groups are rejected for both. Use Single User or All users if your assignees are in an Active Directory (AD) group.
In debug, group assignment does not work from a personal workspace. Debug runs create the task in your personal workspace, which group members cannot access — so the task is created but stays Unassigned, and no notifications go out. This is expected, not a defect. Deploy the solution to a shared folder to test group assignment properly. Single-user assignment works normally in debug.
Errors you may see:
| 错误 | 意义 |
|---|---|
NoUsersFoundInLocalGroup | The selected group has no members. |
NoEligibleUsersFoundInGroup | Every member was excluded, so there is nobody left to assign to. |
架构
The Schema defines what the assignee sees and what they return to the process. It has two parts: fields and outcomes.
字段
The Schema can also be edited directly as JSON. Refer to Quick Form tasks for the full JSON schema reference. In the Form view, each field has these settings:
| 设置 | 操作 |
|---|---|
| 标签 | The display name shown to the assignee. |
| 类型 | Controls validation and how the input renders. Available types: Text, Number, Decimal number, Date, Date and time, Yes or no, Single select, Multi-select, Array, File. |
| Binding | An expression that pre-populates the field, for example $vars.requestAmt. Accepts any workflow expression, not only a variable reference. |
| 可编辑 | The padlock next to the value. Locked means the assignee can read the value but not change it. |
| 变量 | Shown as an (x) badge next to the field name. Auto-derived from the Label for Output and In/Out fields, exposing the value as a named process variable in addition to $vars.<nodeName>.output.<fieldId>. Not present on Input fields. |
Field directions
字段将数据带入和带出任务。每个字段都有一个方向。
- 输入字段是被分配者的只读上下文,绑定到流程值,例如
$vars.start.output.employeeName。 - 输出字段由受分配人填写并返回给流程。
- “输入”/“输出”字段具有双重功能:它们向受分配人显示作为起点的流程值,受分配人可以在值返回到流程之前对其进行编辑。
A field's direction is not a separate setting. It is the result of two controls: whether the field is bound determines if it arrives pre-filled, and whether it is unlocked determines if the assignee can change it.
| Binding | Padlock | 方向 | Assignee sees | Editable & returned |
|---|---|---|---|---|
| 集合 | Locked 🔒 | 输入 | The bound value | 否 |
| 集合 | Unlocked 🔓 | In/Out | The bound value | 是 |
| 无 | Unlocked 🔓 | 输出 | An empty field | 是 |
| 无 | Locked 🔒 | Not valid | An empty field | 否 |
结果
结果是指受分配人用于完成任务的按钮,例如“批准”和“拒绝” 。默认架构有一个“提交”结果。第一个结果标记为主要操作。
每个结果都将自己的输出句柄添加到节点。当受分配人选择结果时,流程将从该结果句柄继续,因此您可以将每个结果路由到不同的路径。请参阅在结果上分支。
Delivery channels
Tasks are delivered to:
- Action Center
- 电子邮件
- Slack
- Microsoft Teams
Delivery channels can only be modified at the tenant level, from Admin settings. The checkboxes on the node are disabled and reflect the current tenant configuration.
Slack and Microsoft Teams require an Integration Service connection. Refer to Actionable notifications for connector setup.
输出
在$vars.<nodeName>.output访问节点的输出,在$vars.<nodeName>.status访问选定的结果。
输出
任务结果:一个对象,用于保存受分配人提交的值,由输出字段键入。使用$vars.<nodeName>.output.<fieldId>读取单个字段。该对象还带有设置为所选结果的Action属性。
状态
受分配人选择的结果,例如Approve 。按此值创建分支以路由流程。
根据结果创建分支
Each outcome you define adds an output handle to the Human node. When the assignee completes the task, the process continues from the handle for the outcome they selected. Connect each outcome handle to the node that should run for that path. You don't need a Decision node to split on the outcome.
Human
├─ Approve → continue processing
└─ Reject → notify the requester and terminate
Human
├─ Approve → continue processing
└─ Reject → notify the requester and terminate
使用$vars.<nodeName>.output.<fieldId>读取任何下游节点中已提交的字段:
// In a Script node on one of the outcome paths
return $vars.approval.output.comment;
// In a Script node on one of the outcome paths
return $vars.approval.output.comment;
如果您需要在表达式中使用所选结果,则也可以将其用作$vars.<nodeName>.status 。
常见问题
受分配人未出现任务
请验证受分配人(无论是用户还是组)是否正确以及是否有权访问 Action Center。
An output value is missing
Confirm the field is defined in the Schema with direction Output.
结果路由到错误路径
Confirm each outcome's output handle is connected to the node you intend. Each outcome you define in the schema has its own handle on the Human node.
注意
要在没有真实受分配人的情况下进行测试,请使用模拟输出来模拟status和output响应。有关操作步骤,请参阅向工作流添加人工审批。
- 如果受分配人是一个组,则该组的任何成员都可以声明并完成任务。
- For a richer interface than a form, back the task with an Action app instead of a Quick form.