Over my consulting career and 15 years of using Dynamics CRM at Syskit, I’ve witnessed firsthand how this powerful tool can be both powerful and challenging. While the ability to customize and extend Dynamics CRM makes it an attractive solution for businesses, those customizations can also create roadblocks down the line.
Dynamics CRM can be easily customized, it offers numerous options to customize and extend it according to your business needs. However, while it may be tempting to tweak every element to your liking, there are certain challenges you may encounter later that could make those customizations more of a burden than a benefit.
For instance, we decided to replace the out-of-the-box address functionality with a drop-down list of countries. By default, Dynamics CRM offers a free form text field for the Country field. This means that end users can enter variations like “US,” “USA,” or “United States,” even though it’s all the same country.
Allowing users to type any variation of a country name makes any reporting, BI or automations based on geography impossible and there is a higher chance of somebody typing something that is not even a country e.g. “Peckham”.
Our solution for this problem seemed simple and on spot at the time. We replaced the out-of-the-box text field with a drop-down list pre-populated with a standardized list of countries. This not only normalized the data but also allowed us to set up geographical reporting hierarchies (Continent > Region > Country), streamlining our reporting process.
For many years, this solution worked well for us. However, the problems began when we transitioned from Dynamics on-premises to the cloud version of Dynamics CRM. Moving to the cloud brought numerous advantages, such as improved integrations and greater flexibility. We quickly integrated our CRM with tools like Marketo, Salesloft, and Zoominfo, all of which provided rich customer data syncing capabilities.
However, here’s where the hidden pitfalls of customization came to light. All of these third-party tools expect to sync data with the default fields, including the free-form version of the Country field. Since we had customized that field, integrations with these tools became far more complex. We found ourselves needing to allocate extra time and resources to modify integrations to accommodate our custom country field, which was not recognized by the third-party tools.
This made integrations more difficult and sometimes prevented us from easily connecting with other systems we wanted to use. Each new integration required custom development, which added to the complexity and maintenance of our system.
The Takeaway
Think twice before you overly customize your CRM, especially fields of base entities. These seemingly simple customizations can become significant obstacles when you try to integrate with other systems in the future. As we learned the hard way, sticking with standard fields where possible can save time, effort, and headaches in the long run.