Important Concepts

How SuperRoundRobin works...

Last published at: October 15th, 2024

As SuperRoundRobin evolves and becomes more feature-rich, the fundamental concepts can get lost amongst all the setup guides and how-to documents. This article is only dedicated to conveying the most important concepts of how the app works.

Overview - SuperRoundRobin Automates Assignment of Salesforce Records
SuperRoundRobin (SRR) takes minutes to install and get set up. Once your rules are in place, SRR will automatically assign incoming (or freshly updated) records. 

SRR is configured by creating sets of rules that are intended to match with a certain segment of records. Those records will immediately be assigned to specific users in a round-robin or load balanced fashion depending on what Operational Mode you have selected.

The configuration 'container' in SuperRoundRobin is called a MatchGroup which contains:

  • The rules (MatchRules) that are used to match records
  • The users (Assignees) that will be assigned to the matching records
  • Optionally, a Capacity Model that regulates the capping / load balancing of records
  • Optionally, one or more SLAs

Processing Records
When we talk about SuperRoundRobin 'processing' records, specifically we mean when SRR reads the record and runs it through the defined MatchGroups and MatchRules, looking for a match, whether it assigns the record or not.

Records are processed by SuperRoundRobin upon update or creation when all the following are true:

  1. The Object is turned on for SRR as per this guide 
  2. The field 'Use_Round_Robin__c' is set to TRUE on the record you want to assign (either because TRUE is the default value for the picklist or because the value has been set to TRUE using automation)

If any of the above are not true, then the record will be skipped by SuperRoundRobin.

Possible Outcomes of Processing a Record
A processed record can:

  • match the rules and be assigned, and SRR changes the Use_Round_Robin__c field to ASSIGNED
  • match the rules but is not assigned because Assignees are unavailable due to 'working hours' or 'out of office' and SRR changes the Use_Round_Robin__c field to QUEUED (More here about SRR QUEUED records
  • not match the rules and the owner is unchanged, and SRR changes the Use_Round_Robin__c field to NOMATCH

The MatchLog is Your Friend

  • All processed records, whether they match or not, are recorded in the MatchLog
  • You can use the MatchLog to troubleshoot. If the MatchLog is saying that the record was correctly assigned, but when you view the record it isn't - that means something after SRR has changed the ownership (e.g. Lead Assignment Rules).
  • Records that are not processed by SRR won't create an entry in the MatchLog
  • The MatchLog is central to how SLA information is recorded and reported

Greedy MatchGroups

  • A MatchGroup with no MatchRules is greedy; it will match any record that it processes and assign it to the Assignees in that MatchGroup
  • It can be useful to create a greedy MatchGroup to catch any records that haven't been matched
  • Set the Priority of the greedy MatchGroup to last place (otherwise it will catch everything before other MatchGroups have had a chance)

Use Process Builder or Flow to Trigger Assignment 

  • The Use_Round_Robin__c field can be changed manually or through automation (Process Builder, Flow, Workflow Actions, Apex) in order to trigger that record to be processed again by SuperRoundRobin.
  • Complex workflows where the record may pass through different teams can be automated this way

Mass Update Records with Data Action Platform

  • On a small scale you can mass update using List Views - simply expose the Use Round Robin field, create your desired List View and mass update the Use Round Robin value to TRUE, then update. That will trigger SRR to process all those checked records. The limitation here is that you can only update 50 records at a time in a List View
  • For bigger mass updates, use an update tool such as Data Action Platform to mass update the value of the Use Round Robin field to TRUE for all records that you wish to update.