Using CRM 2011 as a Configuration Management Tool

During a CRM implementation it is imperative that not only a great solution is provided to the client, but also to understand how the components within that solution came to be and how they relate to the respective requirements and associated use cases.  This can be done in a number of ways, including the use of Team Foundation Server (TFS), SharePoint lists or other such solutions.  However, if your client does not have the ability or the desire to implement such solutions, you can easily track these changes within the CRM 2011 development environment.

By containing these changes within the CRM instance, your CRM implementation team has the ability to immediately document their changes along with leveraging native capabilities within CRM such as Advanced Find, Views, Export to Excel and SSRS Reporting to support the effort.

How to start?

To get started, create a custom entity within your CRM instance.  You can call it “Configuration Management” for example.  The attributes to include within this entity will obviously vary based on your implementation, however, I have mocked up an example shown in the screenshot below:

Config Mgt
Mockup of a sample "Configuration Management" entity used to track changes within your CRM implementation

TIP: It is important to remember NOT to include this entity or associated entities within the CRM solution which will be exported from the development environment.  This information would not need to be included in other environments as the solutions are promoted.

Best Practices

Attributes to include as a best practice would be items such as:

  • Description of the change
  • Type of change (Add, Change, Delete, etc.)
  • Component Type (Entity, Attribute, Option Set, View, Chart, Jscript, Web Resource, etc.)
  • Detailed description of the function of the component (This also should be the description documented upon creation of the item
  • Related components
  • Unit Testing Information (Who is testing? When? What is the expected result?  Actual? What is the status of the testing?)
  • Traceability details (What requirements are associated?  Use Cases? Business Processes?)


In order to maintain strong traceability between the component and the requirements and/or use cases and business processes, additional entities can be created to document these items and shown on the configuration management entity via SubGrids.  However, if the project is an Enterprise level implementation the cost/benefit may outweigh the time and effort required for this level of data entry if an import is not feasible.

In that event, a memo field to provide the details of the associated requirement numbers, use cases, etc. should suffice.  This information can be extracted from CRM as indicated earlier in the post through an Excel export from a view or through the creation of an SSRS report to support the documentation.

I hope that you have found this post informational.  Have you tried this before?  Please share your experiences by entering a comment below.


Using Dialogs to Create an Application for Services

Dialogs within Microsoft Dynamics CRM are not only used for simple prompt and response data entry, but can be used to create a complex application for services.  In this example, we will create a pre-qualification application for day care and tutoring services that could be used by any business providing these types of services.

The use case for this scenario is that we have a call center specialist who is taking inbound requests for prequalification for services for their child.  The call center specialist uses the Case entity within CRM to track the inbound requests from the parent/custodian requesting services.  The method for prequalification will be presented to the call center specialist via a CRM dialog.  The information captured within the dialog will be used in prequalifying the child for services, as well as the creation of records within CRM to track the process and its status.  In this post, we will focus on the dialog process to collect the information to determine the prequalification for services.

Day Care Prequalification criteria
In order for a child to receive day care services in this scenario, the child must meet the following requirements:

  1. Must be 5 years old
  2. Must reside in the state

Tutoring Prequalification criteria
In order for a child to receive tutoring services in this scenario, the child must meet the following requirements:

  1. Must reside in the state
  2. Must be under the age of 12
  3. If older than the age of 12, has Special Needs

Once the prequalification criteria has been reviewed, a child’s Parent/Custodian must then identified for Priority Services based on a number of additional criteria, such as number of members in a household, family income in comparison to National Poverty Levels as well as job/training requirements.

Dialog Process Design

Main Daycare/Tutoring Dialog
Initial dialog to begin the Daycare/Tutoring prequalification process.

The dialog to collect the information for both day care and tutoring prequalification will require an on-demand dialog associated to the Case entity, several child dialogs for the sub-processes, as well as logic using check conditions and conditional branches.  The full design could also include the use of variables, queries, create records, update records and potentially a custom workflow which will call an Eligibility Validation Engine using BizTalk.  For this blog post, we will focus on the portions of the dialog design used in collection of information for day care and tutoring prequalification.

Dialog Requirements


tutoring child dialog
Child dialogs, such as this tutoring example, allow for branching of a process based on input from the user within the dialog.

The dialog needed to not only collect the information in an efficient manner, it also required the ability to display screens only when required.  For example, within the tutoring prequalification process, there is a main page which then presents a page for questions pertaining to Priority Service Groups.  Dependent on how these questions are answered, it may be required to gather additional information for the applicant based on three additional areas of inquiry.  Each additional page displays only if the prior criteria is unmet.

Check conditions, conditional branching and child dialogs allowed the seamless navigation of an entire workflow although there are many branches within the business process.

Daycare/Tutoring dialog
Workflow diagram which depicts the check conditions as well as the conditional branching of the child dialogs within the prequalification process.

As stated earlier, the call center specialist is now able to launch a prequalification process based on the business process for day care and tutoring directly from the Case.  This process allows the specialist to address either or both program prequalification requests by the client and collect all of the pertinent data without having to have to navigate away from the Case.  Upon completion of the full design, the specialist will also avoid wasting valuable call hold time in the creation and maintenance of additional records required by the process.


I am providing an unmanaged solution with all of the dialogs, both on-demand and child for the entire process.  You can download it here from my SkyDrive.  As the design matures, I will update you with additional solution files.

If you are looking for more information on CRM dialogs and best practices, I recommend that you visit Richard Knudson’s CRM Trick Bag.  There are many fantastic dialog related articles.  I have no problem stating that he taught me everything I know.

Lastly, there are some great videos on CRM dialogs available on YouTube.  I highly recommend this video, also created by Richard.

I hope that you found this post beneficial, possibly helping you understand some of the power of dialogs within Microsoft Dynamics CRM 2011.  I would love to hear how you have implemented dialogs with your customers!

Dynamics CRM: Opening the “Mystery Box”

Tannen's Magic Mystery Box
Tannen's Magic Mystery Box

I watched J.J. Abrams’s talk on today and his topic was “The Mystery Box”.  It really captured my attention merely because of the word “mystery”…and well, it’s J.J. Abrams.  He talked about how he and his grandfather would go to Lou Tannen’s Magic Shop in New York City when he was a child.  While he was at this store with his grandfather he bought Tannen’s Mystery Magic Box.  It was only $15 and it contained $50 worth of magic.  A clear bargain, right? He never opened the box and still keeps it in his office today, enjoying the mystery.  What he loves about the box is that it represents not only his memory of his grandfather, but the “infinite possibility, that sense of potential.”

His TED talk was only about 20 minutes long, but I immediately began to see parallels between his Mystery Box and Dynamics CRM.  The Dynamics CRM platform is so extensible, the true capabilities of an implementation are left only to the imagination and the creativity (not to minimize time/budget constraints) of the implementation team.

In movies and television, the “Mystery Box” is the paper that the script is written upon or the computer that the CGI animation is conceived.  Ours is the Microsoft Dynamics CRM platform.

It is often quite simple to check off a task denoting a requirement met with out of box functionality.  However, it is also often just as simple to enable an entire business process while meeting numerous requirements just as easily.  Each implementation is itself its own “Mystery Box”, waiting to be opened to find out what is inside.  Tools such as workflow, dialogs, custom activities, activity feeds and everything else that can be unlocked with the SDK are sitting in that box, waiting to be discovered.

So, I challenge you…have you had a situation where you effectively “opened the Mystery Box” and provided some incredible customer value or is that “Mystery Box” still sitting in your office, waiting to be opened?

Next Week: Creating an application for services using dialogs

Achievement Unlocked – CRM User Value

Achivement Unlocked - CRM User Value
Understanding what your provides your clients the same feeling as when an XBOX achievement pops on-screen goes a long way to achieving user value and adoption.

I celebrated the 10th anniversary of the XBOX this week by playing and completing Call of Duty: Modern Warfare 3 (on Veteran difficulty…just sayin’). As I repelled the seemingly endless waves of the fictitious rogue Russian Army throughout Europe, a couple of achievements popped-up  on screen after completing a level. That made me think…while the achievement does slightly inflate my ego and provide a brief, albeit unwarranted, sense of accomplishment, it also tells me that I am playing the game correctly.

So, I thought, it stands to reason that a similar tactic could be taken when it comes to CRM implementations. No, I am not saying that users get “achievements” when they successfully track an e-mail or complete a task…(although that would be kind of cool) but there are ways within CRM to provide users with cues, both visual and process based to inform them of successful use of the system. This can provide an easier path to higher user adoption for the new or hesitant CRM user. Some examples include Dashboards, Dialogs, Notifications and Color coding indicators.

Dashboards provide insight to management on business KPIs such as an Opportunity

Dashboards can present user relevant information to drive adoption

pipeline reporting, which clients have received touch points, or case distribution by subject  area. When combined with Goals, they open a window into a users success working in CRM. User based metrics can motivate a new CRM user to higher adoption levels based on a feeling of accomplishment and overall user value. These metrics can also provide training and support areas the ability to analyze negative usage trends that could lead to training opportunities to improve user adoption.

Dialogs provide the ability for users to update CRM records through an on-screen prompt and response mechanism. This improves the chances for more accurate data collection as users are directed to what information is required and how to enter it correctly. Tips on best practices or corporate procedures can also be included within the pages of the prompt and response. For new CRM users who may feel intimidated by the sheer number of fields available within a contact record, for example, dialogs cut right to the specific needs of the business process. This reduces the feeling that CRM “wastes time” or working in it can be a hassle. Also, dialogs can launch processes to automate follow up actions or workflow based on the prompt and response page input.


Notifications are available natively through the CRM Outlook client for appointments, tasks and phone calls that a user is assigned within CRM. However, these notifications are simply reminders to take the action. CRM also allows for custom notifications such as e-mails sent to the user to inform them that an activity has been assigned, approval is required, or a phase of a sales process within an opportunity has been completed. These notifications can contain links to underlying activities or detailed process information. How you choose to notify your users about actions is limited only to your imagination.

Color coded indicators
Adding color indicators to CRM provide users immediate feedback on the status of a record or the result of actions taken on the record. Gonzalo Ruiz has written a great article on his blog on a few methods for adding color to the CRM experience.

In summary, Microsoft Dynamics CRM provides a rich platform to not only support your relationship management initiatives, but do so in a manner that enables your sales force and support staff to achieve more.

Helpful CRM tools increase productivity and technical knowledge

There are a number of helpful tools available on Codeplex and within the CRM community that really improve the productivity of a CRM Functional Consultant. Not only do they improve your ability to deliver requirements, they also provide a unique way to gain some insight to more technical skills in a non-intimidating way. If you are not currently leveraging what these tools can offer, try them out and see how they can help your productivity!

CRM 2011 Visual Ribbon Editor


Once this tool is used, here’s a learning opportunity…open the solution where your ribbon is kept in Visual Studio and look at the ribbondiffxml for the selected entity. See how the tool updated information that you entered to better understand the “under the hood” of CRM 2011 customization.

CRM 2011 Sitemap Editor


This helpful tool streamlines the process to customizing the sitemap based on our client’s requirements. It also provides an insight to how the sitemap is structured. This information can be invaluable to the functional CRM consultant.

Sitemap and ribbon customizations can be a challenge without these handy tools if you are not familiar with Visual Studio, the sitemap or how to update the ribbondiffxml without confidence. I have found these tools to be helpful in not only streamlining the customization process, but demystifying the underlying components and increasing my understanding of some of the technical underpinnings of Dynamics CRM 2011.

Walking to Mordor…

Welcome Readers!

My name is Shawn Tabor and this is the first post, beginning the journey that is blogging about CRM and related topics.  I do this with great trepidation as I really want this blog that entertains while providing useful information…and that is a daunting task to be sure.  I liken this adventure for me to that of Frodo’s quest to destroy the “One Ring” (for the uninitiated, see the Lord of the Rings) and all of the challenges that he encountered.  I see this as an extremely rewarding endeavor with many challenges ahead to provide informative posts that are engaging and not a regurgitation of what has already been said.

Some information about me:

  • I am a CRM consultant for a Gold certified Microsoft Dynamics CRM partner
  • I have a passion for CRM and Social Networking
  • I love the idea that someone could read my blog and gain knowledge or a perspective they may have not had otherwise
  • I am a HUGE Doctor Who fan
  • Much like a Hobbit, I am short with hairy feet…hence “CRMhobbit” 🙂

I would like to close my first post to the CRMhobbit blog with a “thank you” to those who I have found inspiration from to get this blog off of the ground.  If you have not done so already, please take the time to visit their blogs and follow them on Twitter.

Thank you to Julie Yack, Paul Greenberg, Ben Hosking, Jim Lomas, Laura Robinson, Jim Glass, Jr., Martin tenVoorde, Anne Stanton and Chuck Ingram!