Dynamics 365 Developer Toolkit reborn as Power Platform Tools for Visual Studio 2019

Power Platform Developers who were using the Dynamics 365 Developer toolkit had issues connecting to online Dataverse instances after the regional discovery service was deprecated in June 2021.  This toolkit was last updated in 2017 July and its source is not on GitHub. After the regional discover service deprecation this effectively stopped connecting to online instances, and no updates/fixes were published by SDK team. Dynamics 365 community member Mehdi El Amri (XrmTricks) had found a work around and details are on his blog post here. Since its not open source, community members cannot update the toolkit to work with the latest versions of the SDK.

Well, Power Platform SDK team at Microsoft has been busy and they have now published the preview version of the reborn developer toolkit with the name Power Platform Tools for Visual Studio.

I have installed and tested this toolkit and was able to connect to Dataverse, create solutions, plugins, workflows activities and deploy them with no issues. It is still in preview but seems to be working fine for all the features I tested so far.  I renamed the VSIX file as zip and checked and compared the file and folder structures  of this new toolkit with the old version, most of the structure is same and there are some changes and improvement to work with latest versions of the Dataverse and SDK.  So in my view, the old developer toolkit has been reborn with a new name and obviously with some improvement and support for latest version of the SDK.

Project Templates

Its got the exact number and types of templates as the old developer toolkit, they have just been renamed as Power Platform templates

Is it backward compatible?

The preview version is not fully backward compatible and the official documentation states its not backward compatible however, based on the testing I have done so far the Package project seems to be backward compatible and it does not recognise the workflow or plugin projects (Project type GUIDS are different) if you open a solution based on old toolkit in the new extension. The screenshot below is taken when I click on Deploy from package project for a solution based on old toolkit, it only recognises items within the Package project not from the workflow or plugins. We might be able to update the project type GUID for Workflow and Plugins and then if we click Deploy, it may recognise plugins/workflow project types but I have not tried that yet and I will update this post if and when I test this scenario.

Please note you will not see the new templates shown in the screenshot above and you will not be able to create solution or project using them if you have the old developer toolkit installed for the same Visual Studio version. You have to uninstall the old developer toolkit extension to be able to see the new templates. I hope the SDK team will look into and improve so that we can have both toolkits installed side by side.

Because I am working with many projects that are based on old developer toolkit, I have VS 2015 and 2019 in one setup where 2015 has the old developer toolkit installed and 2019 has the latest Power Platform Tools extension installed. I have also tested another scenario where VS 2019 Enterprise and Pro versions installed and installed the new toolkit on Enterprise version and old on Pro and that combination seems to work fine as well.

Screenshots from the toolkit – old UI elements have been renamed

Useful Links

Power Platform Tools

https://docs.microsoft.com/en-gb/powerapps/developer/data-platform/tools/devtools-install

https://docs.microsoft.com/en-gb/powerapps/developer/data-platform/tools/devtools-create-project

https://docs.microsoft.com/en-gb/powerapps/developer/data-platform/tools/devtools-create-plugin

https://docs.microsoft.com/en-gb/powerapps/developer/data-platform/tutorial-debug-plug-in?tabs=prt

https://marketplace.visualstudio.com/items?itemName=DynamicsCRMPG.MicrosoftDynamicsCRMDeveloperToolkit

https://xrmtricks.com/2021/06/13/connect-microsoft-dynamics-365-developer-toolkit-to-a-dataverse-environment-using-global-discovery-service-deprecation-of-the-regional-discovery-service/

Note : I will be updating this post as and when I do more testing

Dynamics 365 Customer Voice – 2021 Wave 1 New Features

01. Features related to collecting feedback

Survey distribution capabilities that enable you to send surveys across multiple customer engagement channels.

FeatureDescriptionPublic previewGeneral availability
Pause and resume survey“Survey respondents can partially fill in a long survey, pause it, and then resume later to complete it. This functionality allows respondents to take their own time and complete the survey at their own pace. “
Apr 2021
Auto prefill answerAuto prefill answer enables survey owners to prefill survey answer based on the survey respondent’s information from Azure Active Directory (for example, prefill a user’s email address when a question asks for email) or Dynamics 365 (for example, last product purchased by the customer).
Jul 2021
Power Automate survey response triggerDynamics 365 Customer Voice provides out-of-the-box survey response trigger for custom follow-up workflow actions. This will trigger Power Automate flows whenever a survey response is received. Users can use the survey response values in the follow-up actions in a flow.
Jul 2021
Survey reminderSurvey authors can review the status of a survey invitation and send email reminders to the recipients who have not responded to the surveys.
Apr 2021Jul 2021
Partial responseSurvey authors can specify whether to accept partial response in which any unsubmitted answers are collected and reported. When survey respondents submit the survey, the partial response is updated with the final response.
May 2021Jul 2021

02. Insights and follow-up

FeatureDescriptionsPublic previewGeneral availability
Integration with Dynamics 365 Marketing customer journeyThis feature enables you to configure a follow-up action based on Dynamics 365 Customer Voice survey results in the Dynamics 365 Marketing customer journey.
Apr 2021
Text analytics supportDynamics 365 Customer Voice automatically categorizes text responses into different categories, which helps a user to quickly determine the key areas customers are talking about and the distribution of sentiments based on these areas.
Apr 2021Jul 2021

03.Simplified survey authoring

Simple-to-use experience to create personalized surveys based on customer information from your business application.

FeatureDescriptionPublic previewGeneral availability
Personalize surveySurvey authors can upload a .csv file with contact information and use any contact attribute to personalize survey questions and survey invitations. Changes to the contact information can be updated directly in Dynamics 365 Customer Voice.
Apr 2021
Cascading question typeCascading question enables survey owners to upload a list of related answers (such as country, city, and state) and create questions that automatically filter the answer options based on a survey respondent’s previous answer. For example, if you select United States as an answer to a question about country, the next question shows only the list of US states.
Apr 2021Jul 2021

04. Survey Administration

Enable administrators to manage survey usage in the organization.

FeatureDescriptionPublic previewGeneral availability
Custom email address for survey invitationDynamics 365 Customer Voice supports an organization’s administrators to configure a sender’s email address to use the organization’s email address instead of the default Dynamics 365 Customer Voice email address.
Apr 2021
Custom survey headerDesigning the look and feel of your survey to match your organization’s branding is not only important to make your survey look professional but also to provide trust to your survey recipients. Your customers are more likely to open and respond to the survey if it looks familiar. Dynamics 365 Customer Voice makes it easy for survey authors to configure the survey look and feel by customizing the survey header.
Apr 2021
Support for report-only user accessDynamics 365 Customer Voice enables a project owner to share survey results and dashboards to business users without giving them edit access to the survey.
Jul 2021
Over-survey managementDynamics 365 Customer Voice supports a built-in over-survey management policy to prevent customers from getting too many surveys. As an administrator, you can specify the time between sending surveys. Any surveys sent during the specified time are stopped and the survey owner is warned for over-surveying risks. Administrators can specify whether a survey owner can proceed with sending the survey after the warning.
Apr 2021Jul 2021

https://docs.microsoft.com/en-us/dynamics365-release-plan/2021wave1/customer-voice/dynamics365-customer-voice/planned-features

Ability to update Resolved / Cancelled Case – D365 2021 Wave 1

As part of 2021 Wave 1 updates, a new feature will be added to allow System Administrators and System Customizers to configure if they want to allow a Resolved or Cancelled case to be updated using APIs, Flows or Plugins. This will be a very handy feature as we could avoid unnecessary opening and closing Case records to update fields on the Case record. The release plan does not mention classic workflow, but I do not see why we wont be able to perform the update using classic workflow / action if the record is unlocked at platform level. Please note the end user behaviours will still be the same, a read only Case record (Resolved / Cancelled) cannot be updated from UI.

Public Preview – Not Announced | Early Access – Not Announced | General Availability – April 2021

“Administrators and customizers can now update case information by using Power Automate flows, APIs, or a plug-in for cases that are in the resolved or cancelled status. The user experience on the case form will continue to be read-only.”

https://docs.microsoft.com/en-us/dynamics365-release-plan/2021wave1/service/dynamics365-customer-service/configuration-allow-updates-cases-resolved-canceled-status

Power Platform 2021 Wave 1 – Key Dates and Useful Links

Schedule : 2021 Wave 1 features are released between April 2021 and September 2021 and previews and early access made made available before the GA date

Products Area Covered : Power BI, Power Apps, Power Apps portals, Power Automate, Power Virtual Agents, AI Builder, governance and administration, ISV experiences, and data integration.

Key dates for the 2021 release wave 1

Release plans availableJanuary 27, 2021Learn about the new capabilities coming in the 2021 release wave 1 (April 2021 – September 2021) across Dynamics 365 and Microsoft Power Platform.
Early access availableFebruary 1, 2021Test and validate new features and capabilities that will be a part of the 2021 release wave 1, coming in April, before they get enabled automatically for your users. You can view the Microsoft Power Platform 2021 release wave 1 early access features now.
Release plans available in 11 additional languagesFebruary 23, 2021The Dynamics 365 and Power Platform release plans published in Danish, Dutch, Finnish, French, German, Italian, Japanese, Norwegian, Portuguese (Brazilian), Spanish, and Swedish.
General availabilityApril 1, 2021Production deployment for the 2021 release wave 1 begins. Regional deployments will start on April 2, 2021.

Deployment schedule

RegionsSchedule for 2021 wave 1 general availability deployment
South America
Canada
India
France
Emirates
South Africa
Germany
Friday, April 2nd – Sunday, April 4th
Japan
Asia Pacific
Great Britain
Australia
Friday, April 9th – Sunday, April 11th
EuropeFriday, April 16th – Sunday, April 18th
North AmericaFriday, April 23nd – Sunday, April 25th
ChinaFriday, April 30th – Sunday, May 2nd
GCC
GCC High
DOD
Friday, April 30th – Sunday, May 2nd
Se

https://docs.microsoft.com/en-us/power-platform/admin/general-availability-deployment#deployment-schedule

https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/

Power Platform 2021 Wave 1 – My Favourite Features – Power Automate

01. Search records in Microsoft Dataverse using relevance search

This feature allows to perform the Relevance Search from Power Automate cloud flows. The results returned in this search will be similar to what you will get when you search using the global search box in the navigation bar on Dataverse.

Public Preview – Not Announced | Early Access – March 2021 | General Availability – June 2021

“With this feature, you can create cloud flows that include a Microsoft Dataverse action to search records using relevance search, which is an AI-based fuzzy search that’s built on Azure Cognitive Search. Apart from basic cross-entity search, this action provides support for matches based on Lucene query syntax. This gives you capabilities like Boolean operators, wildcards, fuzzy search, proximity search, term boosting and regex matching.”

https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/power-automate/search-records-dataverse-using-relevance-search

02. Trigger flows when a Microsoft Dataverse action is called

Traditionally, we write plugins to execute custom logics on Action events but cannot trigger a classic workflow when an action is performed. With this new feature addition to Cloud flows, we will be able to create flow that trigger when an action is executed. This will be a very handy feature especially when we are adopting to more and more low-code or no code development.

Public Preview – Not Announced | Early Access – March 2021 | General Availability – June 2021

With this feature, you will be able to create flows that trigger when an action is performed in Microsoft Dataverse. This feature improves working with the common events model and even provides better integration with Dynamics 365 Finance and Operations.

https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/power-automate/trigger-flows-when-dataverse-action-called

03. Manage solution-based flows

When we go to My Flows area on maker portal, it lists only the flows that are not part of any solution. Normally we will have our cloud flows spread in multiple solutions depending on what solution strategy we follow. In these scenarios, we will have to find the right solution and open the flow from there or we have to check in default solution if our flows are scattered in too many different solutions and if we do not remember which one is in which. Well, with the 2021 Wave 1, we no longer have to navigate to too many different places to find our cloud flows, all of them are going to be listed under My Flows.

Public Preview – April 2021 | Early Access – Not Announced | General Availability – Not Announced

Makers can create and manage solution-based flows in the My flows experience, along with flows that are not in solutions. Here, makers can quickly add any flow into a solution.

https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/power-automate/manage-solution-based-flows

Power Platform 2021 Wave 1 – My Favourite Features for Power Apps – Part 4

Async OnSave events

In a model-driven app form, to do any validations on record save, we use OnSave event of the form. We bind the event handler function by directly adding it in form properties OnSave or by binding the handler function using addOnSave (formContext.data.entity.addOnSave). When the record is saved (user clicked on Save / Save&Close or auto-save was triggered or save triggered from code using formContext.data.entity.save / formContext.data.save / formContext.data.refresh(true…)), the OnSave handler function is called and we have to use the formcontext.geteventargs().preventdefault() block the default save, perform validations and then trigger another save. We also have to handle what happens after saved depending on how the Save was triggered. As you can see adding custom logic to OnSave event to perform any validation is not very straightforward and not a clean approach and performing any async calls makes it even more complicated.

With the release of 2021 Wave1, Async OnSave feature will allow a promise to be passed to perform validations and if the promise does not resolve within 10 seconds, the save will be blocked. This provide a lot more cleaner pipeline to hook into OnSave with a flexibility to perform complex validations. I have tried to do some tests on my trial instances but the feature is still not available on my environment. I will update this post with sample code once I had a chance to play with it.

Public Preview – Feb 1, 2021 | Early Access – N/A | General Availability – April 2021

What are Async OnSave events?

This provides the ability to create Async OnSave events. Async OnSave events will now wait when they provide a promise, and there is also a new timeout if the promise does not resolve within 10 seconds. If it does not resolve within 10 seconds, the save operation will be blocked.

https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/events/form-onsave

Some useful links related to OnSave event

Power Platform 2021 Wave 1 – My Favourite Features for Power Apps – Part 3

Model-driven app adds in-app notifications

In most of the Dynamics CRM / Dynamics 365 CE or Power platform projects I worked on, there were always requirements to display some sort of notification to the user in model-driven apps. Since there is no out of the box way of displaying notifications to users globally, we had to convince the customers to accept sending email or adding an item to the queue as the notification mechanism or form notifications. In some cases, we had to implement custom solutions, sometime using unsupported methods to display messages. There are third party solutions to display notifications but they do have limitations and obviously you have to pay for most of these. In short there was never an easy and supported way to display global notification to user.

All that is about to change with the release of in-app notifications for model driven apps as part of 2021 Wave 1 release. The feature will only be available for preview in April so I could not do any tests at this point but I will update this post once I have done some testing after the preview is released.

Public Preview – April 2021 | Early Access – N/A | General Availability – June 2021

What is in-app notification?

“Model-driven app in-app notifications are shown to users as a notification toast or notification centre. Notifications are directed to a specific user and can be sent through external systems, Power Automate, or from within the system”

https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/power-apps/model-driven-app-adds-in-app-notifications

Toast notification example

Notification Center

Power Platform 2021 Wave 1 – My Favourite Features for Power Apps – Part 2

Relevance Search – Quick Actions

The relevance search has been improved a lot in the past few update waves. As part of 2021 Wave 1 another cool new feature has been added to the relevance search results, which is Quick Actions.

Public Preview – Jan 24, 2021 | Early Access – N/A | General Availability – April 2021

What are quick actions?

Quick actions provides quick access to frequently used actions from the suggested results for your typed query. CallAssign, or Share a contact row quickly without losing context”

https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/power-apps/search-quick-actions

Please note that if the Relevance Search is not enabled on your environment, you will not see the search box in the top navigation bar.

You can enable the Relevance Search from Power Platform Admin center, as shown in the screenshot below

If you would like to learn more about Relevance Search, please visit the links below

https://docs.microsoft.com/en-us/power-platform/admin/configure-relevance-search-organization

https://docs.microsoft.com/en-us/powerapps/user/relevance-search

Power Platform 2021 Wave 1 – My Favourite Features for Power Apps – Part 1

Multi-line text control automatically expands on quick view form

Quick view form, ever since it was released, has been a very useful feature to display data from a related record without copying or duplicating data to multiple tables. Quick view form does have some limitations but overall it has been a life saver in many recent projects I worked on. One of the key limitations we came across with our recent Power Apps solutions is that a multi-line cannot be formatted on a quick view form to display the content in full in a supported way.

Well with release of the 2020 Wave 1, a multi-line column on a quick view form now automatically expands to display the full content like how the multi-line of text column behaves on a main form.

Public Preview – Jan 24, 2021 | Early Access – N/A | General Availability – April 2021

If you check the properties of a multi-line of text column on classic form designer, there is no formatting tab, so you cannot disable this auto expand feature.

And if you check the properties for the same column on Power Apps portal modern form designer, you have the options to set the number of lines or to enable/disable auto-expand feature but these settings are ignored as of now. In the future, Microsoft might implement features to apply these settings but as of now, they don’t take effect.