#Hand work to a person with a user task
A user task puts a form into one person's My tasks, waits until they complete it, and hands what they entered to the rest of the process.
#What happens when the process reaches it
sequenceDiagram participant P as Process participant T as My tasks (Execution) actor U as Assignee P->>P: Work out the assignee and prefill the form P->>T: The task appears for the assignee P-->>U: "New task" email (unless switched off) U->>T: Open, fill in, complete T->>P: Form data under the task's element id P->>P: Continue with the next step
The task appears only in the My tasks list of the person it is assigned to. Its title is the task's Display title, or else its name. Nobody else sees it, and there is no shared queue for a team.
#Configure a user task
Select the task and open User task configuration in the properties panel:
| Field | What it does |
|---|---|
| User type | How the assignee is chosen: User for one named person, Context to work it out from the process data |
| User | The person, when the type is User |
| User (expression) | An expression that gives the assignee's user id, when the type is Context — for example the id an earlier step returned |
| Form | The form the person fills in. Required — build it on the process's Forms tab |
| Display title | Optional title of the task in My tasks. It may be an expression, such as the order number |
Once a form is selected, more groups appear:
- Form data input — values the form opens with. Add the fields you want to prefill and give each an expression. Without any, fields whose key matches data already stored under this task's id are prefilled from it.
- Option data — for a select, radio, checklist or taglist field whose options come from the process rather than from a fixed list. Each such field needs an entry here.
- Display control and Input control — conditions that show or hide a field, or make it read-only, while the person fills in the form.
See Forms for building the form itself.
#Give the task to several people
Switch on Enable multi-instance in the Multi-instance group to create one task per item of a list:
- Collection type: User group — one task for every member of a user group. This is the way to address a team.
- Collection type: Context variable — one task per item of a list from the process data.
The completion rule decides when the step is done: at the first completion, when all are complete, or after a given number of completions. The tasks that are still open are then withdrawn.
⚠️ With a context variable, the Assignee expression is not used. Each task goes to the
fixed User if one is set, and otherwise to the list item itself — which must be a user
id, or an object with an id or userId.
With Sequentiell, the tasks come one at a time: the next appears once the one before is completed.
⚠️ Some labels of this group are German whatever the language of the screen: Sequentiell, Collection Quelle and Abschlussbedingung — and, for a user group, Nutzer (Ausdruck). See Run a step once per item.
#What the task hands on
When the person completes the task, the process continues at once. Under the task's element id it finds:
- every form field, by its key —
Activity_review.approved; __display, the same fields with their labels and, for options, the label that was picked instead of its value.
In a multi-instance task, the results are a list of the completed tasks. With the first or a number of completions, it holds only the tasks that were completed.
#Notifications
When a task is created, the assignee gets an email that links straight to it. People can switch this off in their profile, under Email on new task.
⚠️ The email is in German, whatever the language of the screen, and if the task has no display title it is named by the element's id.
#What a user task cannot do
- ❌ Claim or reassign. A task stays with the person it was created for. To reach a team, use a multi-instance task over a user group.
- ❌ Deadlines and reminders. There is no due date, and a timer boundary event on a user task is not available.
- ⚠️ A missing form. If the form is renamed or deleted after it was picked, validation does not notice and the process deploys; the task then shows "This task has no form — confirm it with the submit button.", but it cannot be completed. See Build a form.
- ⚠️ Server-side checks. What is entered is checked by the form in the browser, not again when it arrives. Rules that must hold belong in a gateway condition after the task.
#What validation checks
A user task needs a form and an assignee type, plus the user or the expression that type asks for, and an option-data entry for every field that takes its options from the process. The messages are shown in German — see Check that a process can run.
