The past couple of months leading to the Microsoft Dynamics 365 commercial launch have been interesting, to say the least. A lot of things happening, but in a way that hasn’t been all too easy to grasp. I’ve started a lot of draft blog articles around the topic yet I haven’t written that much about Dynamics 365 – because I haven’t really known what to say about it. After visiting Redmond last week for the annual MVP Summit and talking to all the awesome Dynamics C… sorry, Business Solutions MVPs, I’ve decided that it’s time to just start putting my thoughts out there. I believe this is the best way to gain more clarity on the topic, rather than trying to come up with the ultimate, complete definition on what Dynamics 365 is and how it will impact different parties.

In Loving Memory of CRM

First, let’s get this thing out of the way: CRM is dead. Yes, believe it or not, but from a Microsoft product marketing perspective this is absolute the truth. There isn’t a single SKU available now after November 1st that would carry the three letter acronym we’ve come to know from the Microsoft business software offering during the past 13 years. I wrote an article on this change in branding and why I think it makes sense, so go and have a look at it if you’re interested in the details: “Why is Microsoft dropping ‘CRM’ from its Dynamics branding?”

Second, Dynamics CRM as a technology is totally alive and kicking. It’s bigger than it’s ever been and about to get even more massive with the road ahead that is Dynamics 365. XRM remains the backbone on top of which most of the new Apps in Dynamics 365 will be built. In fact, it’s the non-XRM products in the portfolio that are being axed, with Dynamics Marketing being replaced by a new XRM based Marketing app for Dynamics 365 Business Edition, and Parature being discontinued as the features mostly already exist in the XRM service. So, the real reason why Dynamics CRM isn’t called “CRM” anymore is because it’s grown so far beyond what the humble beginnings of the product were back in 2003.

Third(ly), all of this means we’ve ended up deep in the enterprise territory. The number of different applications included in the Dynamics “customer engagement” portfolio (which appears to be the unofficial new term for the CRM platform) is now so big that no single individual in the world can claim to be fluent in all those areas. As a result, fully deploying these applications into real life business processes is a task that will require significant investments from the customer organization – even if they are configurable cloud apps rather than custom software. The current offering + the new features are now sold under the Dynamics 365 Enterprise Plan for a good reason and the pricing of the whole package has been increased to reflect the potential value that can be derived from it. The SMB story around Dynamics 365 remains unclear as of now and we’ll need to wait a while before the dust settles. To get an understanding of what’s going on there, I recommend you to subscribe to the writings of one Dynamics 365 Fighter Pilot to keep up with the latest news.

A Bigger Picture

The whole story of Dynamics 365 isn’t just about taking two products, formerly known as Dynamics CRM and Dynamics AX, then offering them as a single subscription service. Yes, that ease of acquiring a full business application platform from Microsoft cloud is already a major step forward and a big competitive advantage. However, CRM + ERP <> 365. Don’t settle for that explanation if a Microsoft partner gives it to you, because there’s a lot more to it than meets the eye.

The timing of Dynamics 365 commercial launch coincided with the general availability of two new Microsoft products, PowerApps and Flow. These two cloud services are so intertwined that I don’t actually think they are separate entities, but rather components of a single “thing”. What that thing is exactly is not so easy for even Microsoft to articulate, but I’m expecting the story to evolve quite rapidly on this front. Just recently, the Common Data Model that I covered in a past blog post during its first preview was renamed to Common Data Service, to better reflect the true nature of this piece of the cloud business apps puzzle that Microsoft is putting together.

Since both PowerApps and Flow have been advertised not only as parts of the Dynamics story but also the broader productivity offering of Office, they’ve received far more attention in the blogs than a more recent entrant to the scene: Dynamics 365 for Customer Insights. Also known as “Azure Customer Insights”, or “Cortana Intelligence Customer Insights”, it is something that sits outside of the CRM platform, but when viewed from the perspective of business strategy, is definitely very much about CRM. You see, the purpose of Customer Insights is to deliver on the mythical “customer 360” promise that countless customer relationship management initiatives throughout the past two decades have aimed for – and often missed. It is the analytical CRM, where the traditional systems that some of us have spent their whole professional lives developing and deploying are firmly in the operational CRM territory.

Rise of the Machines

This leads us to the bigger vision that Microsoft has around more intelligent computing. While the existing business applications both in the Office and Dynamics product lines are being developed at a more rapid pace than ever before, they alone don’t reflect what the future of business software will be like. The term “transactional platform” has been used by Microsoft in reference to what XRM as we know it represents. This platform is not going away, rather it is becoming increasingly integrated into the direct interactions with customers via different channels, rather than the oldskool salesforce automation scenarios where a sales rep recorded information manually into the CRM system about these interactions. Alongside this platform, a new pillar is being built: the analytical platform.

“What’s so special about that? We’ve had data warehouses and BI tools integrated into our CRM systems for years and years already.” A fair question to ask, my dear fictional reader voice. Data analysis systems are of course nothing new in the realm of CRM, but they have often focused on reporting on the old world of business data coming from CRM and ERP databases. What’s different this time around is that both the sources of data and the quantity of the actual data, which are growing faster than the traditional BI solutions can cope with. You don’t need a new platform to build an even fancier opportunity pipeline chart from the data your sales reps are entering. You do, however need a whole different approach once you start automating your business processes based on the IoT device data that millions of sensors will be sending in a million times a day.

Although it may not seem like an everyday scenario just yet for most Dynamics customers out there, this is the future that Microsoft is very seriously preparing for. As one data point, the newly established Microsoft AI and Research Group has (or will shortly have) 5000+ computer scientists and engineers working on “democratizing AI”. What this means is that machine learning algorithms will be embedded into each and every service that Microsoft offers, to crunch the data inputs from various sources inside and outside your company, in an attempt to make the applications more intelligent. In Dynamics 365, Relationship Insights are the first taste of what added value Microsoft’s data cloud can provide when the algorithms get to work on the communication network data from both XRM as well as your Exchange Online.

This new form of intelligence will become both a built-in feature of the common business applications as well as a capability that the business application platform allows you to build on top of your customer data, business process data and, increasingly, sensor data. The first examples we’ll see might not be so glorious in practice yet (I’m totally expecting to see some less intelligent recommendations from Dynamics 365 Relationship Assistant), but the machines may well learn faster than many of us would predict. Also, even if your business wouldn’t be manufacturing any smart IoT devices to generate endless streams of data, there’s bound to be other valuable data sources out there that can be connected with your business processes. Microsoft didn’t spend $26B on LinkedIn just to get an excuse to spam you with email every day, so I bet we’re going to see some pretty compelling B2B insights being offered from this treasure trove of professional network data.

Welcome All Species

Back in the days of oldskool CRM things used to be simple: on one specific date a new package of bits would become available, people would find a server to install it on by following the deployment guide steps and… TA-DAA! Here was your business application! People would start entering letters and numbers into the system via their keyboards, to be later viewed by different people sitting in front of their own keyboards. Now we’ve got cloud software we can’t really touch, rolling out into our virtual subscription containers at an unspecified date, containing new functionality that we’ve barely seen for a few seconds in video stream broadcast online. New cloud apps keep popping up like mushrooms and they form a fungus-like network beneath the surface, communicating with one another in ways we can’t easily observe. They gradually find their way into new business processes and, thanks to the evolving AI capabilities, pretty soon start actively altering the behavior of us mere mortals who interact with these apps via any screen, keyboard not required.

The future isn’t scary, but it’s different. There isn’t anything specifically forcing you to work differently than you did a decade ago with your CRM software, thanks to the backward compatibility of core features and the underlying stack of MS technology. If you’re paying attention, though, you’ll see everything around you being gradually replaced with something else, expanded beyond the borders that used to be there just a moment ago. Close your eyes for too long in this environment and when you open the curtains you might be shocked to see that your cozy lil’ cabin has been surrounded by an urban metropolis that grew around you while you were sleeping. That hectic new lifestyle out there is going to take some getting used to.

It’s not a single thing like the Dynamics 365 commercial launch or the deprecation of CRM as a product name that’s responsible for the change. They are simply logical steps on the way towards a much broader set of tools for a universe of use cases that keeps expanding a lot like our physical one – at an increasing rate. Which means that unless you want to remain stuck on Planet CRM, there’s a lot of space exploration ahead for all of us.

Around one year ago Microsoft introduced the capability to access CRM Online data via Power Query, one of the client side components of the Power BI suite. More precisely, the capability to authenticate with the already existing CRM OData feeds via Office 365 credentials was introduced into PQ, which then allowed us to use CRM Online as one data source in our Power Pivot data models driving Power View visualizations. No Dynamics CRM specific feature had really been developed, but it was the first step on the road of unlocking the cloud data from the analysis limitations that the previous tools (CRM charts & dashboards, SQL Server Reporting Services reports with Fetch XML queries) had imposed on CRM Online customers.

There was a lot left to be desired still. Building reports from the raw OData feeds can be a cumbersome process, since no built-in tools existed for filtering the amount of data pulled from the entity tables. Also, not all the components needed in basic reports, such as optionset labels, were available to be retrieved dynamically from the OData feed. The biggest gap, however, has been the inability to automatically refresh the reports published onto Power BI portal, which means that each report end users would have needed to perform this refresh manually. As a result, Power BI has so far not been a something that I would have suggested to CRM Online customers as a company wide reporting solution, since it’s mainly been suitable for fairly advanced CRM power users building their own reports via Excel 2013.

Include in this announcement was also the statement: “In addition to the existing seamless connection with Microsoft Dynamics CRM Online, with today’s release customers can also connect to their data in Salesforce, Zendesk, Marketo, SendGrid, and GitHub with many more to come in the months ahead.” Upon first read, it was easy to interpret it as “nothing new for you Dynamics CRM folks out there right now, better luck in the next update!” This, however, isn’t the case.

When browsing through the new support site for Power BI I came across a posted idea on supporting Dynamics CRM as a data source, and a very recent comment from a Power BI product manager that the new Public Preview actually included native support for Dynamics CRM. Here’s the article where you can find the exact steps needed for connecting your Power BI Preview instance to Dynamics CRM. As this Preview is only available in the US for now, I decided to spin up a new CRM Online trial org from across the pond and try it out.

What’s in Store for Dynamics CRM Cloud BI?

After going through the process of enrolling for the Power BI Public Preview program with my Office 365 US trial tenant, I completed the steps for connecting to CRM Online. This really is quite a simple process with not too many options. You only have to dig up the OData feed URL from your CRM Online instance. After you’ve added this Microsoft Dynamics CRM app into your Power BI environment, the data retrieval process will start uploading your CRM Online records from one cloud to another. [Read more…]

From a system customizer perspective, one of the most intriguing new features in Dynamics CRM 2015 is the addition of two new field types. Alongside the traditional “simple” fields we can now define our custom attributes to be somewhat more “complex”, by choosing to create them as either calculated fields or rollup fields. These new field type options allow us to create point & click solutions to cover scenarios that would have previously required custom code.

Microsoft haven’t been advertising this feature much in their “what’s new” materials for the CRM 2015 version release, but great blog articles have already been written on the topic, like this one by Peter Majer on the Sonoma Partners blog. There are also articles on Technet for both rollup fields and calculated fields, which provide all the details you need for getting the new feature implemented in you CRM Online or CRM 2015 on-premises organization.

Rather than repeating this documentation, I’ll be exploring the different scenarios where the new complex field types can be leveraged, as well as the considerations and limitations to be aware of. In this first blog post I’ll demonstrate how the rollup fields can give us better insights on how our customers are reacting to email marketing campaigns sent to them.

Summarize Marketing Automation Data for Contacts

When our own CRM Online production organization received the 2015 update, the first use case I had on my mind for the shiny new features was to apply the rollup field functionality to the online marketing data that our ClickDimensions solution has been storing into the CRM database. If you’re not familiar with ClickDimensions, it’s a marketing automation service that allows you to send and track email campaigns, collect website visitor data, publish web forms integrated with CRM fields, configure automatic nurture programs for new leads, among other things (see this page for a detailed feature listing).

What makes ClickDimensions particularly interesting in this case is that all of the behavior data is available inside the CRM application, in the dedicated custom entities contained in the managed CD solution package. For example, a page view transaction from a website with the CD tracking script deployed will be stored as a record for the Page View entity and then linked to either an anonymous visitor or an existing lead or contact record in CRM. Since it’s an “XRM” solution that you install as an add-in to Dynamics CRM, rather than an external marketing database that would be just synchronized with CRM, we can leverage all of the CRM platform functionality for showing and analyzing the data, automating related business processes with workflows and so on.

Now with CRM 2015, the rollup and calculated fields have been added to our marketing automation toolkit. So, what do they allow us to do that would have previously been difficult/expensive to implement? As mentioned, all of the events tracked by ClickDimensions are linked to a CRM contact or lead record when the person performing the actions can be identified from browser cookies, unique id’s in links or submitted form data. If we would now like to view this data from the perspective of an individual contact, the rollup fields provide a way to summarize the data from related entities into fields available directly on the contact form.

Creating Rollup Fields for Contact’s Email Link Clicks

Let’s go ahead and add a new field for the contact entity. Yes, it must be a completely new field as you cannot convert existing standard or custom fields into calculated or rollup fields. Not a problem in our scenario, as we’re building a brand new feature into our CRM organization. The first field will be called Total Clicks and we’ll use it to count the number of related records found, so whole number is a suitable data type for us. By setting the field type as “Rollup” we’re given the option to edit the rollup formula.

In the rollup field definition editor we must now choose the related entity from which we wish to roll the data up to the contact entity. As we’re dealing with email link clicks, these are stored in the Email Event entity in the ClickDimensions solution, so that will be our choice. However, since the entity also contains data about events other than link clicks, we’ll need to add a filter into the related entity section and define that only email events where the field “type” equals “click” should be included in our rollup. As a final step, in the aggregation section we select “count” as the function that will provide the actual value for this new field on the contact record.

Let’s repeat the process for another new field: Latest Click. Instead of counting records, we’ll be looking at the date values on the related records, retrieving the highest date available and storing it into our rollup field. This means the data type should now be “date and time”. The rollup field definition is otherwise the same as with the first field, but in the aggregation section we’ll now have a different list of functions available for this data type. Let’s pick the Max function and apply it on the creation date of the email event records associated with the contact.

Alright, let’s save these fields and get them published! Oh, by the way, did you notice the yellow notification bar down in the rollup field definition editor window? That’s actually very useful information to be aware of once we move on to the next stage of our customization process.

Displaying the Rollup Field Data for Contacts

There are two main places where fields are presented in Dynamics CRM: forms and views. Let’s start from the contact form and include our new rollup fields there. In my scenario, we already have a suitable custom form available for the contact entity, which has been used for summarizing all the ClickDimensions data related to an individual contact record. Notice those fancy embedded charts and subgrids showing the email events for this test contact record of mine? That’s actually something you’ve been able to do already since the CRM 2011 version, so not exactly related to our agenda of the day, but a good reminder about how you can leverage the XRM capabilities of the Dynamics CRM platform to present data in a format that’s easier for end users to consume. (Check out my 10 tips for better CRM user experience for more discussion on that topic.)

I’ve added the Latest Clicks and Total Clicks on the contact form, below the existing chart and subgrid. But wait a minute: why are they empty? Did we do a mistake in the rollup field definitions? Don’t worry, this is exactly the expected result after creating a rollup field. If you took a moment to read that yellow notification bar I mentioned earlier, you’ll know that a mass calculation job was created by the CRM system after you added the rollup fields for the contact entity. Also, since it was by default scheduled to be run 12 hours after the field creation, we’re not going to see the whole magic until the next day in many cases.

If you’d rather validate that the new customizations you’ve created are working as planned, instead of just taking my word for it, open up a contact record form and hover over the rollup field. You’ll see a “recycle” icon that you can click on, after which CRM will perform the rollup calculation for that field, for only the currently selected record. [Read more…]

Featured Post

Watch out: the Citizen Developers are coming! They are armed with easy to approach GUI tools like Flow, PowerApps and PowerBI, and they aren’t afraid to connect to any of the 160+ cloud apps that you may or may not know your organization is using to solve everyday business problems that the traditional IT projects […]