Crash Course 101 for Customizing Microsoft Dynamics CRM 365
March 13, 2020
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 (OOB, the “plumbing”), building highly customized business solutions on CRM is also an extremely cost-effective approach to solving a wide variety of business problems.
Sometimes It’s Better to Use the Standard Features
If a business requirement would require you to customize the system instead of using standard features, then we would highly recommend that you revisit the requirement and reason with the business or a change in user interaction. The business users are highly receptive to low cost and early implementation if it meets 80% of the need and require workarounds for the rest of the 20%. You would be surprised at how flexible the business is when it comes to the matter of budget and timeline.
What Skills Does a System Customizer Need?
A system customizer can benefit from various skills on Microsoft Stack for different scenarios, from customizing Dynamics 365 to creating new plugins and web applications.
- Dynamics Configuration
- Dynamics Customization
- .NET programming
- HTML
- JavaScript
- Web Services
- SQL Server Reporting Services
- XML
- Rest
Working with Custom Entities
Customizing entities includes adding fields to entities, changing the schema, and creating custom entities. An entity can also be defined as an activity entity.
Create a Custom Entity
- In the navigation bar, click Settings > Customizations > Customize the System. (If you have created a solution, then click on that solution and proceed from there.)
- In the page that opens, click on Entities under Components, and then select New, and choose Entity.
- Fill in the Display Name and the Plural Name (the name that shows in the navigation pane); indicate whether the entity will be owned by a user, team, or the organization (ownership).
- If the entity is an Activity entity, check the box Define as an Activity
- You can also set the Primary Image, Color, and add a Description for the entity.
- In the Areas that display this entity, you can select the tabs within which this entity will be listed. Note: this is only relevant to the default sitemap.
- Select the required options for the entity. Note that some of the options cannot be removed after the Entity is created. These options are indicated by † after the name of the option.
- On the Primary Field tab, you can change the Display Name, Field Requirement, Data Type, Format, and Maximum Length for the Primary Field of the entity. You cannot change the type of entity, the Schema Name, or the Primary Field after the entity has been created.
- Once you have everything set, click Save.
- Once saved, you will need to publish the entity to make it visible to the organization.
- Custom entities are only visible to System Administrators by default. You will need to add permissions under the Custom Entities tab in a security role for other users to be able to interact with custom entity records.
Entity Relationships vs Connections
Relationships
- This is a formal relationship between entities
- We can configure Relationship behaviors using Entity Relationship
- E.g. : An opportunity without a customer is not accepted so we have an entity relationship between Opportunity and Contact so that we can query and report data efficiently.
- Relationships are defined as 1:N, N:N with additional relationship behavior.
Connections
- This is less formal relationship betwwen entities
- We can configure Connection Role in connections creation.
- E.g.: If one contact is spouse of another contact, or one contact is an employer of another contact, so for such type of relationship we define Connections.
- Two entity records are connected by a connection Role such as , Employer, Spouse etc.
Form Customizations
The Microsoft Dynamics 365 user interface can be customized to meet an organization’s requirements. Forms can be modified to show only those fields that are necessary for business processes. And new forms can be added.
There are several types of forms available: Main, Main – Interactive, Mobile, Card, Quick Create, and Quick View. The Main, Main – Interactive, Card, Quick Create, and Quick View forms are available in the web application, Dynamics 365 for Outlook, and Dynamics 365 for tablets. The Mobile form is used for Dynamics 365 for phones.
Modifying the Main Form
- Within Customizations, click on Forms for the entity you want to modify. Open a form with the Main Form Type.
- You can select the part of the form you want to modify in the Select section of the ribbon.
- To add fields, drag and drop them from the right pane onto the form. You can double-click on a field in the Field Explorer pane, and it will get added to the form either below a selected field, or at the bottom of the selected section if no field is selected. You can also move existing fields by dragging and dropping them to other locations on the form.
- Fields that are not required can be removed by clicking on the Remove button in the Edit section of the ribbon.
- You can add other elements to the form like a Sub-Grid to show child records, a Spacer to help line up fields next to each other, a Quick View Form to show read-only fields from parent records, a Web Resource to run JavaScript on the form, or an IFRAME to show web pages or other information from external resources.
- If you click on the INSERT tab above the ribbon, you’ll see the option to add sections and tabs and control other elements of the form.
- You can create new fields from the Field Explorer pane by clicking on the New Field.
- Once you’ve made the changes you need, click Save and Publish. Unpublished changes to the form will not show up in the user interface. You must publish for them to be visible.
Views
A view is a grid with records listed under select column headings. It is a type of saved query. Users can select different views to look at a subset of records of the same entity that fit into pre-specified filter conditions. There are three main types of views: public, system, and personal.
Public Views
These are the views that come with the application. Custom views that an organization creates are also public views. One of these public views can be defined as a default view. When a user selects an entity by clicking on it in the navigation pane, the default view is what gets displayed.
System Views
These views, similar to Public views, are automatically created by CRM on installation. They are used for unique situations within the application. System Views include Associated View, Advanced Find View, Lookup View, and Quick Find View
Personal Views
Users can create their own views using the Advanced Find tool and save them as personal views.
Creating a Custom System View
- Navigate to Customizations > Views. Expand the specific Entity for which you want to create the new System View and click the New button.
- Enter a name and description for the view:
- Click on Edit Filter Criteria.
- Define the filter conditions for the records. You can group the conditions with AND or OR operators.
- Based on what information you want to see, you can choose the columns from the Add Columns You can use fields from the entity for the view, as well as parent entities.
- You can set the view to sort by one or two fields by default, in either Ascending or Descending Order. You can only sort by fields for the entity itself, not by fields from a parent entity.
- You can adjust the width by clicking on the column name and then clicking Change Column Properties. Select the number of pixels you’d like the width of the column to appear as in the view. You can also set an image file in the column for the view using the Web Resource and Function Name.
- Remember to publish your changes to the view after it is created.
Business Rules and Workflows
With numerous options to implement business logic in Microsoft Dynamics for Customer Engagement (CRM), Business rules are an often overlooked component with real-time capabilities that can be very helpful. While Dynamics 365 Workflows have its own use in CRM, Business Rules in Dynamics 365 for Customer Engagement are easy to understand and can offer user-friendly features that limit the custom development that used to be required to do this functionality.
Aside from Business Rules, there are two native processes compared to Dynamics 365 (D365) Workflows, and Microsoft Flow (Flow)—each has its use. Enough though Business Rules can be very effective in CRM, their functionality is limited. It is important to clarify how each of these tools can be used in CRM.
D365 Workflows
Workflows built inside of CRM can be very helpful when the process happens exclusively inside of CRM. The option to choose between real-time and background for the workflows enables you to choose between functionality and system performance, and, unlike Business Rules, can be activated off nearly any event in CRM. While it is helpful to see the results of a process in real-time, it can also degrade the speed of CRM, so Business Rules can be used in place of some real-time workflows to help with performance.
Additionally, email notifications cannot be sent from CRM through Business Rules, so workflows can be used to send internal emails. For example, if an opportunity has not received activity in a month, then a D365 Workflow may send an email to the associated sales rep in order to check in with that contact This email can also include a dynamic hyperlink to the opportunity record, which streamlines the process for the sales rep receiving the notifications triggered by the workflow.
Business Rules
Business rules often act in real-time and have a variety of functions. Each of the functions will be explored below to explain how they can be used to improve CRM for your business.
Lock/Unlock
The Lock/Unlock Business Rule enables the user to lock or unlock a field dependent on whether another field on the form contains certain data. If the system requires the user to enter Est. Close Date data before Actual Close Date data you may want to use a Business Rule to lock the latter field based on one whether the former contains data, as seen above.
Set Default Value
Setting the default value will place a value in a field based on meeting the condition in the Business Rule. A value can be a formula, which can add or subtract from the original field, add days (if it is a date field), or it can set an arbitrary value or the value of another field.
Set Visibility
Setting the visibility is a common function to use with business rules. It allows you to streamline the data that is seen by a user when on a form. As an example, the show visibility rule can be used based on whether a box was checked yes or no. If yes is selected, then the other fields would show, but if no is selected, they would stay hidden. This rule and Lock/Unlock can be used in place of each other depending on what you want users to see when on a form.
Recommendation
The recommendation tool does not fill in, lock, or even require another action; however, it can be useful when entering data into CRM, among other uses. On an Opportunity form, when a salesperson enters data in the Est. Revenue field, which is not a required field, there may be a recommendation to put data in the Estimated Close Date and Probability, which can create a weighted pipeline as mentioned above, and allow sales managers to keep track of opportunities with greater detail. Below, you can see that when the Est. Revenue field contains data, then two recommendations to set the field value are given for each the Est. Close Date field and the Probability field.
Other business rules include showing an error message, setting a field value, and setting a field as business required. As detailed above, Business Rules have plenty of potential for business use. Business rules are at their best when you need quick actions done on a form, which they do very well. Business Rules can provide quick, code-less business logic to maintain system performance and are great tools to guide end-users in CRM.
There are many ways a Dynamics 365 application can be extended for user requirements. We know how to make Dynamics 365 projects successful. We have been helping clients in Switzerland and around the world to extend their development teams and provide dedicated developers, with “Swiss Quality, Global Delivery” mindset. We develop ourselves constantly and adapt to latest tech needs.
If you are looking for a Dynamics 365 Developer, our team is ready to help.
Request a Quote for Dynamics 365 development (https://radity.com/en/contact/)
Radity GmbH is a seamless communicator with a well-organized workflow. They expertly understand internal stakeholders’ needs in order to realize the desired vision.
Kyle JJ Kemper
Founder, Swiss Key Wallet