Dynamic human task assignment allows tasks to be assigned at runtime using variable expressions, adapting to process logic and contextual data.

You can now assign human tasks dynamically in a process by using variable expressions that resolve to a team or role at runtime. This eliminates the need for static, predefined assignments and allows task routing to adapt based on process logic and contextual data.

Supported task type

Dynamic task assignment is supported for the following task types:
  • Form
  • Approval
  • Document Validation
  • Process

Supported variable expressions

Method Description
UserGroup:teamNameToUserGroup

Expression example:

lt;StrTeamName>.UserGroup:teamNameToUserGroup$

Converts team name provided as string to usergroup
$UserGroup:roleNameToUserGroup$

Expression example:

lt;StrRoleName>.UserGroup:teamNameToUserGroup$

Converts role name provided as string to usergroup

Configure dynamic task assignment in process

  1. Create a new process in the Process editor.
  2. Add a human task such as Form, Approval, Process, or Document Validation.
  3. In the properties panel, navigate to Task assignment > Specific user group and choose Variable option.
  4. Enter a variable expression $UserGroup:teamNameToUserGroup$ or $UserGroup:roleNameToUserGroup$.
  5. Configure the expression to resolve to a valid team name or role name at runtime.
  6. Save the process and check it in to the public workspace.
At runtime, the system evaluates the expression using business data and contextual inputs, then dynamically assigns the task to the appropriate team or role.
Note: The team or role referenced by the variable expression must already exist in the system. If the resolved team name or role name is invalid, the task will not be assigned to any user group and will instead remain assigned to the default user who started the process.

Example: Finance approval process

This example shows how to configure a Form task that is dynamically assigned to a finance team based on a runtime variable.

Prerequisites

  • Create a Form with at least one input element, such as a Text Box, Text Area, or Rich Text Editor.
  • The following teams and users must exist in Automation Co-Pilot before you begin:
    • Finance_Team — includes Process_user2 and Process_user3
    • IT_Team — includes Process_user1, who will begin the process
Set up the process
  1. Create a new process named Finance Approval and add the form you created as the initial start step.
  2. Add a Form task and assign the same form to it.
  3. In the Form task properties, navigate to the Task Assignment section.
  4. Select the Variable option.
  5. Enter the following expression:
    amp;ProcessRequest{input}{RichTextEditor0}.UserGroup:teamNameToUserGroup$
    .
  6. Save the process and check it in to the public workspace.
  7. To assign and execute the process, log in as a Co-Pilot Admin and assign the process to IT_Team so that Process_user1 can execute it.
  8. Log in as Process_user1 and start the process.
  9. During execution, ensure the process logic supplies the correct team name. Enter Finance_Team as the user group input so the Form task is dynamically assigned to that team.

    The Form task is now assigned to the Finance_Team user group.

  10. To complete the process, log in as Process_user2 or Process_user3.
  11. Navigate to the Tasks list — the dynamically assigned task is visible.
  12. Click the task, self-assign it, complete it, and submit it.