Customization Options for Dynamics CRM

Author by John Adali

This is the first post in a multi-part series on how to create customizations in Dynamics CRM. If you’ve ever used Dynamics CRM, you quickly learn that while it’s got a lot of features and functionality out-of-the-box, the system really needs to be customized to your specific environment to fully meet your business needs.

Once you realize this, your next questions are probably “How do I customize CRM?”, “What are my options to customize CRM?”, or “Do I have the skills to customize CRM?”. These are all great questions, and you should be asking them to ensure your efforts are set on a path to success. I will list out the different ways you can customize your Dynamics CRM environment at a higher level, so you can get a general idea of what area fits your level of customization (and skill).

There are three main areas of customization for Dynamics CRM, described below:

No-Code Configurations

The first place to start when you are considering customizing your Dynamics CRM environment. Dynamics CRM provides a very robust platform to create customizations on the out-of-the-box entities, forms and fields, without having to write complex code solutions.

You can get very far with these types of no-code configurations. I’ve seen full CRM implementations that use no-code configurations as their only customizations, and they don’t have one line of custom code at all! Here are some of the things you can do with no-code configurations:

  • Extend standard entities to add custom fields
  • Create your own custom forms to extend standard entities
  • Create your own custom entities
  • Extend standard views to display additional information
  • Create your own custom views
  • Create your own custom business process flows
  • Create workflows that provide custom logic
  • Create business rules that enforce data integrity

Part 1 can be found here.

Javascript Customizations

If you find that no-code configurations do not satisfy the customizations you need, the next area you should consider is creating custom Javascript files. Dynamics CRM uses Javascript files to perform a multitude of things related to how the forms look/operate, as well as other UI considerations.

If you need to customize Dynamics CRM to perform things when a form loads, or when a field entry value changes, then Javascript files are a good fit. The drawback here is that you need to have the skills to write Javascript code in order to properly implement this type of customization, so it is not as easy as the no-code configuration option.

Please note that Business Rules were introduced in Dynamics CRM 2013 as Microsoft’s way to “lower the bar” for creating Javascript customizations. Business Rules are a no-code way to perform the same (or similar) functionality that Javascript customizations currently provide. CRM provides a designer “surface” to create these rules, so that CRM administrators can create these rules without having to know Javascript.

Some of the things you can do with Javascript files or Business Rules are listed here:

  • Set the value of a field on a form, based on some criteria
  • Make a field on a form required when a value in another field is changed
  • Show an error message when an invalid entry is entered for a field
  • Show or hide a field depending on criteria
  • Enable or disable a field depending on criteria

Code Customizations

If no-code configurations or Javascript customizations do not fit the custom functionality you need to implement, the final option you have is code customizations. This requires the highest level of skills for customizing Dynamics CRM, as the person implementing the customizations (usually a developer) needs to know how to write code.

Code customizations usually are created as plugins, custom workflow activities, or custom web applications that can be embedded in CRM forms. Many companies offer 3rd party application solutions that you can add to your Dynamics CRM environment to extend the out-of-the-box functionality. These 3rd party solutions are custom-coded by their own developers, but if you purchase their application you don’t have to worry about writing code for the functionality (as they have already done that) – you just install the application and you’re good to go!

Custom plugins are designed to execute when an event or action occurs in Dynamics CRM, such as an update or delete of a certain type of record (for example, when an Account record is deleted). The plugin uses a code software development kit (SDK) provided by Microsoft to access the CRM environment to perform whatever custom logic needed.

Custom workflow activities are similar to plugins, but they are not executed when an event or action occurs in the CRM system. They are designed to be added to workflows in CRM, so that when a CRM administrator is creating a no-code workflow they can select a custom workflow activity to perform specific functionality. This extends CRM workflows to perform almost anything you can imagine in the system!

Custom web applications are server-hosted web applications written with custom code (ASP.NET for example) that are hosted on a web server that your Dynamics CRM environment can access. These custom web application pages can be embedded into a standard CRM form, to customize that form in CRM. There are many possibilities here on what can be created, so I will address that in a later post.

In conclusion, I hope you can see that the customization options for Dynamics CRM are numerous and these choices help make the Dynamics CRM an extremely customizable platform to fit any business need.

Please stay tuned for further details on customizing Dynamics CRM, as I will be updating this article with links to future blog articles. Happy customizing!



John Adali

Technical Architect - Dynamics CRM