Introduction to Customizing Dynamics 365

Author by Ajay Ravi

Dynamics 365 is a business model that allows multiple apps to work together seamlessly to provide cloud-based solutions for customers.  All businesses have certain business needs, whether it's financials, reporting, different types of situations that come into there.  So what the Dynamics 365 platform allows you to do is really deploy more customized solutions that fit your target business as opposed to having to try to fit them into one container based upon your individual needs.

So, why would you actually customize this? You are looking for specific situations that are going to work based upon how you want to provide your functionality.  And so you may have customized business processes that are used to guide people through the various processes.  So you want to make sure that when you're tailoring this application you're tailoring this to fit your specific needs, whether that's implementing specific business processes or going in and making design changes to forms and charts, those are all elements that are going to allow you to really personalize this experience to either you as an organization or, if you're a partner doing this for other customers, to those customers as they're working through.

Built-in Functionality and Platform Responsibilities

One of the important aspects which you need to consider before you actually go in and start designing your own customizations is to understand the build in functionalities of the application. For example, from a process tracking and automation perspective, it comes with things like workflows  and business process flows, things that you can use to update records automatically or add additional functionality to items based upon your specific needs.  Or if you really are looking for things that are going to interact from a client-side perspective, you can do things like business rules and calculated fields and rollup fields.  And by leveraging some of the out-of-the-box customization capabilities that are there, it makes it much easier for you to start building and defining what this information is without actually having to leverage a developer. 

Another key element to customizing a Dynamics 365 experience is what's called the platform layer.  The platform layer is really the intermediary between the software developer and the database itself.  This is what gives you all of the different APIs and methods that we use to actually go in and handle communication within the context of the application.  So, it has a variety of different responsibilities that it actually does when you're moving through.  Kind of the key responsibilities of the platform are really just to control how people access the application.  So, this is really what's going to look at your security functionality inside the application. 

Customization Methodology

Within any customization options that you're looking at, you really have to look at how all of these customizations are going to interact with each other and how you're going to go ahead and implement these.  So, for example, you might have a development environment that you use to create a lot of these baseline customizations, but at the same point you then have to go ahead and transfer that to another environment like UAT and then ultimately to a production environment.  So, it's important to understand that when you are customizing these, how are these items going to work.  And so you really need to look at them from a deployment perspective, how are you going to package these items together and deploy these customizations, are you creating baseline functionality that's going to be used by other people within your organization. So the methodology around how it would be customized gives you a lot of flexibility to determine exactly what it is that you want to do based upon the type of delivery mechanism that you're working through.

Levels of Customizations

When you start customizing the application, those customizations are basically enhancements.  So depending upon what the needs of your organization or your customer might be, those customizations or enhancements could range from being very simplistic functionality, where you're adding a field to a form or making a very simplistic change, to very complex, where you have a very highly integrated business process that needs to be brought into the application so users can be guided through different situations.  Regardless of whatever it is that you're looking at, one of the first things that you always want to do is you don't want to necessarily just customize the system for the sake of customizing the system.  You really want to understand what the business requirements are for that particular use case and that organization.  Those business requirements really should be what are going to be driving the changes inside the application. 

There's a lot of different customization options that are available. Some of the baseline situations, would be what are called schema changes, or actually going in and making database modifications.  This would include things like adding and renaming different columns within the application, creating new tables to store information inside Dynamics 365, going in and actually creating what's called a new entity.  So, for example, entities are things like accounts, contacts, opportunities.  You may find that you need a new entity based upon your specific needs.  This would give you the capabilities to go out and define what those different situations are.  So while it does ship with kind of a standard set of system entities like accounts, contacts, so on and so forth, you could create your own items based upon those specific situations.  So you could go in and create different entities, you could remove attributes, maybe there's specific fields that you no longer need, or maybe you even want to go in and create a lookup field or a relationship between two different tables within the application.  You do have the capabilities to do that as part of the different customization options that are available.

 Another area that you'd be looking at would be forms.  And so forms can be used  to enter information into the Dynamics 365 application.  And so when you start talking about creating form customizations, we might be looking at things like modifying a specific form, reorganizing where things are laid out on there, adding new tabs, adding sections, rearranging those items to make it easier for users to enter data into the application.  One of the biggest things that oftentimes gets overlooked sometimes is there's a lot of fields that might be on forms based upon just default functionality.  Those may not even apply to you and your organization.  And if that's true, you might as well just go and remove them from the form.  Views are lists that return information based upon specific criteria. We can decide the fields that we want to display.  So, for example, I want to see a list of all of the accounts that I own inside CRM.  I can create a view or I could use a view to work through that.  I can do things like add fields or remove fields to control what specific fields are displayed on the view.  I can modify specific filter criteria to fit my specific needs. I can modify the width of these columns.  I can truly go in and define specifically what this column and what this view is going to look like inside the application. Then I also have option to add charts and visualizations.  These are elements that I can create for different visuals that people can interact with.  They can go in and they can have a chart associated with opportunities.  And when they click on that chart, it will actually drill into different levels of those opportunities so I can see the specific data that is being presented as part of those individual visualizations.  Same thing with dashboards.  Gives me the capabilities to go in and take multiple items like several lists and several charts and actually group them into one view so when I'm working through and defining what some of those different elements are, I can see those first and foremost and I can work with them very specifically.  

One thing that you have from a customization’s perspective are what are called solutions. But the nice thing about solutions is, as someone is developing these customized solutions, you can package everything together inside a solution.  And the advantage to that is now you're working with a very smaller subset of components instead of everything that is available within that Dynamics 365 environment.  By grouping these individual smaller components together, you can really classify them as related items as part of a solution.

Conclusion

Microsoft has removed the complexity of disparate CRM and ERP systems by creating modern, modular business applications that work together on a single platform, giving organizations the flexibility to adopt technology when they need it to improve business outcomes. Dynamics uses data and intelligence to power digital transformation. By leveraging Dynamics 365 Business applications, organizations can:

Engage customers and build relationships - Fundamentally reimagine how you engage with customers—create personalized marketing, sales, and service experiences using data and intelligence to improve every interaction.

Optimize operations - Improve service, drive efficiency, and reduce costs with intelligent and prescriptive guidance infused throughout your business processes.

Empower employees - Attract, hire, and engage the best talent and enable them to do their best work with data and insights surfaced right where they work.

Transform products and services - Use data as a strategic asset—identify new market opportunities, produce innovative products, and create exceptional customer experiences with a comprehensive view of your customers and operations.