Dynamics CRM application elements
Dynamics CRM in comprised of a few standard elements working together to achieve the system's functionality.
Modules
As seen earlier in this chapter, Modules are a grouping of functionalities that serve a specific business scope. The standard modules provided by Microsoft include Sales, Service, and Marketing.
The Sales module deals with all functionality needed to progress a Lead to fruition.
The Service module focuses on tracking activities related to existing customer interactions. This module focuses on caring for customers, and helps the representatives build a better relationship with existing customers.
The Marketing module deals with engaging existing and potential customers, by facilitating marketers to plan, execute, and gauge the success of campaigns engaging customers across multiple channels. This module also helps marketers quantify the success of each campaign and the impact of your marketing efforts.
Entities
Entities are containers used to model, store, and manage business data. Through the use of entities, the platform allows us to structure data, create relationships, and manage actions.
Each entity is comprised of a varying number of attributes. These attributes are in fact data items, of a particular type, stored in the database. Each one of these attributes can be displayed on an Entity form as a field. For example, Account will have a Name attribute, possibly an ID attribute, a Description attribute, and many others.
From a tabular point of view, we can think of each Entity as a table, or an Excel spreadsheet. Each column is an attribute. Each record is a line in this table. Each field is a specific record's attribute, and can be defined as one of the available data types.
Within Dynamics CRM, entities are classified in three major categories. They are system entities, business entities, and custom entities.
Business and custom entities can be configured as customizable or non-customizable. A customizable entity can be modified by modifying its attributes, renaming it or changing processes associated with it.
System entities are used internally by the framework. They can handle workflows and asynchronous jobs.
Business entities are the standard entities provided by the framework as part of the three available modules. They are present in the default user interface and are available for customization.
Processes
Dynamics CRM allows business to define and enforce consistent business processes, helping users to focus more on performing their regular work and less on remembering what needs to be done at each step on the way.
The processes defined can be as complex as needed, and can be grouped and related to achieve even greater complexity. The processes on the CRM platform can be created and managed by nondevelopers. This brings ease of use, and allows managers and power users to manage them and update them as time goes by. For this reason, the system can easily stay up to date with the business as it evolves.
Within the Dynamics CRM platform, at the time of writing, there are four categories of processes available. They are Dialogs, Workflows, Actions, and Business Process Flows. We will look at each one individually, and we will identify when you should use one over another.
The Dialogs in Dynamics CRM are used to create a graphical interface to guide a user through a process to be followed when interacting with a customer or performing a set of actions. They are similar to a script used in a Call Center scenario. They are meant to be executed in one session from beginning to end.
Dialogs help users collect data, create new records, and guide the user through a set of actions to be performed based on various answers from a customer. A running dialog collecting user input looks like this:
Workflows help automate actions behind the scenes. They do not present a user interface, and are not limited to being completed in a single session. Workflows can run over a period of time to completion.
A workflow is usually initiated by a system action, but they can also be customized to be triggered by a user directly. They can work asynchronously or synchronously. The synchronous workflows are also referred to as real-time workflows, and they have been introduced with CRM version 2013. Starting with the same version, we have the ability to convert an asynchronous workflow to a real-time workflow.
An Action in Dynamics CRM is a custom process that allows us to create custom message. They are used to add new functionality to the application, or to combine multiple requests into a single one. They use the underlying web service architecture to group complex or specific action.
Creating an Action is very similar to creating a Workflow. They can be created using the wizard-driven interface or custom code. Custom code is only supported for on premise deployments.
An action is associated to a specific entity or can be defined at a global level. Through an action we can invoke plugins, which are custom components built by developers.
New actions are exposed through the standard API, and can be triggered through custom code and through integration from other applications.
One very important aspect of Actions is that they are not supported with offline clients.
The Business Process Flows are visual elements that allow a system user to input required data, by grouping the required fields together at the top of the screen. They can be created using the wizard-driven user interface, and show the user the progress of a process through a predetermined set of steps to completion.
The Opportunity Sales Process is a very good example of such customization. From a user perspective, they will see the following section on their screen:
For the customizers of the system, the interface to generate this is quite simple and easy to use, and looks as such:
Each stage of the process is defined, and within it, each required field can be added and marked as Required or not. Progressing through stages requires that all fields marked as required are filled in before advancing to the next stage. The control also allows users to navigate back and forward to see what is required at each stage.
With Business Process Flows, we have the ability to create branches. This functionality was added with version 2015 to solve the if/else scenario. For example, if customer status is gold, take one path, otherwise take another path.
Dashboards
Dashboards in Dynamics CRM are visual components that allow users quick access to aggregated data in the system. They are visualization and analytics tools that enhances the value of your system by allowing users to quickly glance at aggregated data and to dig deeper into underlying data used to generate the visualization.
They act as business intelligence tools, providing snapshots of the system data presented in various forms.
Dashboards are comprised of various elements, including charts, grids, IFRAMES, and web resources. With additional customizations, reports can be incorporated into dashboards also.
Dashboards are in fact containers for these elements, and can present up to six visualizations at a time. They are comprised of tabs, sections, and components, and can be created easily through the wizard-based interface, and can be targeted to a specific module, user, or team.
From an ownership perspective, Dashboards can be organization-owned or user-owned. A user-owned dashboard can be shared with other users.
Reports
A user can report on system data in various ways. From the simple Advanced Find, where tabular data can be retrieved and exported to Excel for further analytics, to wizard driven report generation and all the way to custom SQL Server Reporting Services (SSRS) reports. Data can also be used as a data source in Power BI.
This large flexibility makes reporting easy to use and very powerful.
Each one of these options has its own strong points and weaknesses. For example, while custom SSRS reports are the most powerful, not only from the amount of data collected and complexity of data relationship, they do require a developer with extensive SSRS reporting and Dynamics CRM knowledge to produce them.
Power users of the system will find it easy to create wizard-driven reports. While limited in the complexity and having a standard user interface, the ease of creating them will appeal to users with no development background.
These reports support the use of custom parameters for filtering data, and allow us to save for offline use as well as export in some of the most common formats including Excel, Word, and PDF.