Understanding how Assignment Groups Work
Assignment Groups (AG for short) define a selected list of target users and/or queues to use when assigning ownership of supported objects from a specified source, along with a number of rules for determining which records to select from the source, which order to assign them out in, and who to assign them to, based on availability, workload, skill, language, territory, account ownership or any other attributes that you wish to configure.
Some key concepts of AG are as follow:
- Each AG specifies a Queue or User as Source from which the supported object will be assigned out. The source can also be set as blank
- Record is the term we use to refer to the supported objects that are being assigned out by Q-assign
- Users can be a member of more than one AG. We often refer to these as AG Members, or simply Members
- Users that are members of multiple AGs can be assigned supported objects from each group. Assignment Quota is counted separately for each AG they are a member of
- A Scheduler processes all active AGs at a regular period (e.g. every 30 seconds). The frequency of the scheduler running is configurable in minutes
- Assignment Groups are processed one after another in a defined (configurable) order each time the scheduler runs
For more details, the configuration parameters are described for each section of the AG configuration screen.
Assignment Group Details
This section defines the general details of the AG.
- Group Name – a unique name for the AG that will be used to identify the AG in lists, reports, and other areas of Q-assign
- Description – an optional description of what this AG is for
- Object – the type of Salesforce object that this AG will process, e.g. Lead, Case, Account, Opportunity, Contact, Event and Task (Supported Objects)
- Assignment Action - The action to take when a work item is assigned by Q-assign, such as changing the owner of the work item or passing it to Omni-Channel to assign
- Processing Order - AGs are processed sequentially and the processing order defines the order in which they are processed as compared to others. The lower the order, the earlier they are processed. For example, an AG having processing order of 1 will get processed first as compared to an AG with 2 as processing order
- Processing Type - Q-assign allows making assignment of records either automatic or manual or a mix of both (automatic + manual). Following options are available in Processing Type.
- Push - scheduler assigns records automatically based on the frequency set in the 'QA Control Panel' tab
- Pull - allows members to get records manually from the queue or User (source) of AG
- Push + Pull - records can get assigned either automatically (Push) or manually (Pull)
- Enabled - this option allows an AG to get records when Scheduler runs. AG will not receive any records if not enabled
- Scheduler – this option specifies the Scheduler that owns and processes this Assignment Group.
- Assign to Logged in Users Only - this option makes sure that only users logged in to Salesforce get records in AG
- Activity Timeout (in minutes) - activity detector, it will not allow assignments to members not active for defined minutes. For example, if Activity Timeout is set as 30 minutes then AG members who have been idle (no activity on Salesforce) for 30 minutes or more will be considered logged out and will not be assigned records. Idle Time of each member is shown in the 'Group Members' section of AG. This option is only available if 'Assign To Logged In Users Only' is checked.
User's status will remain 'Available' but the red circle/dot will be displayed against his name and no assignments will be made
- Show Q-assign Logout Button to Users - when checked, 'Logout' button on Q-assign widget will be visible/available for Users to press and will be absent/hidden, otherwise.
- Skip Assignment If more than one user matches - when checked, the assignment group will skip any assignment when member matching rules result in more than one member matched.
- Show Pull Button to Members - Q-assign supports the manual assignment of records with this option. Users will see Pull supported objects option in QA User Status tab from which they can manually assign records
- Assignment Hours Schedule - an AG can be associated with Business Hours which can be configured here. This will allow an AG to only receive assignments during these hours. You can configure Assignment Hours Schedule by following the instructions here
- Active only outside Assignment Hours - when checked the group will be active outside working hours and if unchecked, group will be active inside working hours. It is disabled when no business hours are selected.
- Assign to users in their Working/Shift Hours only - This setting will allow the assignments to the Members (Users) as per their 'Working/Shift Hours' defined in the Member Settings section (of Assignment Group). If checked then the User's shift hours will be considered while assigning the records to that User.
- Skip Assignment If more than one user matches - When checked, the assignment group will skip assigning any records that result in more than 1 matching available user/member by the matching rule/s
- Active - a green circle shows that the AG is both Enabled and current time is within the AG Working Hours Schedule (if configured). While red circle shows that either AG is not Enabled or it is out of its Business Hours (if configured in Working Hours Schedule)
- Object Owner Field - Q-assign also allows to assign out records using a different field other than the Owner. This field can be a 'User Lookup' on that particular object. The default value of this field is 'Owner ID', which represents the normal behavior of Q-assign i.e. to change the Owner of the object records. If you have a 'User Lookup' field on Case and you have selected this field as 'Object Owner Field', then Q-assign will assign out the records based on this field. Please note that the Owner field of the record will not change in this scenario.
- Records Commit Setting - This setting controls at what stage the records modified by this AG are committed to Database. Per Processed Record: Each modified record will be committed right after its processing and before processing the next record starts i.e. one commit(DML) per record; Per Assignment Group: All records modified by the AG will be committed after processing them all i.e. only 1 commit(DML) for all records modified by AG; Automatic: Based on AG configuration Q-assign decided whether to user Per Record or Per AG commit.
The default value of commit for all new installs of Q-assign is 'Automatic'.
- Clone - this feature allows the replication of Assignment Group configuration which can be modified later according to user requirements. It is particularly useful in cases when there is a need to create multiple groups having the same configuration. Please see more details and instructions to use the clone feature here
Queue Selection Rules
This section defines the Queue or User or Blank (source) from which to take the records, and which records and in which order to take from this source.
- Source Queue or User - queue or user from which records will be assigned to AG
- Queue Selection Criteria - it defines the criteria to select records from the source. It allows selecting records from the source whose certain fields are equal, less or greater than the specified value. Multiple criteria can be set in each successive row. Queue Selection Criteria can be selected by setting the following parameters:
- Field - any field of target or related lookup object of the AG. For example, if there is a 'Contact' lookup on 'Case', and AG is set on 'Case', all case and contact fields will be available here and could be used to set as criteria. In addition, all child objects are also available for selection (learn more here).
- Operator - contains operators such as equals, not equals, greater than, less than, etc.
- Value - a value that needs to be evaluated against the Field of Object based on the Operator. If more than one value is selected, the OR operator will be applied among those values. For example, if you want to set 'Status' equals 'New' or 'On Hold', please set it as shown in the screenshot below. In the latest version of Q-assign, Relative Dates can also be specified with some additional parameters (learn more here).
- Queue Selection Criteria Filter Logic - it allows setting the relationship between different rows of Queue Selection Criteria and their combination will determine which records to get from the source. Operators AND/OR are used to select records based on criteria set on multiple rows. Successive rows are marked as 1, 2, 3, and so on. So, for example, ((1 AND 2) OR 3) can be set as filter logic if selection criteria are set on rows 1, 2, and 3.
- Selection Order Field - it represents the field of an object on which the sequence of assignments to members from Source will be based
- Selection Order - it allows making the assignments either Ascending (first-in-first-out) or Descending (last-in-first-out) based on Selection Order Field
- View Results - this button enables viewing the records satisfying the Selection Criteria results and useful stats (time elapsed, total number of records) on query performance. More information can be found here:
This section configures how the right AG member is selected to assign each record to.
- Assignment Modes - records can be assigned to members in strict rotation or based on load. Assignment Mode allows choosing the following modes of an assignment.
- Round Robin - Round robin will assign to users (or queues) in strict rotation. It tends to distribute tickets/records equally to all members using a rotation. Members who are available, enabled and who meet all other configured criteria would only be considered for assignment. After completing one rotation it will start next rotation from the member who has waited for the longest as shown below. It doesn't look at the load (number of records a member already has):
Ticket 1 goes to Sales Rep 1
Ticket 2 goes to Sales Rep 2
Ticket 3 goes to Sales Rep 3
Ticket 4 goes to Sales Rep 1 (rotation here, as Sales Rep 1 is the one who has waited for the longest among all)
Ticket 5 goes to Sales Rep 2
and so on...
- Load Balanced - Active Record Count - Load balanced assignment of tickets/records will be done in the following priority:
- Assignees (users or queues) owning the least number of active records (Cases and Leads etc.) will be assigned new jobs first
- Active records are determined by Active Records Criteria
- Where assignees have an equal number of active jobs, those with the longest interval since their last assigned job will be assigned new jobs first
- Load balanced - Active Record Load Points - it assigns the records to a user having the least Active Records load - determined by the numerical field, set in 'Load Points Field'. Active records are determined by the Active Records Criteria.
- Load balanced + Selection Criteria - Load balanced + Selection Criteria is same as Load Balanced except it uses Selection Criteria as well as Active Records Criteria while determining and counting active records owned by members.
- Points Based - Highest Points - it looks at current active load points owned by each member. Active Load Points are determined by member point calculation rules. Members owning the least number of load points will be assigned new records first. Please see more details here:
- Points Based - Lowest Points - it looks at current active load points owned by each member. Active Load Points are determined by member point calculation rules. Members owning the maximum number of load points will be assigned new records first. Please see more details here:
- Assignment Quota - specifies the maximum number of cases and leads, etc. that can be assigned to each member of this group by this group within the Quota Period. 0 means unlimited quota i.e. no restrictions.
- Quota Period - the time during which Assignment Quota is refreshed/ reset for the members i.e. Daily, Weekly or Monthly. If set to Daily, then Assignment Quota will be set to zero the next day
- Global Assignment Quota - Users that have already been assigned this many records during the Quota Period across ALL Assignment Groups will not be assigned further records during the Quota Period. Global Assignment Quota is counted separately for each record type (e.g. Leads, Cases, opportunities, etc.). 0 means unlimited quota i.e. no restrictions.
- Global Assignment Quota Period - the time during which Global Assignment Quota is refreshed/ reset for the members i.e. Daily, Weekly or Monthly. If set to Daily, then Assignment Quota will be set to zero the next day
- Max Active Record Cap (Max Assignment Cap) - it represents the maximum number of Active Records that can be assigned to each member of the AG. 0 means no cap
- Load Points Field - Load score can be calculated for each user by adding up ‘Load Points’ associated with each active record. This Load Points Field setting tells Q-assign which numeric field to use for calculating Load Points. This field on target object defines the number of points for effort/load for a particular record and it can be used for a variety of uses, e.g. scoring each record by annual revenue to load balance/cap based on a load score.
- Max Load Points Cap (Max Assignment Points Cap) - Allows a cap of maximum load points that can be assigned to each member. It works like Max Active Record Cap, but adds up all the load points of Active Records, not just counting them. This specifies the max number of load points per user before Q-assign will stop assigning to that user. 0 means no cap. Please click here to see more details about 'Member Points Scoring Rules'. This allows workload for each team member to be calculated by a more sophisticated set of rules based on points being scored for various configurable conditions.
- Active Records Criteria - it defines the criteria to set Active Records for each member of AG. Criteria can be set in successive rows if the user wants to add multiple criteria. As in Queue Selection Criteria, lookup object fields are visible in Active Records Criteria & can be used to set criteria.
Active record criteria can be selected by setting the following parameters:
- Field - any field of target or related lookup object of the AG. For example, if there is 'Account' lookup on 'Case', and AG is set on 'Case', all case and account fields will be available here and could be used to set as criteria.
- Operator - contains operators such as equals, not equals, greater than, less than, etc.
- Value - the value which needs to be evaluated against the Field of Object-based on Operator. Multiple values of a single field can be set in one rule. In doing so, each value needs to be enclosed in quotes and separated by a semicolon. By default, the OR operator will be used among these values. Example, if you want to set 'Case Reason' equals 'Complex functionality' or 'Existing problem', please set is as shown in the screenshot below. In the latest version of Q-assign, Relative Dates can also be specified with some additional parameters (learn more here).
- Active Records Filter Logic - it allows evaluating the relationship between different rows of Active Records Criteria. Operators AND/OR are used to set relationships between multiple rows. Successive rows are marked as 1, 2, and 3 and so on. So, for example, (1 AND 2) OR 3 can be set as filter logic if selection criteria are set on rows 1, 2 & 3
- Add Active Record Criteria for Object2 - it allows selecting a second object, in addition to primary/target object, for Active Records calculation. It has the same flexibility as the Active Records Criteria for Object 1, in terms of defining the active criteria, filter logic and load points field.
- Add Active Record Criteria for Object3 - it allows selecting a third object, in addition to object 1 and 2, for Active Records calculation.It has the same flexibility as the Active Records Criteria for Object 1, in terms of defining the active criteria, filter logic and load points field.
- Auto Refresh Member Stats (in seconds) - this is used to set time (in seconds) to refresh each member's stats such as last assigned date, status, active records, and next assignment order
- Matching Rules Filter Logic - it allows the ability to use Filter Logic with Member Matching Rules, so multiple rules can be used together e.g. (1 AND 2) OR 3. In addition, filter logic separated by ',' is also supported such as 1 OR 2, 3, 4, which are strictly processed from left to right. Q-assign will stop processing at the first set of filter logic resulting in successfully assigning the records to members. In addition to OR/AND, this filter logic also supports strict record matching by adding the logic in [ ] brackets. [1 AND 2 AND 3 AND 4] means that the record will match if all the values are found matched, while 1, [2 AND 3 AND 4] means it will first process rule number 1 and then 2, 3 and 4 with AND logic in between.
- Enforce Member Matching Rules - if selected, this will just run the rules in the Member Matching Rules section, and will not run the normal rules (e.g. Round Robin or Load Balanced).
- Member Selection Rules (Beta) - it's a feature that allows "Member Selection Criteria" to be defined per AG which would define which Users should be members of this AG. Along with this there will be the ability to define when and how often the "Member Selection Criteria" are evaluated and missing users added.
- Save - to save the configuration of AG
Member Matching Rules
These are optional rules that define specific criteria for finding the best AG Member to assign each Lead, Case or other supported objects. For example, they can be used to match by skill, language, customer account, product, territory, or any other attribute you choose to configure.
- Member Matching Rules are evaluated before normal Round Robin or Load Balance rules are evaluated
- They are evaluated in the order showed on the screen. Once one of the Member Matching Rules results in a match, then no further Member Matching Rules are evaluated
- If Enforce Member Matching Rules is 'checked', this will just run the rules in the Member Matching Rules section, and will not run the normal rules (e.g. Round Robin or Load Balanced) afterward
There are two types of Member Matching Rules currently available, which are as follow:
Follow Me - Follow Me Rule ensures that a record which is similar to a previously assigned record is assigned to the same member. For example, it ensures continuity of a member dealing with a customer or issue, or for duplicate detection
Member Lookup - Member Lookup allows matching the right member to the lead or case etc., being assigned based on matching data between both such as skill, language, product, territory, or any other data you wish to use. It can also be used to match the Id of the member itself, e.g. if the Account object has a designated User that should deal with the Leads/Cases, etc.
When a Case/Lead/Record is assigned, it is often wanted to perform some kind of action, e.g. set a field value or send an email notification, set a field value on a related or child object. These actions can be set as rules in the Actions section of the assignment group.
Add new Assignment Group Members
It supports both manual and automated (Member Selection Rules) addition of users to an AG. Both these modes are described below:
Add new users or queues to the Assignment Group from the Add New Assignment Group Member section of the detail page. See Add New Group Members/Queues for more details.
Member Selection Rules (Beta)
Adding Users to an AG can take time and both effort and time increase if you need to add a lot of users. To automate adding users, Member Selection Rules feature is introduced that allows "Member Selection Criteria" to be defined per AG which would define which Users should be members of this AG. Along with this there will be the ability to define when and how often (configurable frequency) the "Member Selection Criteria" are evaluated and missing users added. When a new user is added, there are configuration options to define what the initial status/of that user would be, e.g. whether they would be Enabled in the AG or not.
- Create New Member Selection Rule - it allows creating a rule based on which User will be added to AG
- Add Users via Member Selection Rules - this button runs the Selection Rules and presents all the Users meeting the rules. All or selected Users can then be added to AG.
- Edit (Member Selection Rules Filter Logic) - this button allows enabling or disabling the auto-add users feature. Once you enable it, other option like frequency and user status can be set.
- Edit (Auto-add Users (Beta)) - it allows you to turn ON/OFF auto-add users feature with the ability to set the frequency and the filter logic
Members can be Enabled/Disabled for Assignment Groups and their statistics can be seen in this section. These statistics include the information about Assignment Groups, Availability, Quota Assigned, Active Records, Active Load Points, Last Assigned Date and Next Assignment Order of each user. Refresh button allows retrieving latest stats of the added members. Edit button under the Action section allows you to set Member Level Settings.
- Action: This column shows the following three actions:
- Edit – 'Edit' the per member settings, e.g., Status, Max Cap and Quota, etc.
- Enable/Disable – Toggle the status of a Group Member for this Assignment Group, e.g., Disable a Group Member if you want to stop assignments to that member from this Assignment Group.
- Make Available/Unavailable – Toggle the status of a Group Member for the whole Q-assign app, e.g., Disable a Group Member if you want to stop assignments to that member from the Q-assign app. NB – this action is not available in release version 4.736 or later (QA User Status tab should be used instead).
- Member: Shows the names of a Group Members (Users) with a circle/dot. The circle/dot displays the user's status by showing green or red color. Green color represents the user's availability for assignments and the red color represents that the user is not available for assignments in Q-assign. Members can be sorted in ascending or descending order by clicking on this column.
- Enabled: Shows whether the Member (User) is Enabled or Disabled (for this Assignment Group). Please note this setting impacts Members of this group only.
- Presence: Shows whether the Member (User) is currently present and available for record assignment within Q-assign. Available means that the Member (User) is currently present and therefore eligible for record assignment across all Assignment Groups where they are enabled. Unavailable means that the Member (User) is currently not present and therefore not eligible for record assignment within Q-assign. NB – this column is displayed as ‘Available’ prior to release version 4.736.
- On Shift: Shows whether the Member (User) is available to Q-assign for Assignments in their Working/Shift Hours only then set the value to 'Yes' and 'Green'. If the value is 'Off-Shift' that means Member (User) is not available to Q-assign for Assignments in their Working/Shift Hours and status is Red (provided that 'Assign to users in their Working/Shift Hours only' is checked in the Assignment Group configuration).
- OC Enabled: Shows the OmniChannel status for a user, if 'Assign via OmniChannel' is selected as Assignment Action
- Logged In, Idle Time: These settings are used when the 'Assign To Logged In Users Only' setting is checked in the Assignment Group.
- The 'Logged In' column shows whether the Member (User) is logged-in to the Salesforce or not by showing 'Yes' or 'No'.
- The 'Idle Time' column shows the time (in minutes) associated with waiting, or when a User is not using Salesforce/Q-assign or is not Active or performing any actions.
- Last Assignment: Shows the last assigned date and time of the assignment to a User by Q-assign. The values can be sorted in ascending or descending order by clicking on this column.
- Global Quota Assigned (Max): Shows the total assigned records (e.g., Leads, Cases, etc.) that are assigned to each User by Q-assign app. It also shows the maximum value of 'Global Assignment Quota', if its value is set either on Assignment Group or in the Member settings.
- Quota Assigned (Max): Shows how many records (e.g., Leads, Cases, etc.) have been assigned to this Group Member during the 'Quota Period' (configured in this Assignment Group, e.g., 1 day, 1 week or 1 Month). It won’t affect the number of records assigned to the members unless 'Assignment Quota' is set to a non-zero value, e.g., if you have “Assignment Quota” is set to 5, it would stop assigning out records to any Group Member that has reached a “Quota Assigned” of 5. This value is reset at the end of each ‘Quota Period’, e.g., at the end of each day if the “Quota Period” is set to Daily. It also shows the maximum value of the 'Assignment Quota', if its value is set either on Assignment Group or in the Member settings. The values can be sorted in ascending or descending order by clicking on this column.
- Active Records (Cap): Shows the number of Active records (e.g., Leads, Cases, etc.) of this Group Member (based on the Active Record Criteria in this Assignment Group). It also shows the maximum value of 'Assignment Cap', if its value is set either in the Assignment Group or in the Member settings. The values can be sorted in ascending or descending order by clicking on this column.
- Assignment Status: Shows the assignment status for this Member (User). "OK" indicates that this Member (User) can be assigned records by this Assignment Group, otherwise it shows the reason why records cannot be assigned at this time. NB – this column is displayed as ‘Next Assignment Order’ prior to release version 4.736.
- Round-Robin Weighting (%): Applicable where Assignment Mode is Round Robin. This weighting percentage specifies if the member should receive more or fewer records compared to other members, with 100% being the default. For example, a setting of 110% would mean that this member would receive an extra record for every 10 records assigned to other members with a 100% weighting.
Please contact us at email@example.com for any questions.