Skip to main content
Version: 1.22.3

Auto Assignment

Depending on your needs and business processes, you can assign tasks to agents in two ways:

  • manually by specifying the values of the Assignment group and Assigned user fields.
  • using the task auto assignment engine. The engine allows you to automate task assignments by various criteria, defined by conditions and assignment types, and implement business logic before a task is assigned. Tasks auto assignment allows you to balance employee workload and create different rules for different kinds of tasks.
tip

Role required: admin.

Manual assignment

The "out-of-the-box" solution has preconfigured restrictions for assigning users or groups depending on the values of relevant fields. The reference restrictions for Assignment group and Assigned user fields in the Task and ITSM Task tables are defined within the dynamic filters. These filters are stored in the Dynamic Filter Option (sys_filter_option_dynamic) table. From the ITSM Task table, the restrictions are inherited by the Incident, User Query, Problems, Service Request, and Change Request tables.

Dynamic filterTableDescription
List of users based on assigned groupTaskIf you specify an assignment group, you can assign only an employee who belongs to this group in the Assigned user field.
If you do not specify an assignment group, you can select any employee record in the Assigned user field.
List of groups based on assigned userTaskIf you specify an assigned user, you can only select the group the user belongs to in the Assignment group field.
If you do not specify an assigned user, you can select any group in the Assignment group field.
List of ITSM_agent on assigned groupITSM TaskIf you specify an assignment group, you can select only an employee that is in this group and has the admin or ITSM_agent role in the Assigned user field.
If you do not specify an assignment group, you can select any employee that is in this group and has the admin or ITSM_agent role in the Assigned user field.

Create an assignment rule

To create a new assignment rule, complete the steps below:

  1. Navigate to Auto Assignment → New Rule.
  2. Click New and fill in the fields.
  3. Click Save or Save and exit to apply the changes.
caution

Keep in mind that a task auto assignment is only triggered by creation of a new record. The auto assignment rules cannot be configured to handle record update events. For example, the auto assignment does not work when the state or any other field value changes.

Auto Assignment Rule form fields

FieldMandatoryDescription
NameYSpecify the assignment rule name.
DescriptionNAdd a description of the assignment rule.
TableYSpecify the table extending from the Task table and containing the objects to assign (like incidents, requests, and so on).
Assignment typeYSpecify the assignment type. Available options:
  • Custom – allows you to define assignment logic more flexible, including scripts. For example, a custom rule with specific conditions can assign a particular user that is competent for such a task.
  • Load Balancer – allows you to assign tasks to people that are least loaded so far within the group specified. For example, John Doe is already processing three tasks. He cannot take another one, so the current task is automatically assigned to Barbara Wilson who is processing two tasks. Thus, no employees within this team are overloaded with tasks.
  • Round Robin – allows you to assign tasks to employees within the specified group interchangeably: one after another in a queue. For example, if John Doe got a task this time, the next task is assigned to Barbara Wilson.
Assigning to inactive userNSelect the system response options if a user who the task should be assigned to is inactive. The available choice options:
  • Restrict assigning
  • Display warning
  • Ignore
WarningYSpecify a warning message. The default value is "Task is assigned to inactive user". This field only appears if the Display warning option is selected in the Assigning to inactive user field.
ConditionYDefine the conditions to meet before the assignment rule is triggered.
Use the condition builder to configure a filter that suits your needs. You can create complex AND and OR filters with more than one condition in one filter.
If you need to configure a general rule (for example, to assign all tasks to a specified employee), use a workaround by specifying a common condition like: ID is not empty
Assigned groupYSpecify a group that is responsible for this kind of tasks.
If several groups can work on a task, add a relevant condition, for example: [Assigned Group] is [X]
Then the auto assignment rule selects users from the X group (defined in this Assigned group field), if this X group is selected in a task record.
When a responsible group is assigned, the Assigned user field becomes non-mandatory.
Assigned userYSpecify a person that is responsible for this kind of tasks.
This field only appears when the Custom option in the Assignment type field is selected.
When a responsible user is assigned, the Assigned group field becomes non-mandatory.
ActiveNSelect this checkbox to activate this rule.
Use scriptNSelect this checkbox to specify the script that implements the advanced assignment logic. You can script actions for assigning users and/or groups.
This checkbox only appears when the Custom option in the Assignment Type field is selected.
WatcherNReference to a business rule containing the assignment logic (conditions, groups, and so on). This rule is automatically created when the form is saved. The relevant field is also populated with the business rule ID automatically.
You can manage this business rule later in an appropriate section (System Settings → Business Rules).
Group scriptNSpecify the script that implements an advanced logic for a group assignment.
This field appears when the Use script checkbox is selected.
User scriptNSpecify a script that implements an advanced logic for a user assignment.
This field appears when the Use script checkbox is selected.
caution

The server-side business logic may not work for system tables if the creation or updating of records is initiated by the backend. For example, an Import Set is created as part of loading an Import Source, or an Email is created as a result of a notification rule, and so on.

A list of table examples for which server-side business logic may not work:

  • Main Log (sys_log)
  • Script Log (sys_log_script)
  • Exception Log (sys_log_exception)
  • Record Deletion Log (sys_record_deletion_log)
  • Import Set (sys_import_set)
  • Activity Feed Item (sys_activity_feed_item)
  • Email (sys_email)

Load balancer elements


If you use the Load Balancer assignment type, you need to configure a load balance element. This element defines which tasks to consider as completed ones. If not defined, the balancer takes into account all task records that are assigned to users.

Consider a case when a load balance element is not created:

  • In the department, the employees can only work on 2 tasks at a time (maximum).
  • John Doe has worked for 10 years and completed 1000 tasks.
  • Barbara Wilson has worked for 1 year and completed 100 tasks. Since the load balancer cannot define which tasks are completed and which ones are not, all new tasks are assigned to Barbara Wilson because loader considers John more loaded in comparison to Barbara and counts all tasks assigned to him for 10 years.

But if a load balance element defines the records in the Closed state as "completed", the load balancer ignores these tasks.

To set up a load balancer element, complete the steps below:

  1. Open the auto assignment rule of the Load Balance type.
  2. In the Related Lists area, select the Load Balance Elements tab.
  3. Click New and fill in the fields.
  4. Click Save or Save and exit to apply the changes.
tip

An alternative way to create a load balance element is the following:

  1. Navigate to Auto Assignment → Load Balance Elements.
  2. Click New and fill in the fields.
  3. Click Save or Save and exit to apply the changes.

Load Balancer Element form fields

FieldMandatoryDescription
Autoassignment ruleYReference to the auto assignment rule for which this configuration is done. If you create an element out of the related list, this field is populated automatically.
Completed statesNSpecify the states that can be defined as "completed". All other states related to this rule will be considered "incomplete".
You can specify more than one state in this field.

You can find an example with filled fields in the screenshot below.

Round Robin elements


The Round Robin Element table stores information about the next group member to be assigned to a task. The count starts with "0" (group member 1). When the Current user count field value is equal to "1", it means that the next task will go to group member 2.

Unlike the load balance element, the system automatically creates a relevant element once the auto assignment rule is executed. The round robin element does not have to be created manually.

To create a round robin element, complete the steps below:

  1. Open the auto assignment rule of the Round Robin type.
  2. In the Related Lists area, select the Round Robin Elements tab.
  3. Click New and fill in the fields.
  4. Click Save or Save and exit to apply the changes.
tip

An alternative way to create a round robin element is the following:

  1. Navigate to Auto Assignment → Round Robin Elements.
  2. Click New and fill in the fields.
  3. Click Save or Save and exit to apply the changes.

Round Robin Element form fields

FieldMandatoryDescription
Autoassignment ruleYReference to the auto assignment rule for which this configuration is done. If you create an element out of the related list, this field is populated automatically.
Current user countYSpecify a value that defines a user to be assigned to the next task. Note that "0" here means the first employee in the queue.