Process allocator allows you to auto allocate processes like leads to actual users who will be working upon them. You can configure multiple allocators for a given procedure and also demarcate a default process allocator.
The first step to configure an allocator is to define a source filter - which is basically a way for you to tell which processes are eligible for allocation. if left empty this will apply to all open and un-assigned processes.
But more often than not you would want to add filters like
- process state - must be some of the initial states
- score - qualification score thresholds
- minimum data prerequisites - like having a phone number / email in the case of a lead
You can also configure a sorting criteria for the allocator to use while looking at allocatable processes. This helps you set up orders like - allocate high priority leads first. You can have a list of sort criteria. For example you can sort a lead by high priority, latest creation timestamp and high lead_score
You will also need to define which set of users are eligible for allocation by a particular allocator. For example you could filter by role of a user or by some extra parameters like user profile data
Generally the load of a user is needed to figure out
- whether a user has remaining capacity to be able to handle more processes
- who are the users with lower load to whom we should allocate
This criteria can be custom configured to be different from the source filter criteria
The allocator will always try to assign users with the least load and will not allocate to a user if the user's max load has been reached
You can configure different max loads for different users.
If all criteria matches and the current load is same for a set of users - then the allocator will try to do a round robin allocation. It will try to allocate to the user who got assigned the longest time ago. This allows the allocation to be fair.
To come up with and implement granularity in your matching logic - you can set up skills for both processes and users.
Processes can be configured to have a
Required Skills configuration.
For example leads coming from a Spanish speaking country can be assigned
spanish language skill. In this case the allocator will look for users who are tagged with
language:spanish skills to be able to allocate.