Improve the Microsoft Dynamics CRM User Experience

I’ve written about how to design for CRM user experience objectives and best practices for mobile CRM user experiences. Now I’m going to use this post as an illustrative example to share methods and techniques to improve the user experience with the Microsoft Dynamics CRM application.

It's important to remember that user experience design is not overtly focused on the user interface – which often results in the all too common mistake of modifying the presentation layer – but instead facilitating and directing user behaviors and outcomes by understanding what's most important to users and applying use cases or journey maps to design the application in a way that facilitates their goals.

Each packaged CRM application has its own platform, tools and constructs. While it's possible to instead use more powerful development environments I normally recommend against that practice as it complicates reliability, scalability, support and the steady stream of continuous software updates.

The Microsoft Dynamics CRM application offers a number of tools and constructs such as Dashboards, Forms Designer, Process Guides, Workflow, Dialogues, custom views, PBL (Portable Business Language) and Business Rules which can individually and collectively provide prescriptive user guidance, improve ease of use, facilitate more intuitive navigation and ultimately achieve a more rewarding user experience. These tools can further put CRM where the users want to consume it – on the desktop, tablet or mobile – and either online or in Outlook.

So with objectives and technologies understood, here are some practical examples that can be applied to Microsoft CRM for an improved user experience.

Dashboards. There's no better tool to focus on what's most important to users than dashboards. These landing pages should be created by role and display the most vital performance measures and prioritized activities. For example, the sales person role may display metrics that influence incentive compensation, highlight active sale opportunities, display current and overdue activities or share new customer intelligence. The InsideView integration with Dynamics CRM is a great tool to bring sales executives the most current and relevant news about their customers. Applying the InsideView neural scores facilitates time management by prioritizing which accounts should be followed up with first. Tools that accurately suggest what users should do first and next in an easy to consume interface will improve the user experience. If users also operate their Dynamics CRM in Outlook, the dashboards may need to be replicated in Outlook.

Navigation. Improving navigation for users in Microsoft CRM is best done by modifying the navbar (aka SiteMap) and creating Process Guides. The navbar resides at the very top of each page and delivers a contextual breadcrumbs trail with hyperlinked buttons that permit navigation to any of the displayed intermediate pages. Unfortunately, except for removing menus based on security, Microsoft provides few options to alter the navbar menus. Similarly, Microsoft Outlook uses tree structures to present menus in alphabetical order instead of using the order specified in the SiteMap. To prioritize menus and remove irrelevant menus you'll need to edit the SiteMap in the customizations.xml file. To do this, you can export the file and makes changes in an editor, or you can use a third party tool to make the experience much easier. My favorite tool is the XrmToolbox available on CodePlex. Lastly, if editing the command row actions, a Microsoft recommendation is to display between 5 and 7 actions, and put any remaining under the ellipsis dropdown menu.

Process Guides. If properly implemented, the Process Guides (example illustrated in the red box below) are effective in facilitating end to end process management. These guides allow user defined stages and steps, along with next step actions and stage-gating, in order to streamline business processes and seamlessly link pages together to fulfill those processes.

Microsoft Dynamics CRM

Power Platform. Sometimes still referred to by the former name of xRM (eXtended Relationship Management), Power Platform has become the go to application development framework for customization, integration or application extensibility. This makes Microsoft CRM more adaptable and may be the preferred approach for line of business applications if you want to manage products, assets, employees, vendors or other non-CRM entities which would benefit by inheriting some or many of the standard CRM functions. The .NET Framework can also be applied to xRM or tools applications for more significant customization.

Dynamics CRM Mobile. Dynamics mobile CRM uses the same forms as the web app, however, renders the form based on the device form factor using a technique called fluid forms. This sounds good in theory, but can give you an irregular mobile CRM experience. Adding complexity, Dynamics mobile CRM doesn't allow you to switch between forms. Fortunately, you can hide certain fields, sections and tabs from mobile CRM viewing. To do this, you will need to go into Customizations, select the form, select Change Properties and then uncheck "Available on Phone". If you need to tailor the form beyond this capability for a mobile user experience you will need to create a custom entity.

Okay, with the big methods understood, I'll drill down into some detailed Microsoft CRM user experience recommendations.

Here are several usability aids that will improve your Microsoft Dynamics CRM user experience.

  • Configure the CRM software to deliver information to users when they want it instead of requiring them to go fetch it. This can be user defined via subscriptions in Dynamics CRM, Teams or Yammer, or via configuration of email notifications using workflows.
  • Filter Lookup fields to simplify data selection. By default, when performing a search from a new Lookup field, Dynamics CRM defaults the first view and no filter. Filtering the data based on use case or context will simplify and accelerate data selection. For example, if you insert a new Contact field on the Account form, it will improve the user experience to filter the Lookup view to only contacts related to the account instead of displaying every Contact in the system. Or when selecting an Account, if you have multiple Account types, you may want to apply a filter to the Lookup field to display only certain account types. By creating and designating views and filters to every new Lookup field, you will improve the user experience.
  • Display tooltip or hover-over text to give fields more context or specific instruction to users. Most CRM systems use Alt Text for caption and image descriptions. In Microsoft CRM you open the form in the Form Editor, select the field to edit and enter the field’s tooltip in the Description box. One caution though, try not to exceed 64 characters.
  • Avoid clicks that pop up new browsers. Because of the way Microsoft CRM has evolved, the application still uses some modeless pop-up pages. Launching multiple browsers with each displaying different parts of the application breaks process navigation, loses key navigational features such as the Back button, confuses users and degrades the user experience. This practice should be avoided.
  • Consider a custom design theme to support your company or brand. This can include inserting your logo or modifying the application color palette in the customization tools (e.g. Settings – Customizations – Themes). These changes are supported in both the Dynamics CRM web forms and Dynamics CRM for Outlook. You can create multiple themes, but only one can be published as the default theme.
  • Use CRM templates for correspondence (emails and letters), documents (i.e., proposals) and reports. This will save users a lot of time and deliver more consistent communications and information.
  • Defining tab key sequencing is extremely helpful for heads-down data entry users, but not easy to accomplish in Dynamics CRM. The CRM software defaults tab order from top to bottom and then by column from left to right (up to 3 columns). The easy way to modify tab order is to place fields in top to bottom sequence, however, this doesn't work if your form moves left to right or the fields are not sequential. To customize this function, you will need to apply javascript with the tabIndex property. This attribute is an integer that moves the tab key sequence from the lowest value to the highest. It would be nice if you could do this with PBL (Portable Business Language), but that's not yet a reality.
  • Apply consistent use of Heading type faces and content styles for headings, titles and sub-titles to improve readability. Unfortunately, Microsoft does not offer much in terms of font controls, so if you create forms that would benefit with progressive styles, you will need to apply javascript. To do this, go to Customization – Form – Form Properties – and open the dialog box with OnLoad or OnSave events. This will open the detail properties dialog box where you can enter the javascript that will be called when the event is triggered (i.e. crmForm.all.accountnumber_c.innerHTML = "<font type='calibri'>).
  • Use global option sets wherever possible. Option sets define the list values displayed in dropdown fields or as picklists in the Advanced Find function. Global option sets centralize list values that can be propagated to multiple entities. This function can be a real time saver and keep field values consistent regardless of where those fields are displayed.
  • Type ahead and autocomplete is another feature that accelerates data entry and has become commonplace for SMS users. Unfortunately, Microsoft CRM doesn't support type ahead, however, using javascript or a snippet you can create a lookup script which links to entities and forms with lookup field values. It's not as clean as your smartphone text messaging but it works.
  • Use masked data entry controls to simplify and standardize data entry. These controls automatically format the data appearance. In Microsoft CRM, you have some options at Customizations, such as defining a Data Type = Single Line of Text and a Format type = email, phone, URL or ticker symbol.
  • Minimize the use of applets and javascript with Business Rules and PBL wherever possible in order to more easily absorb new software releases. That said, Business Rules and PBL are not as extensible as javascript so there may be many times when you don't have a lot of choice.
  • Be sure to enable other user preferences such as time zone, default work hours and email preferences at the Set Personal Options page.
  • For the mobile CRM user experience, leverage Dynamics CRM fluid forms for tablets and mobile devices. This technology is slightly different from other CRM software apps that use liquid design to automatically scale browsers to form factors. Fluid forms adjust CRM pages to the size and shape of the user's device, regardless of browser.
  • Dynamics mobile CRM uses the same SiteMap as the web app to render the navigation bar. That doesn't make much sense as mobile apps should only display a subset of the web app. You can remove entities from display by going to the entity record and unchecking the "Enable for mobile" checkbox.
  • When creating mobile apps or simply modifying existing forms for mobile, be sure to test for ubiquitous browser support. Browser behaviors vary and some tweaking will be necessary.
  • When using Microsoft APIs with mobile apps, use only a single API call per screen. Also design the API to allow variable return data, so that the heavy lifting can be done on the server side.