You likely don’t need Dynamics CRM. You need a Power App.

Summary

  • You don’t necessarily need to buy Dynamics 365 (Dynamics CRM) licenses to get the CRM functionality you need.
  • Power Apps and the Common Data Service have the components to build a simple CRM app that looks and operates *exactly* like Dynamics CRM (without the features that you don’t need)
  • Dynamics 365 is a Power App
  • Don’t need all that Dynamics 365 functionality? Build a CRM Power App (I will show you how)

“We need a CRM!”

I was facilitating some Power Platform training to client’s internal team the other day. This organization has Office 365 (whoops, I mean Microsoft 365), has a number of legacy SharePoint and Excel based solutions and is looking to build and revamp many line of business apps using the Power Platform. We talked about ways we could build apps using the Common Data Service, Power Automate and of course Power Apps.

Power Platform

We were discussing the provisioning of Common Data Service environments. Walking through the process, I noted that currently you need to specify that if you want to enable the Dynamics 365 apps at the start when you provision, and they cannot be installed later.

“Wait a minute…” came a question from one of the team. “What if we want CRM later? Does this mean we need to start from scratch and migrate our data?”

Dynamics 365 on a new CDS – do we need it?

It’s a great question. However, in this case, I have a high level understanding of the organization’s business and what their ultimate objectives.

They are a non-profit organization that performs research projects and programs. Many of their initiatives are government funded. While they do have external stakeholders they don’t “sell” in a typical sense. They do collect feedback and information from their stakeholders they also do not have a customer support center or track tickets. That being said, they have a number of great use cases for model-driven, canvas and portal Power Apps.

I answered the question with a question. “What do you need Dynamics 365 (Dynamics CRM) for anyway?”

Note: Microsoft hasn’t called their suite of business applications “CRM” (Customer Relationship Management) for a few years now. However, it still is a common term for customer engagement software solutions. The “CRM” apps are now referred to as Dynamics 365, and are a collection of various apps (e.g. Dynamics 365 Sales, Dynamics 365 Customer Service and many others)

CRM

The perception in the organization is that they need a centralized repository of their stakeholders, related communications and potentially other business information.

They felt they needed a CRM system.

Despite looking at the Power Apps for some of the line of business apps, there were folks within the organization suggesting using (ugh) SalesForce.com, Dynamics 365 (CRM) or potentially some other CRM system.

My answer was that if they were to move ahead with the Power Platform, that they would essentially get most of all that functionality from the “vanilla” Common Data Model and that could expose their required “CRM” functionality in a simple model-driven (or even Canvas) Power App.

Any unique needs could be very easily added using the same tools and techniques being evaluated for building a number of other line of business applications.

This particular organization would likely never need things like Leads, Opportunities’, SLAs, Cases, etc.

It made me realize that again, maybe folks are unclear of what Power Apps and the Power Platform offers and the confusion of what Dynamics 365 offers.

The key thing to remember is this; Dynamics 365 is just a Power App.

The Dynamics 365 “first party” Power Apps provide an incredible amount of functionality for specific business cases. Sales management (Dynamics 365 Sales) Customer support management (Dynamics 365 Customer Service) as well as many others (Field Service, Project Service, Marketing, etc). that extend the Common Data Model and provide line of business applications specific to specific workloads.

Even the ERP (Enterprise Resource Planning) systems like Dynamics 365 Supply Chain Management is beginning to utilize the Common Data Model with dual-write entities.

However, not everyone needs the Dynamics 365 first party applications.

In fact, in the Dynamics CRM 3.0 to Dynamics CRM 2016 days, many projects I worked on we removed or hid many of the sales and service entities and functions and added our own. These types of apps were referred to as “xRM” or “Anything Relationship Management”.

You don’t need a CRM because you already have a CRM (and it’s a Power App).

The customer was quite relieved to know that by choosing the Power Platform, they could quickly have the CRM system they needed. The Common Data Model provided the required entities and there were already pre-built forms and views for Accounts, Contacts and Activities in the Common Data Service.

Even better was that the licensing for a Power Apps Per User plan is considerably less than a full Dynamics 365 plan license, and the license would cover both their line of business apps and CRM.

Save money with Power Apps

For many organizations such as non-profits, charities and government departments, a Power App can provide the core functionality required.

Even if an organization did need to eventually deploy Dynamics 365 first party apps, the hope is that someday those apps can be installed after the fact on an existing CDS environment.

Side Bar: Accelerating your Power Apps

Another great initiative by Microsoft is the creation of industry accelerators. These accelerators are built following industry standards and can be installed on both vanilla CDS and Dynamics 365 environments and do not require extra licensing. These provide customers with a head start building their industry specific line of business applications. Microsoft is adding and updating accelerators daily, check them out here https://docs.microsoft.com/en-us/common-data-model/industry-accelerators

Build Your Own Dynamics CRM 2020 in 10 Minutes

The follow are steps to build a super simple, lightweight “CRM” system on the Common Data Service using existing components. I have provided the solution files on my GitHub site, but you could very quickly build your own CRM app and extend it further for your own purposes.

Navigate to https://make.powerapps.com and choose your Common Data Service environment (or create one).

Https://make.powerapps.com

The next step is to create a solution. Solutions are the method to move your assets from one Power Platform environment to another.

Create Solution

In the solution, choose New -> App -> Model-driven app (this will be our new CRM app!)

New Model Driven App

Give your CRM app a name (could be just “CRM”). In my example I choose “Dynamics CRM 2020”

Create new CRM app

We need to add some core CRM entities to our app. One of the many benefits of the common data model is that it has a set of predefined entities that are core to a CRM system. Click on the Entities component.

Choose Entities

Choose the Account, Contact and Activity entities. You could decide to add additional entities that might be useful to your organization from the Common Data Model (or create your own). For now, we are keeping our CRM system simple.

Add entities

Click on “Site Map” so we can build the navigation for our CRM app.

We will add an “CRM” area. We can go back later and add other areas to our app.

Add CRM area

Lets add a “Stakeholder” group to hold our Accounts and Contacts (Organizations and People) entities.

Add Group

Add the Account entity for the sub area.

Add Account

Add the Contact entity…

Add Contact

We will add a communications group

Add Communications Group

Add the Activities entity in the Communication Group.

Add activities

Finally, save our site map and publish.

Save and Publish Site Map

We are pretty much done. Click Done in the maker area.

Done.

In the Apps, you should now have a CRM model driven app.

Apps

Running the App, we have a model driven app with views of data, many existing functions like searching, exporting to excel, etc. It looks and feels exactly like Dynamics CRM, because, in a way, it is.

Light weight CRM

You can continue to build on this app by adding dashboards, other entities, or even adding automation using Power Automate or embedding canvas apps or building portals. You could also install some of Microsoft accelerators to get a jump start on extending your system.

If you do need some of the sales and service functions, but not necessarily all the bells and whistles of Dynamics 365, you could build these components as well or look at some ISV products like RapidStartCRM.

The point is, model driven Power Apps evolved from Dynamics CRM and should be your core CRM for your organization, no matter what you business is.

Conclusions

If you feel you need a CRM system for your organization, you definitely need to consider Power Apps. Not only will you have an industry standard, cloud based system that integrates with Microsoft 365 but one that can be easily modeled to your own unique requirements. In fact, if you have used Dynamics CRM in the past, you won’t even notice the difference.

Cover Photo by Karsten Würth on Unsplash

Money Photo by Micheile Henderson on Unsplash

Diskette Photo by Fredy Jacob on Unsplash

Nick Doelman is a Microsoft Business Applications MVP and has been configuring unique line of business applications built on the Power Platform before it was even called the Power Platform. Follow Nick on Twitter @ReadyXRM

17 thoughts on “You likely don’t need Dynamics CRM. You need a Power App.

  1. Many people know what they want without knowing why they want it or stopping to think what they need to do?

    This is also a great post for Dynamics professionals to question if the customer needs Dynamics or a Powerapp.

    Like

  2. Thanks very much for this awesome tutorial. I have a few questions and would appreciate if you could answer

    1) I’m trying to customize the fields for contacts and can’t figure how to add a multi-select field.
    2) Is there a way to automatically sync emails received in Office 365 to the timeline in the contacts of this power app?
    3) Am I correct that it would cost $10 per month per user to have access to this app?

    Like

    1. 1) That’s part of a much bigger discussion, I would recommend finding resources on building model-driven Power Apps and using solutions but a quick-and-dirty way is to go to https://make.powerapps.com, click on Data (left menu) then Entities, find Contacts, click + Add Field and under data type you should see an option for multi select option set. Once the field is created, you can then add it to the forms and views.
      2) Yes. https://docs.microsoft.com/power-platform/admin/server-side-synchronization (Docs refer to Dynamics 365 but it works for Power Apps on CDS)
      3) Yes. https://powerapps.microsoft.com/pricing/

      Liked by 1 person

  3. So I would like to thank you for this article since we started to look into power apps as it was quite intriguing to build our own CRM. Except I have been building this thing for quite a while I think around a month or 2 and the longer I am working on this CRM the longer I am thinking that it’s impossible to create it as we would like to have it.

    So to show what entities we have made so far:
    – Company
    – Location
    – Country (of course limited so all countries are entered standard for correct naming convention)
    – Contact Person
    – Article
    – Inventory
    – Staffel
    – Staffel History
    – Bundle Item (for when articles are bundles that contain other articles)
    – Application
    – App release
    – App version
    – App History
    – Project
    – Quote
    – Quote line
    – Invoice
    – Invoice line
    – Payment
    – Order
    – Order line
    – Delivery
    – Delivery item
    , and we will probably add even more since we will need things project history, timesheets and a custom planner which will require even more entities.
    We have already faced quite a lot of limits especially with calculation and rollup fields, but we managed to use flow instead of calculations for most things for others I don’t know how to do the calculation yet like calculating the balance of a project by using rollup fields on a payment entity calculation field.

    Of course my idea of how Power apps works might not be correct, but I still don’t understand Power apps completely nor do I have the experience yet. Perhaps the time has come to jump into PCF and learn how it works and see if a lot of the harder parts might be solvable with custom code.

    But it feels like it would take less time to build the same thing from scratch in like an Angular application, not only because Power Automate and Power Apps can be really slow from time to time but because some things tend to lack documentation like what it does how it works or can be used and if it still can be used. And especially when functionality shouldn’t be used while it still is possible to use it like workflows in business process flows which is actually replaced with the Power Automate flows. It’s even harder to find information about model driven apps since Google/Youtube shows more about canvas apps and portals then about model driven apps except for like the basics.

    The main reason we are actually using Power Apps is the ability to use dozens of integrations for our CRM.

    So my question am I doing something wrong or is my thinking fundamentally wrong?

    PS: I am a junior developer (the only one from the company)

    Like

    1. Many of my projects have dozens of entities as well, and growing, so no, your list isn’t unrealistic. Power Apps are quite flexible so there are many ways to do the same thing. The only thing I would advise is stuff like contacts and companies (Accounts) already exist in the Common Data Model, so you wouldn’t have to re-invent the wheel there. For many of the calculations, etc. this is where pro-dev is important and learning how to write plug-ins will address these types of requirements. As much as it might be tempting to write something custom from ground up (using angular or other) I can guarantee it will take longer. The Power Platform/Common Data Service already has mechanisms for authentication, security, some automation, user interface (model-driven and canvas) integration to Office 365, reporting and much more. Building a custom solution would require you to build those features before you even get to the business needs. I would recommend taking a look at the PL900 and PL200 certifications and related training to get a handle on the overall platform and of course Microsoft Docs and Microsoft Learn. The community is also great at providing direction/advice, etc. I hope this helps! Cheers, Nick

      Like

      1. Thank you for your comment Nick,

        So I do understand why you say not to reinvent the wheel, but I did it because I’m working in a developer environment and exporting a standard entity is no issue but you can’t import it since it already exists in the other environment. But I am glad to hear that plugins can be used for calculations. I do understand that it’s not a good idea to start from scratch since a lot that can be provided has to be made from scratch as well. Sometimes it just gives me (and forgive me for my words) a Drupal feeling (which is like Chinese to me) where they created a platform that is supposed to make things easier for the user while it actually is way more complicated than necessary and it confuses more than when you would make it from scratch (Again my apologies as this is my opinion). But I will try to do my “power” best in making the CRM and I will definitely check the certificates, training, Microsoft Docs, Microsoft Learn and the Community for information.

        Regards,

        Billy

        Like

    1. Hi Maxime, If you were to provision a “vanilla” CDS, the lead and opportunity entities would not be in that CDS. You can create your own versions, I have confirmation from Microsoft that this is OK, because the IP involved is more than just the entity for the Sales app. If you provisioned a CDS with Dyn365, but instead used Power Apps licenses, and added the CDM lead and opportunity entities to your app, as of *today* they are still considered restricted entities and would require a sales license, but that may change in the future. Also today, there is no way to install D365 apps to a vanilla CDS after provisioning (legacy code issues). That also may eventually change, but today you would need to migrate the data. I hope that makes sense, the licensing, restrictions, etc. seems to be in a constant state of flux. I just know that a lot of the smaller projects that I worked on didn’t need all the full sales or service features (or any of these features at all for XRM projects). Cheers, Nick

      Like

  4. So why do you think people shell out twice the money perpetually for something like dynamics customer service when with a bit of up front work you can do mostly the same in power?

    Thanks for the original post, I had assumed MS wouldn’t allow replication of dynamics with power, but I can see you’ve confirmed this usage with them (ref restricted entities comment).

    Like

    1. Why use “full” Dynamics 365? If you need advanced features such as SLAs, Entitlements, Omni-channel, etc. then it would be a lot of expensive and extra work to replicate that. Another thing is that the decision-makers are not always IT-savvy, it’s a harder sell to convince leaders to buy a “platform” vs a “product” (like Dynamics 365) even though we know it’s a similar amount of work to configure. It always comes down to the most common answer “it depends”. Cheers, Nick

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s