Skip to content

Task Assignment & Process Responsibility

In Lowgile, task assignment specifies which users, groups, or roles are responsible for completing each user task in a process flow.

Task assignment is configured in the Process design and determines who can receive and claim work at runtime. It does not determine whether the client can start a Process or perform another protected operation; those permissions are controlled separately through access control.

Task assignment controls:

  • Which participant owns each step in the Process design,
  • Which users are eligible to receive or claim a user task, and
  • Who becomes responsible for completing the task at runtime.

Task assignment and Process routing work together but perform different functions. Assignment determines who is responsible for a user task. Routes determine which task or event the Process reaches next.

Swimlanes group Process steps by participant and provide a visual representation of responsibility. Each lane’s Assignee expression identifies the users, groups, or roles that are eligible for the user tasks in that lane.

For example, the following expression assigns a swimlane to the Approver role:

return {
users: [],
groups: [],
roles: [This.$Roles.Approver],
}

Tasks placed in this swimlane become the responsibility of eligible users associated with the Approver role when the Process reaches them.

Attention

When a swimlane is assigned through a role, the intended users must be linked to that user role. Otherwise, the Process task and its associated screen will not be available to them at runtime.

Assignment rules refine how a user task is distributed at runtime. Depending on the Process requirements, an assignment rule can identify:

  • A specific user,
  • A role or group,
  • An assignee derived from Process data, or
  • A set of eligible users who can claim the task.

Use swimlanes to express stable process-level responsibility. Use an assignment rule when the runtime assignee must be selected more precisely or derived dynamically.

Principle

Task assignment belongs to the Process design, not to the task screen. A task screen provides the interface for completing the work after the Process assigns the user task.

When the Process reaches a user task, its swimlane and any applicable assignment rules determine the eligible users. If more than one user is eligible, one of those users can claim the task by selecting Assign Task to Myself.

Where the Process configuration permits reassignment, responsibility can also be transferred to balance workload or account for an unavailable user.

After the user completes the task, the selected route moves the Process forward. Responsibility is then evaluated for the next user task. For example:

  • The Approver swimlane owns the approval task.
  • A reject route sends the Process to a revision task in the Requester swimlane.
  • A resubmit route returns it to the approval task.
  • An approve route sends it to a quotation task in the Procurement swimlane.
Lowgile assign-task-to-myself button
Figure 1:

The Assign Task to Myself action for an eligible user

Task assignment and access control are both required in a working Process, but they answer different questions.

ConceptQuestion answered
Task assignmentWho is responsible for this user task?
Access controlMay the client perform this protected operation?

Insight

A user may have permission to start a Process without being responsible for its first user task. Conversely, assignment to a task does not by itself grant permission to invoke unrelated protected operations.

Check:

  • Has the Process reached the expected user task?
  • Is the task in the intended swimlane?
  • Does the swimlane’s Assignee expression return the intended user, group, or role?
  • Is the current user associated with that role or group?

Check:

  • Is the user eligible for or assigned to the task?
  • Does the user have the required access-control permission for the attempted operation?
  • If the task is claimable, has the user selected Assign Task to Myself?

Apply these concepts in the Purchase Request tutorial

Section titled “Apply these concepts in the Purchase Request tutorial”

In Build the Purchase Request Process Flow, you configure Requester, Approver, and Procurement swimlanes, assign each lane to its corresponding role, add the user tasks, and connect those tasks with routes. This demonstrates how assignment and routing combine to hand work from one role to the next.