Depending on your needs and business processes, you can assign tasks to agents manually or by using the task auto assignment engine. This engine allows automating tasks assignment by various criteria, defined by conditions, and implement business logic before a task is assigned. Tasks auto assignment allows balancing employee workload, creating different rules for different kinds of tasks.

There are three types of auto assignment:

  • Load Balancer – use this type to spread team load evenly. That is, if John Doe is already processing three tasks, he cannot take another one, so the current task will be automatically assigned to Barbara Wilson, who is processing two. So no employee within this team is overloaded with tasks. 

  • Round Robin – use this type to assign tasks to users one after another, disregarding their workload. That is, if this time John Doe got a task, then next time a task will be assigned to Barbara Wilson.
  • Custom – use this type to create a custom auto assignment rule with the help of the Condition Builder and scripts. For example, a custom rule with specific conditions (such as keywords in subject or description, highest priority, urgency, services affected, etc.) can assign one particular user competent enough for such a task.

Please note that the configuration of the Load Balancer type requires two steps:

  1. Configuring an auto assignment rule.
  2. Configuring a load balance element.

Creating an assignment rule


Role required: admin.

To create a new assignment rule, please 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 changes.

Please keep in mind that task auto assignment triggers only for new records creation. That is, it is not possible to configure the auto assignment rule to handle record update event. For example: assigning tasks when state or any other field value changes is unsupported.



FieldMandatoryDescription
NameYAssignment rule name.
DescriptionNAssignment rule description.
TableY

Specify a table extending from the Task table and containing objects to assign (like incidents, requests, and so on).

Assignment TypeY

Specify the assignment type. Available options:

  • Custom – this type allows to define assignment logic more flexibly, even including scripting. 
  • Load Balancer – this assignment type allows assigning tasks to responsible persons that are least loaded so far within the group specified. This metric represents the minimum amount of the incomplete tasks to the date per user group.
  • Round Robin – this assignment type allows assigning tasks to responsible persons within the specified group interchangeably: one after another in a queue.

If you use the Load Balancer assignment type, next step is configuring a load balance element. This element defines which tasks to consider "completed". If not defined, the balancer will take into account all task records ever assigned to users.

Let us consider a case when a load balance element is not created:

  • In the department, employees can work on only 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 will be assigned to Barbara Wilson because loader will consider John more loaded in comparison to Barbara and will count all tasks assigned to him for 10 years.

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



Assigning to inactive userN

This field allows to choose the system response options if the user to which the task should be assign is inactive. Available choice options:

  • Restrict assigning
  • Display warning
  • Ignore
WarningY

Specify a warning message. This field appears only if the Display warning option is selected in the Assigning to inactive user choice list.

ConditionY

Create a condition to meet before the assignment rule is triggered.

Use the Condition Builder to configure a filter that fits your needs. You can create complex AND and OR filters, more than one condition in one filter.

If you need to configure a general rule (for example, assign all tasks to a specified employee), then use a workaround by specifying a common condition like:

ID is not empty



Assigned GroupY

Specify a responsible group 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 will select users from the X group (defined in this Assigned Group field), if this X group is selected in a task record.


Assigned UserY

Specify a responsible person for this kind of tasks.

This field appears only when selected Assignment Type option is Custom


ActiveNSelect this checkbox to make this rule active or inactive.
Use ScriptN

Select this checkbox to specify the script implementing the advanced assignment logic. You can script actions for assigning users and/or groups.

This checkbox appears only when selected Assignment Type option is Custom.


WatcherN

Reference to a business rule containing the assignment logic (conditions, groups, and so on). This rule is automatically created when saving the form, and populating a business rule ID to the relevant field is automatically, too. 

You can manage this business rule later in an appropriate section (System Definition → Business Rules).

Group ScriptN

Specify a script implementing an advanced logic for a group assignment.

This field appears when the Use Script checkbox is selected.


User ScriptN

Specify a script implementing an advanced logic for a user assignment.

This field appears when the Use Script checkbox is selected.



Load Balancer Elements 


If you are creating a Load Balancer assignment type, you should define which tasks will not be taking into account while evaluating team's load. That is, you should exclude completed tasks works on which are finished. For this, complete the steps below:

  1. Open the auto assignment rule of the Load Balance type.
  2. Scroll down to the Related Lists area.
  3. Open the Load Balance Element tab.
  4. Click New and fill in the fields.
  5. Click Save or Save and Exit to apply changes.

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 changes.



FieldMandatoryDescription
Auto Assignment RuleYReference to the auto assignment rule for which this configuration is to be done. If you create an element out of the related list, this field is populated automatically.
Completed StatesN

Specify 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 on the screenshot below.

Round Robin Elements 


Round Robin Element 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 mean that the next task will go to group member 2.

Unlike the load balance element, the system will create a relevant element automatically once the auto assignment rule executes. That us, the round robin element is not obligatory to create manually.

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

  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 changes.


FieldMandatoryDescription
Autoassignment RuleYReference the auto assignment rule from the dictionary (one of created earlier).
Current User CountYThis value defines which user is to be assigned to the next task. Please note that "0" here stands for the first employee in the queue.


Absences and auto assignments


Auto assignment engine works in collaboration with personal schedule engine. If an agent is absent (on vacation, for example), they will not be assigned to a task. For this, the absence record should be created and approved for the person.

Personal Schedule is a separate application not included into a standard box. Make sure that you have the application installed. If it is not, please purchase the application pack from your vendor and install it as described here.

To create a new absence record, please complete the steps below:

  1. Navigate to Personal Schedule → All Absences.
  2. Click New and fill in the fields.
  3. Click Save or Save and Exit to apply changes.


FieldMandatoryDescription
NumberYAbsence record number. This field is read-only and always populated automatically.
EmployeeYSpecify an employee for whom you need to make an absence record.
ManagerY

In there, the employee's manager name will appear automatically after saving the record.

This person is responsible for the absence approval.

TypeY

Specify an absence type. Available options:

  • Absence
  • Vacation
  • Unpaid Vacation
DescriptionNOptional record description.
StateY

The absence state. Available options:

  • Pending Approval
  • Approved
  • Rejected

The absence will not be taken into account until it is not in the Approved state. Until it is not approved, tasks may be assigned to the agent requested for the absence.


Start Date TimeYSpecify the absence start date.
End Date TimeYSpecify the absence end date.
Days countYThis field is populated automatically and represents absence duration in days.