Dynamics 365 Customer Engagement and No-Code/Low-Code
Over the last few years, we have heard and read many times about no-code/low-code technologies, but what does it really mean when we talk about a platform such as Dynamics 365 Customer Engagement?
As most of us already know, Dynamics 365 Customer Engagement, also known as Dynamics CRM, offers a series of applications with out-of-the-box functionality to solve specific use cases for sales, customer service, field service, marketing, and project operations scenarios. However, far from being a canned product that we have to take and accept as it comes, the Power Platform allows us to adapt out-of-the-box Dynamics 365 Customer Engagement applications and create new applications that can integrate with each other, without the need for any development.
In this first chapter, we will learn why and since when we can consider Dynamics 365 Customer Engagement related to a no-code/low-code development platform, and the constraints that it can present when we face a project.
By the end of the chapter, you will have learned how to position the Power Platform no-code/low-code platform surrounding Dynamics 365 Customer Engagement projects, and what some of the most important challenges are that this new no-code/low-code paradigm introduces, as well as new opportunities.
In this chapter, we will cover the following topics:
- Understanding Dynamics 365 Customer Engagement DNA
- Low-code is not necessarily low cost
- Exploring new opportunities and challenges
To work with Dynamics 365 Customer Engagement, it is necessary to have an environment with one of the supported licenses. However, the topics covered in this chapter do not require any Dynamics 365 applications.
The following is required for this chapter:
- Any Dynamics 365 Customer Engagement License (any of the available ones) with administrator permissions in the environment
- A supported browser
Understanding Dynamics 365 Customer Engagement DNA
To understand why Dynamics 365 Customer Engagement is closely linked with the no-code / low-code concept, first, we must look at the platform’s key components to see what it is and what it is built on.
We know that, technically, Dynamics 365 Customer Engagement applications (Sales, Marketing, Customer Service, Field Service, and Project Operations) are model-driven apps built by Microsoft, so they are known as first-party applications. And so, as in all model-driven apps, the core component of the applications is Dataverse.
To quote the official definition from Microsoft, Dataverse is a Powerful data service and app platform to quickly build enterprise-grade apps with automated business processes.
Without going into too much detail about Dataverse, it is important to highlight the aspects that make it up:
Figure 1.1 – A high-level Dataverse description
As we can see in the preceding diagram, Dataverse offers different capabilities for the design and modeling of applications, including aspects of great importance such as security or business logic, with capabilities ranging from no-code to pro-code.
Now, considering Dataverse is a relatively new concept, let’s review the origin of this product to understand how closely it relates to Dynamics 365 Customer Engagement.
The XRM concept was used since the first versions of Dynamics CRM to describe the platform’s ability to model and bring to life applications that respond to different business needs in an agile, integrated, secure, and easy-to-maintain way. The definition coined by Microsoft in 2015 was XRM is a business applications framework designed to accelerate the development of line-of-business (LOB) applications through reusable applications services that can be adapted and extended to create many unique applications.
With the launch of Power Apps, Microsoft understood that it had to formalize this concept under a specific product, so Common Data Service was born. After a first attempt to build this framework from scratch, in the Common Data Service 2.0 version, Microsoft took as a base what Dynamics CRM had been having for years as the core of its applications. Finally, and after some stumbling around for a name change, Common Data Service was renamed Dataverse.
For this reason, what we know today as Dataverse is a core part of that XRM framework for building applications with a no-code/low-code approach that we have known since the first versions of Dynamics CRM. Therefore, Dynamics 365 Customer Engagement has all the conditions and capabilities to be extended, without code, by using Power Platform.
To find out what Dynamics 365 Customer Engagement looks like inside, and how we can extend it without code, we simply have to access the maker portal (https://make.powerapps.com) and select the Solutions section:
Figure 1.2 – The Solutions area in the makers portal
Now, you understand what the core component of Dynamics 365 Customer Engagement Apps is and how Dataverse makes it a no-code/low-code platform.
Low-code is not necessarily low cost
It is very common to assume that a low-code platform implies a low-cost project, when in fact, there is no direct relationship between the two. Sometimes, this becomes more difficult to explain when we are working with Dynamics 365 Customer Engagement as a base solution, which already brings a native data model, a series of business processes, automations, and other functions that allow implementation in the form of adoption. However, there is no Dynamics 365 Customer Engagement implementation that does not involve customizations. And as much as we take advantage of native capabilities, and extensions are made with a no-code/low-code approach, such customizations can involve considerable effort not only for the construction but for everything that entails making them follow best practices.
- It is possible to carry out a project from end to end without the need for custom developments. In other words, no programming knowledge is required to implement and extend a Dynamics 365 Customer Engagement solution.
- The customizations that are carried out are done declaratively or by means of simple tools, such as drag-and-drop designers.
- The maintenance of the solution could be easier compared to custom development.
- Administration of the solution can be performed by business users.
- Time to market will be shorter compared to a solution developed from scratch.
As you can see, there is no correlation between a low-code approach and a low-cost project. However, it’s true that if we compare the same scope with a low-code approach and a pro-code approach, in terms of implementation and maintenance costs, the low-code project is more profitable or has a lower cost.
As always, the simplicity of, for example, the maintenance or deployment of a solution, will not only depend on whether the development approach is no-code/low-code versus pro-code. The use of best practices and the selection of the best solution are key factors. As we will see throughout the chapters, on many occasions, the best solution approach might include the use of code. This, far from being detrimental to the overall solution, will contribute to having an optimized solution with a good balance between no-code, low-code, and pro-code capabilities.
However, the cost of the project will depend on two variables: scope and time.
Figure 1.3 – The project management triangle
As we can see, if we maintain the scope and we reduce the time of the project, the cost will increase.
As we have seen, expectation management in relation to a no-code/low-code approach project is important. Note that the type of approach does not change the fact that good practices must be followed to ensure the correct design, construction, and maintenance of the solution, as well as its scalability. This is why it is important to understand that a low-code project does not necessarily imply that it has to be low-cost, but that it will depend on the multiple factors mentioned earlier.
How complex can a no-code/low-code project be?
A solution based on no-code/low-code elements does not guarantee that it will be a simple project. Currently, with the extensive capabilities offered by Dynamics 365 Customer Engagement as standalone applications, along with the possibility of extending them using Power Platform components, we can find ourselves with extremely complex scenarios, and therefore, with a high cost, such as the following:
- Integration with SAP in different business processes, such as the customer registration, at the time of winning a bid, or synchronizing a technician's inventory
- The implementation of a self-management portal for customers with an integrated virtual assistant that resolves queries by referring them to knowledge base articles
- The complete configuration of the Omnichannel Engagement Hub, including multiple streams or mapping rules
- Building an end-to-end process integrated with the organization’s business process
In short, the fact that a project or a platform is no-code/low-code does not change the basic principles of any project, among which we find that a project will be as simple or complex as its requirements are.
Selecting the right approach for a solution
Figure 1.4 – A requirement triage
This way, we can decide whether a requirement will be solved with native Dynamics 365 Customer Engagement capability, whether we will do it through no-code/low-code customization, or whether a pro-code approach is required.
The triage of the requirements to ensure the correct selection of the best solution approach will give us the size of the project. As a result, the project may be more oriented toward adopting native functionality, or building new functionality through development.
Exploring new opportunities and challenges
Understanding that Dynamics 365 Customer Engagement can be easily extended with Power Platform opens a range of new opportunities and challenges, both when thinking about a solution for a project and when designing our professional path and evolution.
If we focus on the impact that the design of solutions has by being able to use a no-code/low-code approach to extend applications, we find the following:
- We are not limited to the implementation of the business processes defined by Microsoft in its first-party applications, but we can also think about the extension or creation of new business processes that orbit around the native processes.
- We can extend the solution using Power Platform, not only for the creation and extension of applications, but also to build automation and processes, bots, and control panels. We will go deeper into each of these use cases in the later chapters of the book.
- The deployment and maintenance process of the solution can be simplified.
- We have to keep ourselves updated with the constantly evolving capabilities of Power Platform and Dynamic 365 Customer Engagement.
As we will see later, the challenges presented by the constant evolution of the platform are also an opportunity to develop our professional careers.
Developing our careers
On the other hand, from a career development point of view, this paradigm and how both Dynamics 365 Customer Engagement and Power Platform evolve allow us to develop new skills, while we can shape our professional profile by specializing in either a specific Dynamics 365 Customer Engagement application or a non-code type of extension.
To help us enhance the development of our professional careers and to upskill ourselves, Microsoft constantly develops new exams and certifications.
Currently, there are two different types of exams that we can aspire to pass – the MB-XXX and the PL-XXX. The MB-XXX corresponds to the Dynamics 365 exams, both Customer Engagement and other applications, while the PL-XXX exams correspond to Power Platform. Passing these exams will enable us to gain the new certifications of one of its levels – beginner, intermediate, or advanced.
The beginner-level certifications focus on the fundamentals of the platform:
Figure 1.5 – Beginner certifications
Figure 1.6 – Intermediate certifications
Finally, the advanced certifications are oriented toward architects who will have a wider knowledge and understanding of the platform:
Figure 1.7 – Advanced certifications
As you can see, there are multiple possibilities we have to specialize as Dynamics 365 Customer Engagement professionals, complementing our knowledge of the platform with the capabilities of Power Platform. The multiple exams and certifications allow us to develop a profile that supports our knowledge and experience.
The introduction of Power Platform capabilities for the extension of Dynamics 365 Customer Engagement, which we will discuss in the next chapter, also presents several challenges for architects, consultants, and developers. This is because the new tools force us to step out of our comfort zone so that we can understand why we should use a no-code/low-code tool instead of a custom development.
In this chapter, we have reviewed basic concepts to understand the extension capabilities of Dynamics 365 Customer Engagement without code. We started from the old concept of XRM to get into what Dataverse is. We discussed why a no-code/low-code project does not necessarily imply a low-cost project, and how to identify the best approach for a solution. Finally, we looked at some of the challenges and opportunities this approach offers us Dynamics 365 Customer Engagement professionals.
In Chapter 2, we will focus on understanding the main reasons to extend Dynamics 365 Customer Engagement and what we can achieve with a no-code/low-code approach.
Questions and answers
- Is Dynamics 365 a no-code/low-code platform?
Answer: Not precisely. Dynamics 365 Customer Engagement offer us a set of native applications, or first-party applications, with pre-defined processes. However, because Dynamics 365 Customer Engagement applications are built on Dataverse, it has native integration, and extensibility with the Power Platform. As we have learned, Dataverse offers multiple tools to extend and build applications without development. Also, Dataverse integrates natively with Power Apps, Power Automate, Power Pages, Power Virtual Agents, and Power BI, which allows us to build new components to extend our Dynamics 365 Customer Engagement applications, without the use of development.
- What concepts should I keep in mind when defining what type of solution to propose?
Answer: When we analyze the requirements and start working on the design of the solution, we have to keep several things in mind:
- The first point would be whether the requirement can be covered with some native Dynamics 365 Customer Engagement capability that only requires parameterization or configuration.
- Secondly, it would be to understand whether there is any capability within the platform that allows us to deliver a solution by building without code. For this, we need to know, in greater detail, the no-code/low-code capabilities that Power Platform offers us.
- Finally, it is important to remember that even if a solution is low-code, it might require the help of someone more technical to optimize it or to go that last quarter of a mile. A clear example of this can be seen in the construction of cloud flows, where even though it is a low-code approach, it sometimes requires technical skill.
- How can I get recognition for my knowledge and experience?
Answer: By taking the official exams and obtaining Microsoft certifications, we can demonstrate our knowledge and experience in a concrete way.