Introduction to Extending Microsoft Dynamics 365

The purpose of this chapter is to introduce the primary approaches of extending Microsoft Dynamics 365 beyond what is capable using the out-of-the-box customization tools. It will introduce you to a variety of the most common methods of extending Dynamics 365 and examples of why each method is valuable.

Jump to the following topics to learn more:

The big picture: CRM as a development platform

As we are learning throughout this book, Dynamics 365 includes preconfigured entities, fields, forms, views, security models, reports, and workflows that help businesses manage their sales, marketing, and customer service needs. These out-of-the-box features are designed to provide functionality that is common to most sales, marketing, and service processes.

Microsoft Dynamics 365 also includes many out-of-the-box tools to extend custom business logic into Dynamics 365, including the ability to build custom entities, fields, forms, views, security models, and workflow to inject specific business needs into Dynamics 365. For example, an insurance company might build a custom entity to store and manage their specific policy types for their customers, build rules into their security model, or build workflows to send reminders when a policy is about to expire or to adjust rates based on the status of the customer. All of this is possible using out-of-the-box tools provided within Microsoft Dynamics 365.

The true power within the Microsoft Dynamics 365 platform is its ability to grow and change to work the way your business works. The examples are endless. However, sometimes more complex business needs require extending the system customizations beyond what is possible using the out-of-the-box tools. When this is the case, businesses can rely on CRM as a development platform. Microsoft Dynamics 365 is built on what is commonly referred to as the “Microsoft Stack”, utilizing .Net, SQL Server, Windows Communication Foundation (WCF), and Windows Workflow Foundation.

In addition, the Microsoft Dynamics 365 platform embraces other web development standards such as HTML and JavaScript to allow businesses to further customize Dynamics 365.

As another example, a business could leverage the full functionality of Microsoft Dynamics 365. Now that Microsoft Dynamics 365  enables Operations, formerly Microsoft Dynamics AX, users do not have to perform double-entry of data because this integration connects data between systems using custom code built within, say,  a SQL Server Integration Services (SSIS) package or a custom application that sends and receives data through the CRM web service endpoints.

With all these options in hand, there are few business software solutions that cannot be met using Dynamics 365. And, with much of the functional foundation provided out-of-the-box (the “plumbing”), building highly customized business solutions on CRM is also an extremely cost-effective approach to solving a wide variety of business problems.

When is custom development necessary?

As businesses use Microsoft Dynamics 365, they rely more and more on its feature set. Their data is centralized and when coupled with their business processes becomes a vital cog in the growth of the business. As time passes, the business will identify more and more specific needs for analyzing data, supporting their customers, increasing sales, and finding ways to be more cost effective and profitable in their business. It is with this growth that a business begins to find needs that are unique to their business; or perhaps, a business identifies a need that will drastically increase efficiency or give them an edge in their field.

When the data in Dynamics 365 becomes this critical, so does the functionality in your business processes. It is this point that extending Microsoft Dynamics 365 becomes more beneficial and powerful.

in5_v2

While it’s true that CRM can’t do everything–it won’t make your coffee–it is pretty rare to find a situation where custom extensions in CRM won’t meet a business need.

Valuable skills needed for extending Microsoft Dynamics 365

in8