Processing opportunities created after qualifying leads on the new User Experience forms in Microsoft Dynamics CRM

Processing opportunities created after qualifying leads on the new User Experience forms in Microsoft Dynamics CRM

If you are currently working with the new User Experience forms on Microsoft Dynamics CRM Online, good for you, Microsoft showed us at Microsoft Convergence that this is the future of the product and thus getting familiar with it is a good move.

The current User Experience looks and works great to a certain extent, I have found several limitations that I hope will be fixed by the time Microsoft Dynamics CRM Orion hits the market in the future.

One of the things that makes the new User Interface stand out is the "Sales Process Bar" that is located at the top of the Lead, Opportunity and Case forms. The advantage of this process bar is a seamless transition between entities but the down side is that sometimes your business doesn't have the requirement to transition from one entity to another. For example, what if you don't want to create an Opportunity every time you qualify a Lead?

There are several cases when you wouldn't want to automatically create an opportunity:

  • You attend an event and come back with 3 leads from the same company. You would create an opportunity for the first lead you qualify on that company but then you just need to create contacts for the other two.
  • You would like to create a Contact and an Account for marketing purposes but will not use this information to generate an opportunity.
  • You employ a third-party organization to qualify leads for you but you would like to control who can create opportunities from those qualified leads.

Out of the box, Duplicate Detection fields have been added to the process bar that prevent a new contact and account to be created every time you qualify a lead but there is nothing out of the box that will prevent an opportunity to be created, so I came up with this quick "solution" to deal with these cases:

  1. Add a field to the Lead entity and Place it on the form, for this example I placed it on the Sales Process Bar. This field is a Two-Option field that will allow the users to choose whether an Opportunity should be created or not after qualifying the Lead:

  2. Add the same field to the Opportunity entity, the checkbox does not have to be placed on the form or the Sales Process bar.
  3. Configure the mapping of the 1:N Lead to Opportunity entity to pass the value of this field:

  4. Once the mapping is created, the fields value will be passed from the Lead to the Opportunity upon Qualification so you can use that value to do one of two things:
    1. Create a Workflow that Deactivates the Opportunity (and sets it to a custom StatusCode under the Lost Status, I.E. "Auto-Created"). You can then create a Bulk Delete Job that deletes these Auto-created opportunities daily or weekly.
    2. Deploy the Custom Workflow Utilities from CodePlex (http://crm2011workflowutils.codeplex.com/) and Delete the records right after they are created.

I have chosen Option b in this case and this is how my workflow looks:

As you can see, I'm checking for one condition: is the field I added different than 'Yes'? If so, it means that the user didn't want to create an opportunity when the Lead was Qualified. This triggers the custom workflow action that deletes the record out of Microsoft Dynamics CRM. If the user had checked the field before qualifying the Lead, this field would equals 'Yes' and the workflow would've skipped it, leaving the Opportunity intact.

This is how Peter Houston's Lead looks after qualifying it:

And this is the System Job showing that the resulting Opportunity was deleted:

I realize that this is not a solution but more like a workaround since the Opportunity is created but it achieves the goal of not populating your database with open Opportunities that shouldn't exist.

If you have any questions regarding these steps, please contact us.


Microsoft Dynamics CRM Blog