Advanced: Using Capacity Models to Cap Assignment

Available in Version 8 and up

Last published at: August 1st, 2024

Organizations often want to cap assignment of records based on a custom definition of user 'capacity', (or the inverse, load). This might be the number of new leads already assigned to that user, or open opportunities, cases etc. Capacity Models allow you to precisely define assignee capacity/load to regulate record assignment.

The Capacity Models you create define how SRR calculates user load. The cap number is set in the MatchGroup.

  1. First create a new Capacity Model
    • Go to the CapacityModels tab and click New
    • Give it a descriptive name. In this example we will create a model that defines new leads (Lead Status = New). (Note for users of previous version of SuperRoundRobin - this example is how you replace the functionality of MaxNewLeads that has been superseded by Capacity Models).
  2. Set Criteria - this is the heart of the Capacity Model
    After creating a new Capacity Model, you will see a pane on the right like the one above, entitled ‘Configuring CapacityModel: ...’
    • Set the criteria that defines your capacity model by selecting the field, operator and value as desired.
    • In our example above, we define assignee capacity as a number of leads where the Status is 'Open - Not Contacted' and is not deleted.
    • If you use the INLIST or NOTINLIST operators, use the | (pipe) character to separate the list items. e.g. LeadSource INLIST Web|Phone|Email
    • The LIKE and NOTLIKE operators are to be used with the % wildcard character. e.g. LeadSource LIKE Web_% will match Web_xyz etc.
    • Text values used with the INLIST and NOTINLIST operators can also use the % wildcard character e.g. LeadSource INLIST Web_%|Phone|Email
    • TextArea fields like Description cannot be used as CapacityModel Criteria due to a Salesforce query limitation
    • If you want to limit records per day, use CreatedDate EQUALTO Today
  3. Set Criteria Logic
    After setting the criteria, note the number in the green badge - the Criteria Logic Number. Use these numbers to specify the Criteria Logic - i.e. if both conditions need to be true then you will want 1 AND 2 as your Criteria Logic. Ensure all opening brackets have a matching closing bracket. Invalid logic like 1 AND (2 OR 3 will render the Capacity Model inactive and will be ignored until the logic is valid. Allowed Logical Operators: ANDOR. If you leave the Criteria Logic blank, it will default to AND logic across all criteria.
  4. Apply to MatchGroup
    Then apply the Capacity Model to one or more of your MatchGroups. Find the Capacity Models related list on the MatchGroup page, and click New. Add the Capacity Model. A checkbox setting on the MatchGroup page called AdjustCapacityDuringBulkTransactions should be ticked if you want the Capacity Model to apply when the CapacityThreshold is met during a bulk import transaction.
  5. Set the Capacity Threshold for your Assignee(s)
    Finally, in the Assignee records for that MatchGroup, set the Capacity Threshold number to whatever is appropriate for that Assignee.

Finished.

In this example, Charlie has a CapacityThreshold of 5, and Bob doesn't have one set at all. This means that when Charlie has 5 leads assigned to him that are in the Open - Not Contacted status, then he will not be assigned any more leads by this MatchGroup until he has progressed his existing leads onto other statuses. As Bob doesn't have a CapacityThreshold set, he will continue to be assigned leads.

Check the Current Load According to the New CapacityModel
After you have set the criteria, check that the CapacityModel returns the results you expect. In the bottom right panel, you should see a set of results that corresponds to the load the users are currently under according to the CapacityModel. Click Refresh Query if you have just finished setting the criteria. So for example, if you have created a CapacityModel that defines capacity as a certain number of Leads at the Open - Not Contacted status, the results in this section show you the number of records that match this CapacityModel grouped by OwnerId.


Combine Capacity Models
In some instances it makes sense to Combine several Capacity Models. For example an organization might want to consider New Leads + Open Opportunities in determining assignee capacity. Capacity Models are additive - so if we extended our example to include Opportunities as well, then Charlie would need to keep his New Leads + Open Opportunities at or below 5.

Combine Capacity Models to Achieve Record Scoring
This approach is also used if you want to increase the weighting of a certain type of record. For example let's say if a Project record has a field ProjectSize and the values could be Large or Small. When defining the Capacity Model, it might be that you want a Large project to count for double the load of a Small project. In this case, you would create one Capacity Model where the criteria included ProjectSize EQUALS Small and you would have two Capacity Models where ProjectSize EQUALS Large. This way, each project record that is Large will count twice against that user's capacity. Each small project will only count once.

See Status on the Assignee Summary tab
At any time you can go to the Assignee Summary tab to see the status of your Assignees. If they have reached their Capacity Threshold, you will see an orange 'At Capacity' status.

When All Assignees Exceed Capacity Threshold
If all Assignees have a Capacity Threshold set, and they all meet or exceed that threshold, no more records can be assigned and they will be parked with the Queue User until one or more of the Assignees become available again. This is the same Queue mechanism that operates when Assignees are unavailable due to Out of Hours and Out of Office. Ensure that your Scheduled Jobs have been initiated on the Setup and Status page. If you don't see a red 'Delete Jobs' button towards the bottom of the Setup and Status page, this means that your jobs have not been set up. Click the 'Create Jobs' button to complete setup.


Example Capacity Model Criteria

When you want to cap your leads to a certain number created that day, not counting converted leads:

If you wanted to do the same as the above, but where leads are created in the last X hours, then you first create a (Number) formula field called CreatedHoursAgo with the formula: 

(Now()-CreatedDate)*24

Then reference that number in your Capacity Model like so:

When you want to cap your leads based on the number you own at a certain status (New in this case). Not counting converted leads.