In this blog we will create a custom Round Robin Assignment for Contacts in Salesforce. Create a custom field in Contact object and use below trigger to generate the Round Robin !
Trigger
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | trigger contacttrigger on Contact (before insert) { if(Trigger.isBefore){ Double roundRobinValue = 1; List<Contact> conList = [SELECT Id, Round_Robin_ID__c, CreatedDate FROM Contact where Round_Robin_ID__c != null order by CreatedDate desc limit 1]; if(conList != null && conList.size()>0){ roundRobinValue = conList[0].Round_Robin_ID__c; } for(Contact c : Trigger.New){ system.debug('###Round Robin Value : '+roundRobinValue); if(roundRobinValue == 3){ roundRobinValue = 1; c.OwnerId = '0057F000002FrWT'; } else if(roundRobinValue == 2){ roundRobinValue++; c.OwnerId = '0057F000005vkd1'; } else{ roundRobinValue++; c.OwnerId = '0057F000002Fyug'; } c.Round_Robin_ID__c = roundRobinValue; } } } |
Checkout complete tutorial below
If you have any question please leave a comment below.
If you would like to add something to this post please leave a comment below.
Share this blog with your friends if you find it helpful somehow !
Thanks
Keep Coding
4 Comments
how to task assign to user in different queue using round robin.
ReplyDeleteHave you tried putting queue Id in ownerId ?
DeleteHardcoding ids isn't a good practice naa
ReplyDeleteYes I agree, but that was only for testing purpose. You may make this owner id process dynamically by retrieving them from a custom object :)
Delete