How to build out a survey to collect data for D365 CRM in under an hour using MS Forms and Flow

Ever wanted to connect with your customers on a certain issue extremely quickly and won’t want to put much fuss into it? Sounds like you need to push out a survey in a matter of minutes – and want a robust place to store it that integrates with your existing systems. SurveyMonkey probably immediately springs to mind, but the frustration of that service is you are ultimately going to be exporting that data and transforming it to do your own analytics on it. Wouldn’t it be nice to have a very quick way to put out a survey, but leverage your existing O365 environment and CDM/CRM database? Of course it would! That’s were Microsoft Forms comes into play.

Continue reading “How to build out a survey to collect data for D365 CRM in under an hour using MS Forms and Flow”

How Portals fit into the Power Platform

Ah Portals, our favorite child of Microsoft Dynamics CRM. It’s been around for while and people have gotten used to it as a piece of the D365 picture. However, people are starting to pick up on the fact that the Power Platform has a Portal offering too? Is this the same thing? How do Portals fit into the picture of Power BI, Power Automate, and Power Apps?

Portals and Customer Engagement

Well I suppose the first thing to clear up is how Portals fit into Dynamics 365 Customer Engagement. And to do that, we need to clear up how Dynamics 365 Customer Engagement fits into Dynamics 365.

Well for starters, it’s not Dynamics 365 Customer Engagement anymore. With that out of the way, I’ve got nothing better to call the set of model-driven power apps that are part of the Microsoft Dynamics 365 licensing structure, so to heck with it, I’m going to keep referring to it as CE for this article.

It’s a long story, but the short-short version is that when CRM, NAV and AX all went online, Microsoft decided to market them all as the same thing – just different parts of the same platform. This actually makes perfect sense because in theory they compliment each other very well. NAV / AX (Now Business Central and F&O) handle the accounting / ERP side of things, which allow your business to manage its finances and inventory, while CE handles the sales and customer service side of things. Together they really do represent a complete picture, in theory, if only they integrated together a bit better.

So where does the portal come into play? Essentially, it’s the customer-facing portion of your customer engagement solution. Basically, if you are a business, and you have customers, you need a portal of some kind, and if you have a Dynamics 365 CE implementation, the Dynamics Portal makes a pretty good use case to fill this role. External users interact with your Portal which in turn interfaces with D365 CE.

Here’s how portals fit into D365

OK, but what does this have to do with the Power Platform?

So far we’ve been talking about D365 and how the Dynamics Portal fits into CE. However this article is about how the Portal fits into the Power Platform. So perhaps we should be asking ourselves how D365 CE fits into the Power Platform.

Well, it’s a long story. Really I would say that the best explanation ever was provided by MVP Nick Doelman in this blog post. Give it a read – it’s a great story.

Dynamics 365 and the Power Platform

Here’s the short version: Microsoft loves bundling software together into Platforms, and three applications that worked pretty well together were Power BI, Flow, and PowerApps (Now called “Power Apps”, with a space). Power BI is Microsoft’s premiere business intelligence software – it can connect to various data sources, create reports based on that data, and allows for powerful visualizations, data manipulation and forecasting. Flow (Now called Power Automate, in case you missed it) is a next-generation low/no-code workflow engine, also connecting to a variety of data sources and allowing for the automation (power automation!) and streamlining of repetitive tasks. Finally, PowerApps started as a platform to allow customers to easily build unique purpose-driven applications. This would allow “citizen developers” to build custom applications low/no-code. This began with a set of drag-and-drop tools and low-code functions to build pixel-perfect apps that connect with a large variety of different data sources via connectors.

As this was all coming together into the Power Platform, Microsoft realized that what’s missing from this combo of Flow, Canvas PowerApps, and PowerBI is a citizen developer-friendly data store that is easy to set up and customize. A highly extendable relational database -which could be called the Common Data Service (CDS) and a basic schema with some pre-defined entities like contacts, accounts, and activities – which could be called the Common Data Model (CDM).

Sound familiar?

Turns out Microsoft basically already had such a thing and that was the Dynamics CRM data model and business application layer. For years and years, we in the Dynamics CRM world had learned to adopt the “xRM” mindset and think of CRM as a platform, because of how extendable and robust it is. Dynamics CRM had in fact everything Microsoft was looking for in and therefore CRM formed the basis for this new CDS and CDM. In the spirit of not fixing what isn’t broken, the Unified Client Interface (UCI) was welcomed with open arms and the concept of Model-Driven Apps was born.

The Microsoft Power Platform | workingondata

The Dynamics data model was re-branded CDM and the different customization tools like the solution editor had a PowerApps (later “Power Apps”) label put on them. The power platform was really ramping up now – a complete platform allowing for all aspects of engagement, functionality, analysis, and automation to come together. What had been the “naked” CRM business application layer had become CDS/CDM. the customization tools and UCI came to form Model-driven Apps. The original pixel-perfect apps and tools because known as “Canvas” apps, and then Flow was renamed Power Automate for some reason.

But exactly where does “Dynamics 365” fit in? Is Dynamics 365 gone now? Or is it just ERP now? after all, CRM is just CDS/CDM and Model-driven apps now. The answer lies in the question of what apps we are talking about. The “CRM” part of Dynamics 365 – D365 CE – is no longer a platform, instead, it’s just a brand name (and licensing structure) for a series of first-party Model-Driven apps, that come pre-loaded with all sorts of features and functions that you can’t get otherwise. It’s still very much built on the Common Data Model and very much part of the Power Platform… Although it’s also still very much part of Dynamics 365 as well, so it’s marketed alongside the ERP side of Dynamics, as if things weren’t confusing enough. Maybe a diagram will help.

Dynamics 365 and the Power Platform

Portals and the Power Platform

This brings us back to the Portal. A while back I posted about how finally we get a “blank” Portal that runs off of CDS without needing Dynamics 365 licensing. This is brand new app type, right along Model-Driven and Canvas, known as Portal Apps. The Portal App is identical tech-wise to the Dynamics 365 Portal that we kicked this article off with. Just as Dynamics 365 apps are just first-party model-driven apps that come pre-loaded with features, so are the Dynamics 365 Portal Apps (like the Community Portal, Partner portal, etc.) first-party Portal Apps that use the Dynamics 365 licensing instead of the Power Apps licensing. Or to put it another way, just as CDM + Model-driven apps is a “naked” CRM, so are the Portal Apps, “naked” portals!

So what business value do the Portal Apps add to the Power Platform? Well, just as the portal represented the external “Customer” side of Dynamics Customer Engagement, the Portal Apps allow for external users to interact with your custom line-of-business application. The scenarios are endless just as are the scenarios for Power Apps – the limit is your imagination. Online shopping, profile registrations, service requests, open information, the list goes on – if you are building a line-of-business application with Power Apps and need a way to expose information to or capture interactions or information from external users, Portals is a potential solution.

Thanks for reading! Be sure to like, share and subscribe if you want to see more!

Why it’s a good idea to opt in to early access Power Platform and D365 updates

Managing changes coming from Microsoft and staying on top of the latest updates and deprecated can be quite daunting for many. If you let up on it for a couple of months, as many of us are wont to do, myself included, you can quickly find yourself overwhelmed by what’s new out there simply because of the dramatic pace of change.

One quick win would be to opt-in to early access to new features as early access becomes available, so you can start testing, learning, and leveraging them right away. This advice will always apply, but here’s the guide to early access features at the time of this writing.

For each of the various major releases, you can opt in for early access about 2 months prior. So for the features set to release in Apr 2020, you’ve been able to get early access since February. Wave 2 will release in October, so you’ll be able to opt in in August.

Opt-in timeline for 2020

Here are some reasons to opt-in:

  • You will have more time to test and learn new features
  • You will be able to identify potential problems (such as with deprecated features) faster
  • You’ll get a jump start on development
  • You will be ahead of the curve in terms of knowledge and readiness

I have definitely spoken to a few people who express concerns when it comes to opting in to early upgrades, because it might cause instability with production environments. Putting that aside, it’s a no-brainier to start testing out and leveraging early access features if you’ve got multiple environment that you can use to do so. The early access updates are available for all types of environments, including trial, sandbox, and production. So don’t hesitate to do so for your non-production environments.

Here’s how:

  1. Sign in to the Power Platform admin center.
  2. Select the environment to update.
  3. Under Updates, you’ll see that the new release wave is available. Select Manage.Manage opt-in update
  4. Select Update now, and then proceed through the confirmation dialog boxes to enable the new features and capabilities of the release wave.Opt-in update now
  5. After the update is complete, all early access features will be enabled for your model-driven apps in your environment.

Remember, you can’t opt-out of the eventual upgrade – that’s actually the beauty of SaaS; it forces a different dynamic than the “giant upgrade, sit around and wait, fall desperately behind, repeat” one. It’s for that reason that i’d recommend some best practices in terms of your approach to upgrades:

  • Download the release plans when they become available: Reading these will give you a good idea of what the next release includes. Essential for members of the community! At the time of this writing, the current release plan is in two waves: wave 1 and wave 2.
  • Stay up to date with the Roadmap: This will give you a sense of what’s coming: https://dynamics.microsoft.com/en-gb/roadmap/overview/
  • Ensure you have sufficient environments: Production, UAT, Test and Development at a minimum. This is separate from “play” environments that you use for learning. This keeps development far away from your live environment so that early opt-in, not to mention your dev work, won’t break production.
  • Opt in to the early access updates from the Power Platform admin center, and test and evaluate new features against your requirements regularly: Begin with your sandbox environment. An update might introduce new functionality that you can leverage in new engagements as a consultant, solve a pain point on an existing system, or even remove the need for a third-party tool and introduce a cost-cutting shift. So many times I’ve consulted with clients who left feeling like “they should have known better” after paying big bugs for a custom solution when they could have used recently-introduced D365 features OOTB to fullfill all the requirements!
  • Leverage both early opt-in and preview features: The most time-consuming task is testing the updates, so the earlier that you start test features you know are coming the longer you have to test. You want to catch issues as early as possible. This would apply to leveraging preview features as well, although preview features can always change, it still gives you a lot of extra time to test features and prepare.

Hopefully, this makes you more comfortable and excited about staying on top of the latest and greatest. Opting-in to early upgrades is one great piece of that puzzle!

Portals have come a long way since Adxstudio’s xRM Framework

In case you haven’t heard, the Microsoft October 2019 Release plan has some pretty huge news when it comes to Portals – They are going to be put on center stage as a first-class app type along with Canvas Apps and Model-Driven Apps.

Starting soon, when you go to web.powerapps.com and go to create a new app, in addition to Model-driven apps and Canvas apps there will be a third type of app: Portal!

These Portals will be exactly the same as the previous portals, but you don’t need dynamics CE anymore. These Portals run off of the Common Data Model (just like before, really). In fact, you’ve been able to see the CDS portal in action for a while now. Now, Dynamics CE is still an important vertical to consider, so in a future post we’ll look at when you should skip CE and when you should still include it in your solution.

Portals are going to now be open to a much bigger audience as people jump onboard the power platform. With PowerApps, you can built out purpose-driven applications to suit your business needs – no longer are we modifying a CRM system to implement a system that doesn’t really have anything to do with CRM. Naturally, Portals are a key part of that story and the technology used to build Dynamics portals is being brought forward as the missing part of the puzzle. This feels so rewarding as all the work that my colleagues and I did at Adxstudio back in Regina, Saskatchewan at the old park street office building Portals has really come to full fruition.

Let’s rewind to 2009. I had just completed my Master’s Degree – well, scratch that – I was close to completing my degree and decided to start working full-time while I finished up the last “month or two” of my thesis. Actually finishing and defending my thesis would take well over an additional year, but that’s another story.

You see, I had accepted a fantastic offer for a brand-new developer from a local company in Regina, SK called Adxstudio. I started off right out of the Gate as a Developer on the Product Team working on little product called the xRM framework, which was nearing completion of version 2.2 when I came on board.

Most of Adxstudio’s business came via it’s other product, a Content Management System (which was a big deal at the time) simply called Adxstudio CMS. It was a fine piece of software, but most of our investment was in Microsoft Dynamics CRM, which had recently released version 4. We believed that Microsoft Dynamics was the future – and we were all in. What we had developed was a framework which allowed developers to interface easily with Dynamics CRM without interfacing with the SQL database directly. The primary use case for this was to integrate a website withe Dynamics 365, so that records such as contacts from CRM could be surfaced in some way on the website. Sound familiar?

Included was an authentication model that allowed you to log in and have your user associated to a Contact in CRM. It also had a fully functional CMS allowing you to manage the website via Web pages, Web Links, Content Snippets and so on. We developed a few different websites too – we didn’t call them portals yet – such as the Company Website, branded Wireframe Industries – boy I wish screenshots from back then survived – the Conference Website, which used the amazing technology of Silverlight, and Community Website, which added some baked in features such as Blogs, Ideas and Forums.

Well as Dynamics CRM 2011 came out the door, we made the decision to give the xRM framework base code to Microsoft. It became part of the official Microsoft CRM SDK. This was rewarding it it’s own way but put us at an advantage because now the best way to surface data from CRM onto a website was to use a Portal using our framework. You could do some basic stuff for free using Microsoft’s accelerator portals, or starting from scratch using the framework that came with the SDK, but if you really wanted to play with power, you could use our product, which we kept adding features such as Web Forms, and later Entity Forms, Entity Lists, and finally Entity Permissions to. This product was finally named Adxstudio Portals (v4 of the xRM framework).

As Dynamics went through releases over the years so did Portals. With version 5 the solution layering was completely redone from scratch – manually, by me at first (!) – while we refined our ALM processes (and eventually came out with a great toolkit called the ALM toolkit to help automate the process ). With version 6 the front-end was completely redone to use bootstrap and Entity Permissions were added. With Version 7, we added liquid support which radically changed how customization of the Portals was done. It was now ready for the cloud.

And with that, Microsoft announced the acquisition of Portals (and the Adxstudio brand). I had the privilege of working with their new Portal product team to help integrate the Portals into their product lineup. Version 8 of Portals, as we called it internally, would soon be released as Dynamics portals – a fully in-the-cloud solution that extended Dynamics 365 for Customer Engagement.

Fast forward to today, and finally we are able to do the things with Portals that we saw ourselves doing with it way back in the days were we used “xRM” as a buzzword. I can’t wait to work on many more Portals implementations and I’m interested to see where we go from here.

Thanks for reading.

A Closer look at Entity Forms and Entity Lists created by the Create Portal Content Wizard

In my post about the Create Portal Content Wizard, I talked about how easy it is to add content to the portal using point-and-click configuration, and demonstrated that the Wizard creates a whole lot of records in the background for you so that you don’t have to. It’s like magic! It certainly does beat having to spend the time configuring Entity Forms, Lists, Permissions, and web pages all from scratch. However, the Wizard also has its limitations. There are several scenarios that it simply can’t manage, including some fairly basic ones. The Wizard can also leave you with a fair bit of manual work or cleanup to do, depending on what you’re building.

In order to better understand the Wizard, I figure now’s the time to spell out exactly what records actually get created by the wizard. To do this, we’ll go through the different options for configuring a list (we care mostly about displaying organization entities, so that’s the focus of this article) and then see exactly what configurations are created with each and what changes occur with the different settings. If you aren’t familiar with the Wizard, I explain the steps for using it here. Read that first, then come back – this article is more of a deep dive.

Continue reading “A Closer look at Entity Forms and Entity Lists created by the Create Portal Content Wizard”

Building the Perfect Portal Team

Recently I participated in a group discussion with Colin Vermander about what it takes to have a successful implementation of Dynamics 365 Portals. Among many other factors that I’m sure we’ll discuss in the future, one that struck me is how to build the perfect Portals Implementation team

I thought it would be fun to take a look at the skillsets that are needed to build that team, and the roles associated with those skillsets. Now let’s make the distinction clear before we get started that many of these roles overlap, and the people who fill these roles simply need to have the skillsets required. Very often, one person might fill multiple roles on a smaller project. For example, the Business Analyst and Functional Consultant might be the same person. Conversely, on large implementations with tight deadlines, you might have a very large team with multiple workstreams. Each workstream might have a team of BAs, its own dedicated functional, solution architect, and development team. The golden rule at the end of the day is to ensure that the project is not understaffed, and that each of the below skillsets is taken into consideration when building your team.

Also note, that this article tries to be methodology-agnostic as much as possible. Some roles might only apply to certain methodologies – for example if you are using scrum you’ll need a scrum master, etc. Alright, without further adieu, let’s get down to it.

Continue reading “Building the Perfect Portal Team”

Basic Portal Entity Permissions and the Create Content Wizard

In the last article I wrote on this subject, we talked a bit about the Create Portal Content wizard. In that article, we walked through creating a list of leads that displays on the portal. Anyone can access the list, and it’s read-only. Where can we go from here?

Perhaps we don’t want to allow any anonymous users to see our lead list because we only share this information with partners, for example. In this case, we want the ability to create new leads or edit existing leads from the portal, or to take actions on those leads. In other words, we want a secure list of leads that can be modified by those with the appropriate permissions.

For now, let’s not worry about the realism of this scenario.  In a future post, I’ll show you how to build out an awesome portal, and we’ll look in more detail at a realistic business use case at that time. For now, let’s use this simple example to build our knowledge of how to manage permissions for entities exposed on the portal.

Continue reading “Basic Portal Entity Permissions and the Create Content Wizard”