I made this recently for a client - I remember when something like this was an application on the app store, and certainly not something you could make in config.
But now you can! The great thing about this tool is that it's fully configurable from records you create so the main 'code' never has to be touched.
You can even set member(s) as away via config and the process handles this automatically.
Please note that this exact process allocates the resultant Account, Contact, and Opportunity that are generated when a Lead record is converted. So it allocates ALL 3 records to the defined 'Industry team' // You absolutely could modify this process to just allocate a Lead when it arrives in the system, Opportunity, or Case using the same principles and just modifying the trigger object and the updates. The main flow logic remains the same - think of it as assignment rules PLUS👍.
Two custom objects are required, one for the Industry and one to hold the names of the people who will be assigned the records with that industry pick list value - the process assigns the records like a card dealer ensuring all records are evenly distributed.
Since salesforce now allows flows to execute without a separate process builder as a trigger we can in this build use a single flow to manage the entire process.
The process doesn't contain that many steps but it is crucial that the process follows these exact logical steps to ensure that the dealing process resets and that if a user is marked as away that the next present user is picked up. (Below are screenshots of all the elements in the process - you can copy these exactly as they are shown here).
That's everything you need to make your own record dealer automated process in salesforce. All you have to remember is that the Sector records match exactly with what is available in the Industry pick list and that there is at least one active user assigned to a sector at any one time. You must also ensure that the cycle orders are logically correct and that you set user records to active/inactive as appropriate.
You could of course automate all of this too if you wanted!
Hope you find this creation useful! 😊