Human
The Human task allows human interaction within a workflow. When execution reaches a Human task, Conductor assigns a form to a user or group and waits for it to be completed. After the form is submitted, the task records the input, and the workflow continues.
A Human task can be used for a variety of human-involved tasks, such as manual approval in an expense approval workflow or a user intake form in a hotel booking workflow.
To support human-involved tasks, the Human task can be used alongside the following:
- User Forms—A form builder to create user forms hosted on your Conductor cluster.
- Human Tasks API—A suite of APIs that manage the lifecycle of Human tasks connected to Conductor workflows.
Before adding a Human task to a workflow, you should complete the following:
- Create a user form in Orkes Conductor.
- Define the Human task in Conductor.
For a complete guide on how to use human-involved tasks, refer to the Human Task Orchestration guide.
Task parameters
When creating a workflow, you can configure the Human task with assignment and trigger policies.
- Assignment policy—Define who can fill out the form, how long the form is assigned to them, and what to do if the assignment times out.
- If not configured, the task is not restricted and can be completed by anyone.
- Multiple assignment policies can be added to create a multi-level assignment chain. If the first group fails to pick the assignment within the specified timeframe, the task will be escalated to the next assigned group.
- Additional assignment policies cannot be added if the preceding assignment policy has no specified expiry timeframe.
- Trigger policy—Trigger a workflow to start if the task state or details change.
Here are all the parameters for the Human task.
| Parameter | Description | Required/ Optional |
|---|---|---|
| displayName | The task display name, which will appear on the connected UI for the user. Use a unique human-friendly name (for example, “Loan Approval” or “Booking Form”). | Required. |
| userFormTemplate | The user form associated with the Human task. This form will be assigned when the Human task is executed. Note: If you haven’t created the user form, go to Definitions > User Forms and set it up. Refer to the documentation for creating user forms. | Required. |
| userFormTemplate. name | The name of the user form. | - |
| userFormTemplate. version | The version of the user form. | - |
| assignments | The assignment policy for the Human task. | Optional. |
| assignments. userType | The type of user or group that will be assigned to the task. Supported values:
| - |
| assignments. user | The user or group ID for the assignee. The value depends on the user type.
| - |
| assignments. slaMinutes | The duration in minutes for which the Human task will be assigned. Use 0 minutes for a non-expiring duration. | - |
| autoClaim | Enables automatic claiming of the Human task by the first assignee in the assignment policy list when the task execution starts. When set to true, the task moves directly to the In progress state without requiring manual claiming. Set to false to keep the task in Assigned state until manually claimed. | Optional. |
| assignmentCompletion Strategy | The action that will occur if the assignment policy times out. Supported values:
| Required. |
| taskTriggers | The trigger policy for the Human task. | Optional. |
| taskTriggers. triggerType | The condition that will trigger a specified workflow. Supported conditions are:
| - |
| taskTriggers. startWorkflowRequest | The details of the workflow to be triggered, including its name, version, input parameters, correlation ID, and task-to-domain mapping. | - |
In addition, you should also configure Human task’s inputParameters, which contain the fields taken from its associated user form. The configuration depends on the input source:
- If the field is to be filled up by the assignee, leave the value empty.
- If the field is read-only, set the value explicitly. You can use static values or dynamic variables to pass data from workflow inputs or previous task outputs.
The following are generic configuration parameters that can be applied to the task and are not specific to the Human task.
Other generic parameters
Here are other parameters for configuring the task behavior.
| Parameter | Description | Required/ Optional |
|---|---|---|
| optional | Whether the task is optional. If set to true, any task failure is ignored, and the workflow continues with the task status updated to COMPLETED_WITH_ERRORS. However, the task must reach a terminal state. If the task remains incomplete, the workflow waits until it reaches a terminal state before proceeding. | Optional. |
Task configuration
This is the task configuration for a Human task.
{
"name": "human",
"taskReferenceName": "human_ref",
"inputParameters": {
"__humanTaskDefinition": {
"assignmentCompletionStrategy": "LEAVE_OPEN",
"assignments": [
{
"assignee": {
"user": "<ENGINEERS>",
"userType": "CONDUCTOR_GROUP"
},
"slaMinutes": 10
}
],
"displayName": "Loan Approval",
"userFormTemplate": {
"name": "Approval",
"version": 1
},
"autoClaim": true,
"taskTriggers": [
{
"triggerType": "COMPLETED",
"startWorkflowRequest": {
"name": "email-notification-workflow",
"version": 1
}
}
]
}
},
"type": "HUMAN"
}
Task output
The Human task will return a JSON object containing the form response. For example:
{
"approve": "Yes",
"comments": "Research paper approved.",
"paperUrl": "<URL>"
}
Adding a Human task in UI
To add a Human task:
- In your workflow, select the (+) icon and add a Human task.
- Enter the Task display name, which will appear on the connected UI for the user. Use a unique human-friendly name, such as “Loan Approval” or “Booking Form”.
- Select the User form template previously created in Conductor and its Version.
- (Optional) Add an Assignment policy to control who can fill out the form.
- In Assignment policy, select (+) New assignment.
- In Assign, select the User type for the assignee(s) and enter the corresponding user or group ID.
- External User or Group—Select this if the assignees are managed and verified in an external system, and access an external UI to complete the task.
- Conductor User or Group—Select this if the assignees are Conductor users, and use Conductor UI to complete the task.
- Enter the SLA minutes to specify the assignment duration before it times out. Use 0 minutes to set a non-expiring assignment.
- Select Auto claim if you want the first assignee in the list to automatically claim the Human task when it starts execution.
- In After assignments, select the strategy for when the assignment times out.
- If needed, add another assignment to create a multi-level assignment chain.
- (Optional) Add a Trigger policy to start new workflows when the state of the Human task changes.
- In Trigger policy, select (+) New trigger.
- Select the Trigger event.
- Select the Workflow to start and its Version.
- (Optional) Select Additional inputs to configure the workflow’s input parameters, correlation ID, and task-to-domain mapping.
- If needed, add another trigger policy to start another workflow.
- In Input parameters, configure the form fields depending on the input source:
- If the field is to be filled up by the assignee, leave the value empty.
- If the field is read-only, set the value explicitly. You can use static values or dynamic variables to pass data from workflow inputs or previous task outputs.

Examples
Here are some examples for using the Human task.
Document approval
See an example of a document approval workflow in Orkes Conductor, where two reviewers evaluate a submission, and the workflow either sends an approval email or requests revisions based on their decisions.