Mastering Microsoft Dynamics CRM 2016

By Deepesh Somani
    What do you get with a Packt Subscription?

  • Instant access to this title and 7,500+ eBooks & Videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Free Chapter
    History of Dynamics CRM
About this book
Microsoft Dynamics CRM is the most trusted name in enterprise-level customer relationship management. The latest version of Dynamics CRM 2016 comes with some exciting extra features guaranteed to make your life easier with Dynamics CRM. This book provides a comprehensive coverage of Dynamics CRM 2016 and helps you make your tasks much simpler while elevating you to the level of an expert. The book starts with a brief overview of the functional features and then introduces the latest features of Dynamics CRM 2016. You will learn to create Word and Excel templates, using CRM data that will enable you to provide customized data analysis for your organization. You will understand how to utilize Dynamics CRM as an XRM Framework, gain a deep understanding about client-side scripting in Dynamics CRM, and learn creating client-side applications using JavaScript and Web API. We then introduce visual control frameworks for Dynamics CRM 2016 mobile and tablet applications. Business Process Flows, Business Rules, and their enhancements are introduced. By the end of this book, you will have mastered utilizing Dynamics CRM 2016 features through real-world scenarios.
Publication date:
November 2017


Chapter 1. History of Dynamics CRM

Microsoft Dynamics CRM was first introduced in 2003 as Microsoft CRM 1.0. It had far fewer functionalities, which focused on the Sales and Service modules. Organizations faced some difficulties as the customization capabilities were limited and the business process were harder to map with the processes in the system. This product targeted the organizations working with relationship management.

After this version, Microsoft launched Dynamics 3.0 in 2005 instead of 2.0. The UI was enhanced and the Marketing module was introduced with this version. The customization capabilities were also increased. The XRM platform was used to create and enhance applications on Dynamics CRM. Due to this, some more features, such as integration with Outlook 2007, integration with Microsoft SQL, and reporting services were possible.

In December 2007, Microsoft introduced Dynamics 4.0, also called Titan. There were no major changes made with the GUI, but many platform changes were made. CRM Online was introduced in North America, which provided customers with the option of hosting the CRM on cloud. It also had improved security features, data importing functionalities, mail merge, and support for operating systems such as Windows 2008 and SQL 2008. This version provided options for selecting multiple currencies and choice of base languages. Plugins and workflows were introduced with this version, which increased the capabilities of the platform.

Microsoft released a beta version, Microsoft Dynamics 2011, in February 2010. The full release was released in February 2011. Features such as charts and dashboards were introduced with this version, which allowed the users to visualize the data in a pictorial format. It provided a 360-degree view of customer profile, which enhanced productivity. Solutions were also introduced in this version.

With the release of Microsoft Dynamics 2013, it was possible to run Microsoft Dynamics CRM on any browser from a tablet device powered by Windows 8 or iOS and any smartphones running Windows Phone 8, Android, or IOS. The popups were also reduced, which was a significant change. Business rules and real-time workflows were introduced in Microsoft Dynamics 2013. This reduced the need to embed code in plugins, thus reducing the customization effort required on the platform.

With the release of Microsoft Dynamics by Microsoft in September 2014, more features, such as Rollup and Calculated fields, one-note integration, themes, pause and resume SLAs, and so on, were introduced. Business rules were enhanced more, and it was now possible to embed more complex logic in the conditions. Business Process Flows didn't have in-built features, which prevented the movement of stage if some of the mandatory steps were not completed.

In November 2015, Microsoft Dynamics 2016 was released with features such as Word and Excel templates. With this version, it was possible to integrate CRM with other products such as SharePoint, Azure, and Power BI, which provided better cross-selling.


Microsoft Dynamics CRM 2016 overview

Now that we've gone through the history of Microsoft Dynamics CRM and how it evolved during the years, let's get an overview of Microsoft Dynamics CRM 2016.

Sales module

The Sales module in Dynamics CRM takes care of the entire sales process and the activities involved in sales. The Sales module has entities such as Contacts, Accounts, Leads, and Opportunity. These entities are used to store the information required in the sales process:

  • Account: Account stores the information related to your customers, which can be a company or an organization. It can also contain records of stakeholders, vendors, business partners, or other organizations you interact with.
  • Contact: This stores the information related to the people or individuals that are generally your customers or contacts of customers. Contacts are mostly related to a customer. Sometimes, a contact is not linked to any customer. In such cases, they are not related to any account.
  • Lead: Leads are the potential customers generated from multiple sources, such as entering them manually, from company website, mails, or from other social media. If the lead is qualified, then they are converted to an opportunity.
  • Opportunity: When your customer responds or shows some interest, then your Lead is converted to an Opportunity. An Opportunity can be won or lost.

Sales life cycle

Generally, the sales life cycle starts with Lead generation. A lead is your potential customer. When an individual or a company shows any interest in your product/service and provides some details for further communication, then it is considered a lead:

The salesperson either manually enters the details of the lead into the CRM or captures the details through mails, websites, phone calls, campaigns, and so on. It requires a lead name (first name and last name) and a topic that describes the lead.

After lead creation, the salesperson does multiple activities to convert it to a customer. This can be done in form of appointments, phone calls, and emails to gather more information about the customer. If the customer gives a positive response, then Lead is qualified to an Opportunity. A contact and an account record is created after lead qualification. If the lead is disqualified, the sales process ends.

Once the lead is qualified, the salesperson gives quotes to the customer. Quotes can be revised multiple times until the customer agrees. Once the customer agrees with the quote, the opportunity is won; otherwise, the opportunity is lost and the sales process ends.

After winning an opportunity, an order is placed and an invoice is created after the order is delivered to the customer.



The marketing module of Dynamics CRM is designed to track all the marketing activities. It mainly consists of Marketing Lists and Campaigns. This module helps in analyzing the marketing efforts, which can be tracked back in the future. The Marketing module keeps track of all the marketing expenses and tracks the Return on Investments(ROI) gained from the marketing efforts.

Marketing life cycle

The marketing life cycle starts with creating Marketing Lists and distributing Campaign to Marketing List. Marketing List is made up of records in accounts, contacts, and leads. One can market new products to the existing customers or contacts and other references:

The responses from the campaigns are recorded and new leads are generated. After lead generation, marketing executives can pitch your product or service to those leads.

Marketing list

Marketing in Dynamics CRM generally starts with having marketing lists on place. A marketing list is a collection of accounts, contacts, and leads. Marketing lists are created to distribute a campaign.

Marketing lists can be static or dynamic:

  • Static list: In a static marketing list, members are added manually.
  • Dynamic list: In a dynamic marketing List, members in the list are added using an advanced find. When a new record is created that meets the criteria in the query, then it is also added to the marketing list.


Campaigns are a part of the Marketing module in CRM. Campaigns are conducted for the promotion of products/services provided by the business. It is a coordinated series of steps that includes the promotion of your products/services, which will eventually increase your sell. It is a way of reaching out to customers, building your brand, introducing your product in the market, and having a positive impact on the customers and leads.

Microsoft Dynamics 365 makes things easier as it provides you end-to-end help, from planning different activities to accounting your Return on Investment (ROI) from each campaign.


Working with Campaigns in Dynamics 365

The Marketing module in Dynamics 365 has Campaigns and Quick Campaigns. Before starting with a Campaign, you need to have your marketing lists in place. A marketing list is made up of leads, accounts, and contacts. So, your campaign will be distributed through marketing lists.

After that, you need to plan your campaign. Planning activities help you with organizing and executing your campaign. CRM has different planning activities that will assist you in planning a campaign.

Planning activities

Dynamics CRM helps you with the following planning activities:

  • Organizing a meeting with key stakeholders for a marketing project
  • Preparing promotional materials for a campaign
  • Creating marketing lists for a target audience

Now let's talk about campaign activities. While conducting a campaign, you need to perform different activities. In Dynamics 365, campaign activities are distributed into emails, phone calls, appointments, and letters. It is a way of reaching your customers. They are distributed to the members, that is, the accounts, contacts, and leads in marketing lists. You cannot distribute your campaign without having a marketing list associated.

You can also track your financial costs such as allocated budget, miscellaneous costs, and expected revenue.

The response to a campaign

Response is nothing but interest, in the context of marketing. After organizing a campaign, the responses to the campaign are collected and recorded. The records for responses can be created manually. You can also generate responses through email tracking. These responses generate leads to sell your product.

Quick Campaigns

When you want to complete a campaign in a short duration, you can choose Quick Campaigns. They are a simplified version of campaigns, wherein only a single activity is included. You do not track the entire campaign in this case.

Campaigns versus Quick Campaigns

A quick campaign is nothing but distributing a single activity to marketing lists, that is, a distributed list of accounts, contacts, and leads. The duration of a Quick Campaign is short and fast. It does not have any built-in metrics.

Whereas, campaigns are of longer duration. Multiple activities are involved throughout a campaign. You can associate target products, price lists, and sales literature with a campaign. It supports planning and has built-in metrics.



The Service module of Microsoft Dynamics CRM helps you in tracking all the activities performed to provide customer service in your organization. The entities that store the data and information related to services are Case, Knowledge Base, and Contracts.

Once the customer becomes a part of the system, your organization needs to provide support for the product or service you sold. Therefore, the customer may make a phone call to raise an issue regarding the product. The customer service agents will come forward and help the customer with resolving the case. The Service module of Microsoft Dynamics CRM supports the tasks that are necessary for service management.

Service life cycle

The Service life cycle starts with case creation. The case is assigned to a customer service representative and the activities are tracked by CRM until the case is resolved:


Activities help you in keeping track of the interactions made with the customers for resolving a case. To resolve a case, a customer service representative may perform multiple activities to converse with the customer. In Microsoft Dynamics CRM, the service activities are categorized into the following:

  • Phone call
  • Task
  • Email
  • Appointments

You can convert an email or a phone call to a case.


The Case entity, which is also called ticket in Microsoft Dynamics CRM, pertains to the issues and problems of customers. Therefore, whenever a customer raises an issue, the customer service agent will record it in the form of a case. These cases are routed to service agents in a queue. A case is tracked until it gets resolved.

Before assigning the case, you need to check the customer's entitlements. Through entitlements, it can be known whether the customer is eligible for a service.

You can also check if there is an existing case in the system; it can then be reopened.


Entitlements are the terms and conditions of the support to be provided. The customer's support agreement depends on the products and services bought by them. The support level may vary according to the type and cost of the product. Therefore, the information stored in entitlements helps the agent to verify the type and eligibility of service to the customer.

An SLA is associated when an entitlement is added to a case.


SLAs are service level agreements defined for each customer. They define the Key Performance Indicators (KPIs) to attain the service level. KPIs help with warnings to provide support in a timely manner.

Microsoft Dynamics CRM helps you create two different types of SLAs: standard and enhanced. Standard SLAs can only be used with the case entity, while enhanced SLAs are supported by multiple entities in CRM. The following are the entities that support enhanced SLAs:

  • Account
  • Contact
  • Order
  • Invoice
  • Quote
  • Opportunity
  • Lead


Customers can purchase a service with the help of service contracts. Service contracts contain information, such as the price of a service for each product, number of calls or minutes to be spent on a customer issue, and the time duration of the contract.

Knowledge Base

The common problems and issues that occur frequently can be recorded with their solutions in Knowledge Base. Knowledge Base is made up of a library for business information, product guides, data sheets, and other articles with timely and relevant information. This will help the customer service representatives with the required information and help them to resolve issues more efficiently. The articles stored in Knowledge Base are searchable.


The XRM framework

The XRM framework defines a strategic approach to customize the out-of-box features available in Microsoft Dynamics CRM to make sure that it implements all the business aspects of a system. The central idea of the XRM framework is to extend the standard functionalities provided in Microsoft Dynamics CRM to suit any business requirement. Businesses could be of varying types, such as public sector, insurance, banking, retail, telecom, and so on.

Owing to the underlying .NET framework, Microsoft Dynamics CRM 2016 provides a very powerful tool that can be easily extended to map any business requirement that is not provided out of the box.

Using the XRM framework, an organizations can achieve the following:

  • Increased productivity: Microsoft Dynamics CRM can automate many critical tasks required in any typical organization. This can lead to increased productivity.
  • Quicker development cycle: As the core product is already built in, less effort is required in customizing it to suit the end client.

Using the XRM framework, we can create and customize the following components:

  • Mapping the entities: Using entity mapping, you can copy certain values from a record to an associated record. For example, if you create an opportunity from a lead, you can map the existing values from the lead to the opportunity.
  • Creating custom fields: Microsoft Dynamics CRM allows users to create attributes of different types. In Microsoft Dynamics CRM 2016, an attribute can be of the following data types:
    • Single line of text: A string representation.
    • Option set: An attribute that can have values among a picklist.
    • Two options: An attribute that can have only two possible values.
    • Image: An attribute to which we can upload an image.
    • Whole number: An attribute that can acquire an integer value.
    • Floating point number: An attribute that can assume a float value. It is similar to decimal and is generally used when we are not much concerned with accuracy after the decimal point.
    • Decimal number: An attribute that can assume a decimal value.
    • Currency: An attribute that can assume a money-related value.
    • Multiple lines of text: A multiline string representation, for example, the description of a book.
    • Date and time: An attribute that can assume a date-time value, for example the date of a class.
    • Lookup: An attribute that links two different entities.
    • Customer: An attribute that links the entity to an account or a customer.
  • Defining relationships between entities: Entity relationships define how two different entities can be related to one another. There are three types of relations possible between entities: 1:N, N:1, and N:N.
  • Forms: Microsoft Dynamics CRM provides several types of forms that could be utilized for different purposes. The following are the available form types:
    • Main form: This is the main web form, which is opened when the user navigates to a record. This form provides the main user interface for interacting with an entity data.
    • Quick create form: This form can be configured for data entry by the user.
    • Quick view form: This is a form that can be configured on the main forms of entities that exhibit a 1:N relationship with the current entity.
    • Mobile form: Users browsing the Microsoft Dynamics CRM site form mobile devices fill the mobile form.
  • Views: The following are the main views that are present for any entity:
    • Active records: This view shows the active records of an entity
    • Inactive records: This view shows the inactive records of an entity
    • Associated records view: This view shows the associated records (N:1 and N:N) of this entity with the other entities
    • Lookup view: This view appears on the 1: N control
    • Advanced find view: This view allows users to create queries, and save and export the results

Analytics with CRM

Microsoft Dynamics CRM 2016 provides some advanced features that provide ways to enhance the analytics experience using other Microsoft products.

In Microsoft Dynamics CRM 2016, two new features have been introduced to provide standardized documents for analytics. These two features integrate to the Microsoft Office suite of applications. They are described in further detail in the following subsections.

Word templates

Word templates provide means to create reusable templates in Microsoft Word and then save them to Microsoft Dynamics CRM 2016. These Word templates can then be used to generate standardized Word documents based on the CRM data. The following table describes the supported versions of Word that can be used to generate or open a document generated via the Word template feature of Microsoft Dynamics CRM 2016.

Excel templates

Just like Word templates, a user can also generate Excel templates in Microsoft Dynamics CRM. The only main difference between Word and Excel templates is that, while a Word template is for information relevant to one entity record, Excel templates are for information relevant to a set of entity records. We will look through some scenarios in the later chapters in this book, which will give you a comprehensive idea of these features.


Workflow development

Workflows are the handlers for events fired by Microsoft Dynamics CRM. The events that a workflow can support are limited as compared to plugins. Using workflows, we can either utilize workflows using a native drag-and-drop interface, or extend the standard behavior of Microsoft Dynamics CRM using customizations or with custom code written in the .NET framework.

Types of workflows

Workflows can be categorized into the following:

  • Out-of-box workflows: This type of workflows is provided by default in Microsoft Dynamics CRM out-of-box components. Workflows can be fired on create, update, delete, and on-demand. These workflows can be customized and created without writing code.
  • Custom workflows: Out-of-box components can be extended and customized by using .NET, and more complex business operations can be done. These workflows are called custom workflows.

A work can be triggered in two ways:

  • Background workflows: In background workflows, the processing is done asynchronously and are not triggered immediately. This kind of workflows is used when you need to perform some tasks that are not to be triggered urgently or immediately after some operation.
  • Real-time workflows: These workflows are also known as synchronous workflows. They are triggered immediately as soon as a particular event is occurred.

Workflows and Plugins can both be utilized to accomplish the same functionality, as both essentially run on the server side to do automation or processing. In this book, we will go through some real-time scenarios that will help you in deciding when to use workflows and when to opt for plugins; new features will also be introduced.


Client-side enhancements in Microsoft Dynamics CRM 2016

This section is focused on introducing and using client-side enhancements available with Microsoft Dynamics CRM 2016. Generally, in Dynamics 365 JavaScript is used to perform actions in form scripts, ribbon commands, and in web resources.

Form scripts

JavaScript can be used to handle different form events and perform some actions whenever an event occurs. The advantage of using form scripts is that they don't require any interaction with servers and they are executed on the client side itself. Scripts can be used for the following:

  • Validating data: We can use JavaScript for validating data entered into the fields. We can check the valid formats for fields, such as email, mobile number, and so on. We can restrict invalid data using this type of validations.
  • Automating tasks: Using JavaScript, field values can be populated depending on the data filled on the form.
  • Form enhancements: Using JavaScript, you can customize and control the data that is to be displayed on the form. You can also show or hide some fields on the forms.
  • Ribbon commands: JavaScript can be used for ribbon commands, such as performing an action on button click, setting some rules for displaying a button, showing dialogs on button click, and so on. You can write JavaScript on a ribbon button, which can then perform an action accordingly. You can even call a function inside a JavaScript web resource.

Web resources

Web resources are the files stored in Microsoft Dynamics CRM. They are JavaScript, HTML, Silverlight, Stylesheets, or image files. You can write JavaScript in JavaScript and HTML web resource. You can also write Web APIs inside a web resource for performing Create, Read, Update, and Delete (CRUD) operations with Microsoft Dynamics CRM.


Enhancements for mobile

In this section, you will get a brief overview of the mobile enhancements in Microsoft Dynamics CRM 2016. Microsoft Dynamics CRM 2016 enhances the capability of the sales and service teams at any time by providing enhancements in its mobility features. It provides support for mobility applications across a range of devices, including tablets and phones, and also supports multiple platforms. A few mobile enhancements that we will go through in this book are as follows:

  • Mobile and tablet enhancements available with Microsoft Dynamics CRM 2016
  • Supported platforms and browsers for mobile and tablet apps
  • How to install Microsoft Dynamics CRM 2016 phone app
  • How to preview form customization changes in the phone and tablet look-and- feel
  • New visual controls available with Microsoft Dynamics CRM 2016
  • How to configure calendar and pen control on an Opportunity entity
  • Supported languages for Microsoft Dynamics CRM 2016 phone and tablet app

Entity forms for mobile and tablet

Dynamics CRM provides the functionality to configure and preview the forms for mobile and tablet. You can just enable mobile and tablet for an entity and configure it. 

The Microsoft Dynamics CRM app for Android

There are new features in the Dynamics CRM app for Android. The Android app provides a feature to store records even in the offline mode and to synchronize them into Dynamics CRM whenever network is available.

Visual controls

Microsoft Dynamics CRM 2016 introduces controls for mobile and tablet applications, which help the users to enter and use CRM apps faster. These controls are designed considering a touch-friendly environment provided by modern smart phones and tablets.

The main advantage of these visual controls is they are very user-friendly and it makes operating easier while using on phones or tablets.


Plugin development

As Microsoft Dynamics CRM continues to evolve, the focus of Microsoft is to try to make the custom coding as less as possible. However, every now and then, there is bound to be some customer requirement that cannot be implemented without any custom coding. That's when plugins come to our rescue.

The main motive and skill that every Dynamics CRM consultant needs to enhance is to analyze the requirements correctly and categorize them categorically in terms of configurations and customizations. Other out-of-box configurations such as workflows and business rules should be explored before we accept the need for writing a custom plugin to meet the desired needs of the customer.

In plugin development, we will go through the following functionalities:

  • Event execution pipeline: Through the event execution pipeline, one can get an idea about the different stages where plugins can be registered and the types of operations that can be performed using a plugin. Every action in Dynamics CRM results in a call made to the organization web service. The message contains business entity information and core operation information. These messages are passed through a standard execution pipeline or stages where it can be modified by any custom logic written by users. This custom logic is a plugin.
  • Isolation modes: The plugin isolation mode signifies the level of security restrictions imposed on the plugin execution pipeline. The isolation mode is specified on the assembly level and not on the individual plugin step. When a plugin assembly is registered, it can either be registered in an isolated or sandbox mode, or in no mode. The sandbox is more secure and some actions are restricted.
  • Plugin Development: Plugins are custom classes that implement the IPlugin interface. The class can be written in any .NET framework-compliant language, such as Microsoft Visual C# or Microsoft Visual Basic .NET.

Business Process Flows and Business Rules

Earlier, developers used JavaScript for any client-side scripting or validation. Business Rules provide a rich interface with which people can configure most of the client-side scripting and validations, which previously required some sort of coding experience.

Business Rules were introduced in Microsoft Dynamics CRM few versions ago with an idea of enabling business analysts and users to configure the Microsoft Dynamics CRM entity forms and perform actions without writing a single line of client-side code. Because of the rich graphical interface provided to the users, it is quite easy to understand and configurable. With the correct usage and implementation of Business Rules, users can reduce the development efforts considerably.

Business Process Flows are a representation of the business processes followed in the associated organizations. They act as a guideline for the end users and help them in following through the business process. They also act as a safeguard in ensuring that all the required steps have been carried out before the user can proceed to the next stage.

This book will give an overview of how Business Process Flows and business processes work, and how they can be helpful for automations in Dynamics CRM. You will learn how to use Business Process Flows to execute the logical steps in your business process. In addition, we will look through how business rules can easily define and set rules for validating data, setting visibility, disabling fields, and so on.

In this book, we will go through the following

  • How to create a Business Rule for an entity
  • Different components of a Business Rule, that is, scope, condition, and action
  • How to set up a business rule having multiple if else conditions
  • How to create a business process flow for an entity
  • How to add conditions, steps, and conditions to a business process flow
  • Abandoning / Switching a business process flow

New features in Microsoft Dynamics CRM 2016

Here's a quick list of the new features in Microsoft Dynamics CRM 2016:

  • Customer field type
  • Solutions improvements for entity assets
  • The feedback and rating functionalities
  • The Relevance Search functionality

Now let's look at each of these in brief.

Customer field type

There can be account or contact linked with entities such as opportunities, invoices, orders, and cases. Therefore, the customer field type is a lookup field, which allows you to either link a contact or account field with an entity. This field is includes out of box in entities such as opportunities, invoices, orders, and cases. If you want to link records of account or contact with any other entity, then you can create a custom lookup field of type customer.

Solutions improvements for entity assets

Whenever, one needs to add an existing entity to a solution, one can add only the required assets into the solution. Microsoft Dynamics CRM 2016 provides with the feature where one can select the list of components that are required in the solution. Only the selected components will be a part of your solution. Entity assets can be Forms, Views, Charts, Keys, Relationships, Dashboards, and so on.

Two other configuration options that can be set are:

  • Include entity metadata: Entity metadata information, such as audit settings, are included
  • Include all assets: If checked, all the entity assets are included

Feedback and Rating

Microsoft Dynamics CRM 2016 introduced a new entity called Feedback, which lets users provide feedback and rating for a product or a case entity. This will help organizations to track the feedback and ratings for the services provided, which may help improve the quality of products and services.

The Relevance Search functionality

Relevance search is an improved search functionality in Microsoft Dynamics CRM 2016, which uses Azure Search. Using relevance search, you can search through all the fields in all the entities and provide improved results. It is faster and more relevant, as it searches through all the entities.



In this chapter, we had a brief overview of all the concepts that will be covered in this book. We will cover each and every concept with comprehensive real-time scenarios that will give you a better understanding of the concepts. Hope you have a great time reading through the book!

About the Author
  • Deepesh Somani

    Deepesh Somani currently works as a Microsoft Dynamics 365 lead architect, a corporate trainer, and an author. He has been Microsoft's Most Valuable Professional awardee for 3 consecutive years, making his way into the top 90 CRM professionals in the world. He is currently working in an IT start-up called Dynamisity Private Limited, based out of Ahmedabad, India. With his fervor for the technology and constant adherence, Deepesh has been an active contributor to the global technical community and has been honored as a key contributor on leader boards from time to time. His blog has more than 270,000 hits and 500+ followers from 150 countries worldwide. It was recognized as one of the top 100 CRM blogs worldwide by Feedspot in 2017. He developed 14 free tools with 7000+ downloads, and a Dynamics app with around 1000+ downloads and a 4.4 rating. Deepesh has extensive experience working in different domains, such as banking, public sector, telecommunication, and retail, to name a few, with teams from different parts of the world and with renowned multinational companies such as Microsoft, Infosys, and SanDisk. As a passionate explorer, he enjoys travelling, interacting with people of various ethnicities, trying different foods, and dancing.

    Browse publications by this author
Latest Reviews (1 reviews total)
just quick read the book. it is good for beginner.
Mastering Microsoft Dynamics CRM 2016
Unlock this book and the full library FREE for 7 days
Start now