In April 2017 I attended SummitEMEA in Amsterdam and listened intently when Matt Barbour told us that a true Microsoft Dynamics XRM image – i.e. a CRM organisation instance with only accounts, contacts, activities and nothing else – existed internally within Microsoft. This interested me as partners have been calling out for this since the old CRM 4.0 on-premise days. At that time it seemed there were no immediate plans to do anything with it.

Fast forward one year, and this time closer to home in SummitEMEA in Dublin, April 2018 and Matt Barbour again moved the conversation on a country mile or three. I discovered that XRM no longer officially exists in name, but does exist in practice and has been renamed PowerApps. So, how does this work?

PowerApps is all new. Ok, so it’s not actually new, but the ‘new’ PowerApps is new. Clear? Confused? Uh-huh.

Let’s try to get the emerging terminology correct from this point forward. PowerApps is no longer just a term for the fancy drag and drop UI builder you may have previously accessed at web.powerapps.com. As I see it, the term PowerApps has been split into two distinct technologies :

  1. PowerApps Canvas. For all intents and purposes, the old PowerApps has been renamed Canvas, primarily because it’s primary focus was on building a new UI through the drag and drop interface. It’s like an artist’s canvas, geddit?
  2. Powerapps Model-Driven. This is where the exciting stuff comes in. This looks like the one true XRM that we’ve always been asking for. But we can’t call it XRM anymore if anyone from Microsoft Marketing department is listening, we have to call it PowerApps Model (pro-tip – still call it XRM if you like). We can build a model driven app which sits on a ‘clean’ Dynamics 365 instance with a nice Dynamics 365 Unified Interface App (an AppModule for those who have not used these already). So Dynamics 365 Unified Interface apps are now classed as PowerApps!

Why is this exciting? Well, I never really delved into the old ‘Common Data Model’ much, but now it’s breathtakingly simple. Dynamics 365/CRM/CE, whatever acronym you decide to call it, is the common data model. I can only guess Microsoft looked at all the features they would have to build into a ‘Common data model’ and realised they already had them all in Dynamics 365.

What’s next?

At the minute, from a partner point of view this is all very exciting. The plumbing is being put in place for future features and if you have a Dynamics CRM background it should be easy for you to understand. In Microsoft’s marketing materials, they make much of how Dynamics 365 components work seamlessly together, but what is coming down the road that will really make this work is proper data federation between the Dynamics 365 Common Data Model at the hub and the likes of Business Central, Finance & Operations and Retail as the spokes on the Dynamics 365 wheel.

Data Integration is not seamless right now but it’s on the way. Expect data federation between the new PowerApps model and Finance & Operations in the next 8 or 9 months. Perhaps this time next year we won’t be able to tell the difference between the Dynamics CE and Dynamcis F&O at all.

For customers or partners with more niche data requirements, it may be possible to ‘interfere’ with the official federation of data between PowerApps Model and Finance & Operations and other products, but Microsoft’s design goal is that we do not have to.

What snake oil makes all this happen?

In the legacy ‘CRM world’ there was the concept of an organization. There are now 3 terms you should be aware of and where they are going?

  1. An Organization – This terminology will fade away over time and is considered legacy. Don’t call it this anymore or people will soon make fun of you.
  2. An Instance – There are 2 kinds of instances available at the minute :
    1. Dynamics 365 CE instance called with Accounts, Contacts, Sales, Service, Marketing, Leads, Opportunites etc.
    2. A CDS Core Instance. It only has Accounts, Contacts, Activities. Nothing else! A true XRM Platform. The only way to get this type of instance is through the admin.powerapps.com portal today. Through the API, you cannot create this type of instance at this time, but this will come in the future.
  3. An Environment – Over time Organizations and Instances will go away and we will only have the term ‘Environment’.

Why the different names? Because there will be a period of time where an environment can exist without an instance, but ultimately everything will become an environment. So use that term and people will love you for it.

The PowerApps Default Solution. Look Mum, no leads!

Where do I play with these shiny new things?

Go to admin.powerapps.com. It has changed a lot since February/March 2018 and will be changing rapidly every three weeks for the near future as it appears Microsoft have a three week release cycle for this. Microsoft’s goal here is that you will have a streamlined admin portal for creating solutions, entities, fields and more from within the PowerApps interface. There should be no need to go into a solution and add components to it, PowerApps will do it for you.

At the minute you can log into admin.powerapps.com and create an ‘Environment’ without an instance. When you do this, if you click Create Database, you will get a new Instance within your environment. You are effective creating a ‘CDS Core Instance’ at this point. It only will have Accounts, Contacts and Activities and not much else. You will be able to navigate to it and it will be a real functioning Dynamics 365 environment that you can access like any other.

Also be aware : Any Version 9 or above Dynamics 365 Instances you create from within the normal Dynamics 365 interface will automatically show up in the PowerApps portal.

Another portal you should revisit is web.powerapps.com. This is the ‘maker’ portal, but in here you can now select a design mode – you can go for a traditional canvas app, or you can go for a new Model Driven app (look in the bottom left hand corner for the option to do this). Amongst other things, this portal attempts to reduce the complexity of creating an entity, or fields. No more need to create a solution, add some fields and repeatedly save and publish your changes. In PowerApps model you can create all your fields quickly and hit ‘Save Entity’ and after a short delay, the underlying entity, fields are created, published and pre-packaged into a solution for you without you even knowing.

Creating a field on an entity from PowerApps. All this ends up in a D365 Solution. Wow.

What else should I look out for?

Look out for a ‘CDS Management Solution’. Look out for the ‘Business Application Platform Service Account’ – This is a system admin and an application user. This is how Portals historically connected to Dynamics 365 and now how PowerApps connect.

PowerApps interfering with your instance and creating solutions

Microsoft used to do this under the hood with hidden service account, but now they have had a change of heart and decided to expose the account. This means that we now have the ability to audit access from this account. If you remove sysadmin from this user account bad things will happen, but you can currently do this (Pro Tip – dont).

What should I do next?

Get in and have a play about with it. RTFM here. Build an app. Understand the licensing around it. Don’t ask anyone about it coming to on-premise and expect positive answer.

Enjoy your XRMPowerApping.