How to automatically round-robin "New Customer" CTA to many users?

Related products: None

Hello Guys, trying to find a way to solve an issue here:





Our company actually acquire a large number of new customers per month that turns very hard to just one person route these accounts between the CSMs. And we can't automally route it directelly to the CSMs: the team leader needs to analyze it and then select the CSM who has the best fit with that customer.





With a fast-growing team of customer success managers and team leaders, we really need to find a way to automatize the routing (round-robin) of "New Customer" CTAs around the team leaders, who then will assign the CTA the the selected CSM. 





We have 3 CSM team leaders and 3 ISM team leaders (Implementation Success Managers, aka the implementation specialists), and we are promoting in average 1 team leader a month.





Can anyone figure out a way to automatize the distribution of New Customers CTAs using GS/SFDC rules engine? We already have user roles set in SFDC.





The critical point here is to have a balance of new customers between CSM/ISM teams. 





Any ideas?





Thanks,


Bruno Giacomelli





 
I have an idea for you to try. I've created most of this in my sandbox and made sure that the Gainsight/SFDC validation logic didn't result in errors, so it's at least 50% "baked".  This is definitely a workaround and comes with some costs technically. Overall, though, it relies on you to stamp a user ID on each usage record that you send into gainsight. Also, it assumes that you're populating the ExternalID field. 





What I did was to create two custom fields in the "usage data" object:  One I labeled "auto" had a auto-number sfdc data type, so that it auto-incremented when each usage data record got created. The format should be {0} when you're creating the field so that it starts with the integer "1" and auto increments up from there. 





Once you've created this field, you have to create a second field on the usage data object. This will be a formula field.  What this field does is to dynamically assign a SFDC User ID based on the auto-increment value.  I've done a screenshot that you can copy into your formula: 








You'd have to expand on this logic and nest a couple more IF statements in there to allow for the number of people you want to create in your round robin logic.  You'd also adjust the MOD value to be the total number of people in your assignment group. I used "3" in my example.  The "==1" part indicates someone's priority in the queue. So you'd do "==0" for the first person, "==1" for the second person, "==2" for the third person and so on.  In the screenshot below, this field is called "RR-assign".





Then you can create a third field on the usage data object which is a "Lookup" data type and will point to the User object.  I called mine "RoundRobinUser".  Then you can create a Gainsight rule that uses "RR-assign" to populate the "RoundRobinUser" value. You probably should set this up as a nightly operational gainsight rule.











Once you have that crunching nightly, then your normal CTA rule can utilize the lookup field that you created, to assign it to the right person. 

















There's a drawback with this approach as it assigns to each usage data record a different assignee - and ideally you'd want to associate this concept directly with the CTA; however the CTA option in gainsight only can reference a couple of objects.  So ideally gainsight would build out round robin functionality.  Submit it as an idea and I'll vote on it! 





But if you expect each usage data record to trigger a CTA, then it'll work fairly well. 
I'm super impressed with the creativity of this solution.
Very creative!





My only adjustment might be to look at using the "Load to SFDC Object" action rather than loading to usage. That would potentially eliminate the challenge you call out with "Usage". Assuming it's an opportunity, the first rule could query for the relevant ops and then update that same opportunity with the correct round-robin CSM. Then you run the actual onboarding rule and create the CTA.





A few related rules engine notes:




  • Both the usage and "load to sfdc" actions are great because they can take a string and create a lookup. That should be a feature in every action!

  • This concept should be built in. I had exactly this issue today and am solving it with a (simpler) workaround like this one.

  • Rules need to be able to trigger other rules. Ideally you'd run rule 1 and then have it automatically run rule 2. Today we schedule them at 7:00 and 7:05.

  • Rules should be able to run multiple times per day. Depending on velocity and global footprint, I may want to run a new customer load 3 or 4 times a day to make sure I'm on top of this critical activity.

Hello Bruno,





I am going through and checking to make sure that these solutions worked for everyone, did Luis's suggest work for you?
Hi Evan,





In fact it didn't. The solution seems great, however I don't have enough time and expertise to put it in practice. Together with the implementation specialist from Gainsight, we've tried another approach which is documented but still I didn't reviewed in deep.





In the meantime, I'm really waiting to see the functionality built-in in Gainsight, as I believe this seems to be a very important automation to the onboarding proccess.





Thanks,


Bruno
I am moving this over into an idea so product can have eyes into it. 





-Steve 
Hello,





Has anyone come up with a good solution for round-robin assignments?
Hi Jam,





Actually we used in our org some tips from the suggestions above.





Step 1. we use an internal ID of our customers synced from our internal system.


Step 2. we calculate in salesforce the MOD(CUSTOMER ID; # of coordinators to assign CTAs).


Step 3. every MOD number result is maped to a different coordinator.


Step 4. we use this result in the rules engine to round-robin CTAs to every CTA.





As the internal ID is random, than this little system randomizes greatly new customer assignments across all coordinators. Then they assign the new customers to our CSMs.





Cheers

Hi! Looking to revitalize this thread and see if there were any new success stories with a round robin approach to CTA assignment for new customers in a pooled model? Thanks! :D 


I would also like to revitalize this thread. Very interested in a queue-like feature to assign CTAs to a select group of users. Could be either random or even in a sequential order, just the ability to distribute inbound CTAs would be swell.