Microsoft Dynamics CRM: Round Robin Lead Assignment


Some of my customers over the years have used a Round Robin method of assigning leads. So the first lead that comes in goes to Sales Rep A, second lead goes to Sales Rep B, etc. It works well with smaller sales teams that occupy the same geographic territory.  I haven’t encountered one of these customers in quite some time. Fast forward 6-8 or more years, and I got a call from Paul. Paul asked me about the easiest way to assign leads as they come in to sales reps in a Round Robin mechanism.

Back in my early days of consulting, I used to use a product that had a feature called lookup.ini. It was an awesome little utility. One of the hand uses for it was doing round robin lead assignment. My initial thought was to use the lookup.ini… But wrong product for that. So with Microsoft CRM’s powerful workflow engine, we created a very simple engine to assign leads to reps one at a time.

The basics of this are pretty easy. This sample is for inspiration and I would make sure you modified it before you put it in your production servers. 🙂

1. Create A Lead Round Robin Entity. 

On that entity, create an integer with the name of Lead Assignment. Make the entity visible in the settings area of CRM.  Make a 1:N Relationship with Leads. Don’t make the link visible so you don’t have a bunch of things hanging off the left Navigation area. 🙂

BV1

2. – Create The “Main Workflow”

BV2

In the main workflow, you want to update the lead to relate the Lead Round Robin to the Lead. And then you want to do a number of If Statements. If Lead Round Robin = 2, then apply Workflow #2. Do that for each of your sales reps. (So in my example, we have 5 sales reps, so all of the workflows will be identical for each of the reps minus the 5th one.) 

bv3

All of the IF statements will end up firing off workflows that we will create. All of the workflows are identical, minus the last one. The last one will in turn reset the counter back to 1 and start the process over again.

BV4

BV5

BV6

This sample will work with Microsoft Dynamics CRM Online or CRM on Premise.

You can download the sample here.

Enjoy!

Ben Vollmer

Comments (10)

  1. Robert says:

    Can this be applied to cases as well?  Just as you describe assigning leads to users via round robin, can these same steps be applied to cases?

    If so, can you please clarify the first step in your workflow where you update the lead to "apply custom entity"?  What are the properties in this step?  

    I try to duplicate this for cases but when I go to ‘update’ the case I see no option in the properties to apply custom entity.

    Thanks in advance for any insight on this!

  2. rgarcia@mpifix.com says:

    Can this be applied to cases as well?  Just as you describe assigning leads to users via round robin, can these same steps be applied to cases?

    If so, can you please clarify the first step in your workflow where you update the lead to "apply custom entity"?  What are the properties in this step?  

    I try to duplicate this for cases but when I go to ‘update’ the case I see no option in the properties to apply custom entity.

    Thanks in advance for any insight on this!

  3. Lookup.ini?

    Oh Goldmine, how much I miss you. Not.  🙂

  4. James says:

    How can you run this workflow until a user has a certain number of leads?  I will have a lead count on the users level that increments by one until the count equals 40 then stop the workflow.

  5. CRMDev says:

    Hello,

    I am trying to build a workflow, that will assign the cases round robin to the agents, I have the below questions:

    1- how to assign the cases for the logged in users only?

    2- There is a bolg about how to assign the leads by using round robin methodology, I have applied the same steps to make a workflow to assign the cases; but it doesnt work!! what I note(by searching the internet)that the samples are for assinging the leads only, does this mean that it will not work with cases?

  6. Adzzer says:

    Hello,

    I`m trying to do it but nothing happened. Once it skipped the `if` and I got: the assigned record was not found.

    I re-write the all thing and it is still doesn`t work. it seems that it doesn`t recognize the 'lead round robin' entity field (in my case called `name`). What am I missing?

  7. Adzzer says:

    I followed your instructions but it didn`t worked. What did I do wrong?

    What did I missed?

  8. shivaprasad.k says:

    If we have 25 sales represents in the organizations, do we need to add 25 if conditions right?

  9. Ben Vollmer says:

    shivaprasad.k  –

    In this scenario, yes. If I was doing this to a larger number of reps, I would do it another way. Either by territory or some other way. This method tends to break down organizationally at about 10 reps. From a technology perspective, it is fine and will scale. I would look at something like EasyPlugins, create it via Plugin if you really have 25 reps and you want it totally random.

Skip to main content