I recently encountered an issue when I tried switching the view of the registered plugins & custom workflow activities in the Plugin Registration Tool.
When updating to the latest version using the PowerShell script listed on Download Dynamics 365 development tools from Nuget the error got resolved. Lessons learned: make sure that you keep your Dynamics 365 development tools up to date.
Thursday, February 06, 2020
Monday, February 03, 2020
Lessons learned about Dynamics 365 solution layering - Part 1
This is the first in a series of blog posts on Dynamics 365 solutions and solution layering in which I will cover the basics about Dynamics 365 solutions and gradually delve deeper into the mysterious world of the inner workings of Dynamics 365 solutions.
In my opinion, based on how managed solutions and solution layering work - I think that in the majority of cases you should only use a single managed solution to avoid issues down the line. Read on to see why...
This blog post assumes that you are using managed solutions to deploy to all environments and only have unmanaged solutions in your development environment.
Dynamics 365 solutions fundamentals
If you work with Dynamics 365/CDS solutions, you should be aware of the concept of solution layering. Solution layering occurs on import of solutions when a specific component is affected by a change within one or more solution. Solution layering will determine the kind of behavior that a user will see in Dynamics 365.
The figure above shows how layering works: at the bottom, you have the standard CDS solutions on top of which you might have some first party apps installed like Dynamics 365 Sales/Customer Service etc... If you deploy custom managed solutions, they will go on top based on the order in which they are installed. Direct customizations and unmanaged solutions are always at the top but there is no real layering of unmanaged solutions - they all end up directly modifying the base behavior.
Solution layers describe the dependency chain of component from the root solution introducing it, through each solution that extends or changes the component’s behavior. Solution layers are created through extension of an existing component (taking a dependency on it) or through creation of a new component or version of a solution. So it is very important to understand that layers should be considered on a per component basis.
In April 2019, Microsoft introduced a new user interface component which visualizes the different solution layers which are impacting the behavior of a specific component - View solution layers for a component. Below is an example of the solution layers of the case form which was quite an interesting example.
Going beyond the basics
But what happens if two or more solutions define solution components differently? This article - Introduction to solutions - conflict resolution explains the two conflict resolution strategies - Merge and Top Wins. The article is also valid for online according to Microsoft support - even though it was written for Dynamics 365 on premise and last updated in December 2017.
When importing a managed solution with the overwrite customization option, it is possible to override the "top wins" conflict resolution but this does not apply to components which apply a “merge strategy” - for more details see Understand how managed solutions are merged
So you need to be very careful when adding components which apply a merge strategy in multiple solutions with different publishers since the merge behavior might cause unexpected side effect such as creating a separate active layer on top which would block your customization to appear to the user.
An active layer can emerge in two scenarios - a direct customization was done in the instance but it seems that it is also possible that a managed active layer is created when using only managed solutions without direct customizations in the system. This happens when managed solutions in one system, with different publishers (the Microsoft solutions count as a different publisher) are trying to update the same component. It is a defense mechanism that Microsoft has built in when there are object inconsistencies across managed solutions.
The general recommendation is that you keep the number of managed solutions with common components (e.g. forms with a different form layout) to a minimum. This will avoid merging issues across the layers.
Single solution to rule them all?
Taking into account all of the above it seems that you would opt to use a single managed solution to deploy to other environments.
| Single solution approach | |
Pros:
| Cons:
|
I do think that a single solution might make sense in the majority of cases but there are of course exceptions to this rule. I would recommend you to take a look at the Solution Lifecycle Management: Dynamics 365 for Customer Engagement Apps whitepaper and especially the section on solution boundaries which outlines some of other valid scenarios for having multiple solutions e.g. the scenario where you need to deploy to multiple regional production instances with small variations with a core solution approach and on top local solutions or the scenario where you need to release subsets of applications on different cadence/timeline.
Friday, January 31, 2020
Dynamics 365 and Power Platform monthly reading list December 2019
Technical topics (Configuration, customization and extensibility)
Topics for Dynamics 365 Business Application Platform analysts, project managers and power users
- Introducing improvements to data storage in Common Data Services
- New improvements in Embedded Canvas Apps which are undocumented/unannounced
- MVP Advent Calendar 2019 - excellent initiative by @MeganVWalker
- Microsoft Flow vs Dynamics 365 Workflows
- Power Virtual Agent Series - add Power Virtual Agent to Microsoft Teams by @TomaszPoszytek
- Sentiment analysis for Power Virtual Agent using Power Automate & Azure Cognitive Services
- Performance benefits of unified interface
- Get notified in Dynamics 365 when a contact is no longer with a company.
- Generate demo data for Dynamics 365 using Power Automate and Mockaroo by @DylanHaskins
- Connect to Dynamics 365 Web API using oAuth2.0 - Authorization Code Grant Type
- Custom Insights Cards for Sentiment Feedback
- Filtering a lookup based on the linked entity by @Himbapinfo
- PowerApps: using the Common App Connector vs the Dynamics 365 Connector by @ccognetta
- SalesSpark and the PowerApps Component Framework by @ScottDurow
Topics for Dynamics 365 Business Application Platform analysts, project managers and power users
- Proactive chat in Dynamics 365 Omnichannel for Customer Service
- 2019 in Microsoft Business Applications by @jukkan
- How Microsoft publishes product release plans using Power Platform
- Microsoft Access: the database software that won't die
- Predictive lead scoring in Dynamics 365 Sales Insights
- Dynamics 365 Scrum - what to measure in your Scrum projects
- Less code, More Power II by @ManuellaPichler_
- Using AI to better understand your customers
Thursday, January 16, 2020
Dynamics 365 or Power Platform New Year's resolutions
We are already 3 weeks in 2020 but there is still time for New Year's solution so choose one of the 12 potential Dynamics 365/Power Platform New Year's resolution as proposed in Episode 69 of the CRM MVP Podcast hosted by @gusgonzalez2.
I will try to take at least 10 out of 12 in 2020 so what is yours?
I will try to take at least 10 out of 12 in 2020 so what is yours?
- Write a valuable blog article every week - I probably want to go for 52 blog posts this year.
- Deliver at least 4 webinars or community presentations in a year
- Register for the Dynamics Insider program and commit to test every new release and provide feedback to Microsoft
- Answer 60 questions on the forums (Microsoft Dynamics Forums, CRMUG Forums, etc...)
- Attend a training from a Dynamics 365/Power Platform expert that you admire or who you consider to be a top expert in the domain
- Create a XrmToolBox plugin
- Speak at a major conference
- Contribute 24 tips to @crmtipoftheday by sending an e-mail to jar@crmtipoftheday.com
- Learn something new about Power Platform/Dynamics 365 every month - you can learn a lot by dedicating 8 hours a month on a single topic
- Teach something new about Power Platform/Dynamics 365 every month e.g by delivering a lunch&learn session in your company
- Use "new" functionality in Power Platform/Dynamics 365 at least once every month e.g. use Flow/Power Automate instead of using workflows or use the new Admin portal and solution designer
- Release a free solution to the community e.g. a PCF control
Labels:
CDS,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
microsoft,
msdyn365,
msdyncrm,
Power Platform,
XrmToolBox
Update on Dynamics 365/CDS request limits
End of August Microsoft announced an API based limitation which is based on users and the type of licenses they have - the latest documentation is available on http://aka.ms/platformlimits as well as PowerApps and Microsoft Flow licensing FAQs for October 2019. I would recommend regularly checking these pages as they have been updated quite a few times in the last months.
During interactions with Microsoft the last couple of months, they explained that the allocated number of API calls within the different licenses are based upon internal telemetry on the current Dynamics 365 customer base. The claim is that 95% of customers fall within the standard allocated API limits. But if you are using a lot of integrations, you might need to re-architect part of your solution.
Listed below are the key takeaways:
During interactions with Microsoft the last couple of months, they explained that the allocated number of API calls within the different licenses are based upon internal telemetry on the current Dynamics 365 customer base. The claim is that 95% of customers fall within the standard allocated API limits. But if you are using a lot of integrations, you might need to re-architect part of your solution.
Listed below are the key takeaways:
- Users with a Dynamics 365 Enterprise Application license have 20.000 API requests allocated in a 24 hour window.
- Technical/non-interactive/application users get allocated 100.000 API requests if at least one Dynamics 365 API license is available.
- If a user exceeds the limits the admin for the tenant/environment will receive a notification - end users will not be blocked from using the app.
- This new licensing went into effect for new customers who on boarded after October 2019. Existing customers have a transition period until October 2020 or when their licensing contract expires. Whichever is longer. For customers with an enterprise agreement this will be the end of their EA (in most cases I know these contracts are valid for 3 years), customers on a CSP contract typically have a yearly expiration date. Reach out to your licensing partner or Microsoft for more details.
- The currently available statistics in the Power Platform Admin Center are still quite rudimentary but are a good starting point to assess the impact on your environment
- It is possible to purchase additional blocks of 10,000 daily API requests for $50 per month (For details reach out to your licensing partner)
- Batch requests (Executemultiple) only count as 1 API call, so you can wrap a 1.000 individual calls in one ExecuteMultiple call.
References:
Labels:
CDS,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
microsoft,
msdyn365,
msdyncrm,
Power Platform,
PowerApps
Tuesday, January 14, 2020
My perspective on the PowerApps Build Tools for Azure DevOps
Mid July 2019 Microsoft released a preview of a set of PowerApps specific Azure DevOps Build tasks. In the last months this tooling has been updated on a quite regular pace which indicates that ALM (Application Lifecycle Management) for Power Platform (and Dynamics 365 Sales/Customer Service/etc..) is high on the priority list for Microsoft.
For those of you who are new to Azure DevOps, here is a small summary. Azure DevOps is a set of services hosted on Microsoft Azure cloud which support your full software development lifecycle e.g. you can use Azure Boards for work tracking and backlogs, Azure Pipelines for CI/CD, Azure Repos for source control, and much more. Azure DevOps is successor to Visual Studio Team Services (VSTS) and the best thing of all you can get started with it for free. (For more details see Pricing for Azure DevOps). You can start learning Azure DevOps by exploring the Azure DevOps Hands-On Labs
In the past most Dynamics 365 CE consultants largely relied on a BYOALM (Bring Your Own ALM) approach meaning that you need a combination of PowerShell script, SDK extensions, etc … to automate the build and release of Dynamics components. I even think that in the majority of cases there is no fully automated build and release process in place - meaning that a deployment relies on a number of (hopefully documented) manual steps. In one of the projects I recently worked on - we have been using the excellent Dynamics 365 Build Tools for Azure DevOps from Wael Haemze so there are other extensions available for Azure DevOps as well.
After you have installed the PowerApps Build Tools you will see a whole set of build and release tasks that you can use in your build and release pipelines. To explore the possibilities you can start with the PowerApps Build tools for Azure DevOps Hands On Lab files which contains a walk through of the different scenarios like for example using the PowerApps Solution Checker (see reference section for more information on this)
If you compare the PowerApps Build Tools with the Dynamics 365 Build Tools, you will probably see that Dynamics 365 Build Tools currently still offers more capabilities but it does seem worthwhile to start exploring the newly released Microsoft tooling. I recently also got feedback within the context of a Microsoft support case that they recommended to use the new PowerApps build tooling because they would not troubleshoot issues with other extensions on top of Azure DevOps in combination with Dynamics 365.
I also expect more information to come available in the coming weeks as we are getting closer to the Dynamics 365 and Power Platform 2020 Release Wave 1 . In the meanwhile I will be sharing more information in some upcoming blog posts.
For those of you who are new to Azure DevOps, here is a small summary. Azure DevOps is a set of services hosted on Microsoft Azure cloud which support your full software development lifecycle e.g. you can use Azure Boards for work tracking and backlogs, Azure Pipelines for CI/CD, Azure Repos for source control, and much more. Azure DevOps is successor to Visual Studio Team Services (VSTS) and the best thing of all you can get started with it for free. (For more details see Pricing for Azure DevOps). You can start learning Azure DevOps by exploring the Azure DevOps Hands-On Labs
In the past most Dynamics 365 CE consultants largely relied on a BYOALM (Bring Your Own ALM) approach meaning that you need a combination of PowerShell script, SDK extensions, etc … to automate the build and release of Dynamics components. I even think that in the majority of cases there is no fully automated build and release process in place - meaning that a deployment relies on a number of (hopefully documented) manual steps. In one of the projects I recently worked on - we have been using the excellent Dynamics 365 Build Tools for Azure DevOps from Wael Haemze so there are other extensions available for Azure DevOps as well.
After you have installed the PowerApps Build Tools you will see a whole set of build and release tasks that you can use in your build and release pipelines. To explore the possibilities you can start with the PowerApps Build tools for Azure DevOps Hands On Lab files which contains a walk through of the different scenarios like for example using the PowerApps Solution Checker (see reference section for more information on this)
If you compare the PowerApps Build Tools with the Dynamics 365 Build Tools, you will probably see that Dynamics 365 Build Tools currently still offers more capabilities but it does seem worthwhile to start exploring the newly released Microsoft tooling. I recently also got feedback within the context of a Microsoft support case that they recommended to use the new PowerApps build tooling because they would not troubleshoot issues with other extensions on top of Azure DevOps in combination with Dynamics 365.
I also expect more information to come available in the coming weeks as we are getting closer to the Dynamics 365 and Power Platform 2020 Release Wave 1 . In the meanwhile I will be sharing more information in some upcoming blog posts.
References:
- Announcement: automate your application lifecycle management (ALM) with PowerApps Build Tools (Preview)
- PowerApps Build tools for Azure DevOps Hands On Lab files
- PowerApps Build Tools for Azure DevOps Overview (Microsoft docs)
- Introducing the PowerApps Checker PowerShell module to check PowerApps solution quality
- General availability of PowerApps Solution checker makes it easier to check Dynamics 365 solution quality
- Ignite 2019 sessionon ALM/DevOps for Dynamics 365 - Azure DevOps for Power Platform ISVs:Automate ISV solution deployments and release regular upgrades and patches toall customers concurrently by @MimCRM
Labels:
ALM,
AzureDevOps,
CDS,
DevOps,
msdyn365,
msdyncrm,
Power Platform,
PowerApps
Tuesday, December 31, 2019
Dynamics 365 Customer Engagement release version transparency
By now, you should be aware know that all Dynamics 365 Customer Engagement Online environments are on the same “major” version but it is also important to understand that Dynamics 365 CE receives continuous updates on a weekly release cadence. You probably already saw these updates being announced in Office 365 message center.
Each update is deployed as part of a Release Train, stopping at each ‘station’ along the way before rolling on to subsequent station. Not all regions would be on the same release as any time. Early station will have lower levels of number of customers impacted, ending with Europe and North America where majority of our customers are and then dedicated scale groups where customers with larger organisations are hosted. For a more in-depth session on this topic I can highly recommend the recording BRK2039 - Microsoft PowerApps and Dynamics 365: Modernizing the way we update
Each update is deployed as part of a Release Train, stopping at each ‘station’ along the way before rolling on to subsequent station. Not all regions would be on the same release as any time. Early station will have lower levels of number of customers impacted, ending with Europe and North America where majority of our customers are and then dedicated scale groups where customers with larger organisations are hosted. For a more in-depth session on this topic I can highly recommend the recording BRK2039 - Microsoft PowerApps and Dynamics 365: Modernizing the way we update
In November 2019 Microsoft updated their documentation and provides a lot more transparency on this release process - so you can now get a full overview of Released Versions of Dynamics 365 for Customer Engagement which outlines all previous releases as well as the upcoming releases in the different stations.
The version number mechanism for Dynamics 365 CE instances has also been updated so it is now easier to see which update has already been rolled out to a specific instance.
Labels:
CDS,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
msdyn365,
msdyncrm,
Power Platform
Dynamics 365 and Power Platform monthly reading list November 2019
Technical topics (Configuration,
customization and extensibility)
- Microsoft Ignite 2019 - sessions related to Power Platform
- Public preview of custom help panes (formerly Learning Path) for Unified Interface
- Installing Dynamics 365 Developer tools (Code generation tool, configuration migration tool, package deployer, plugin registration tool and solution packager)
- Installing Omnichannel for Dynamics 365 (Trial) - Part I
- Installing Omnichannel for Dynamics 365 (Trial) - Part II
- Omnichannel for Dynamics 365 Customer Service - Entities
- What you need to know about Power Automate (Flow) Connectors for Dynamics 365
- Dynamics 365 Data Migration - how to keep the original Modified On date
- Getting started with Power Virtual Agents (Youtube 00:18:07)
- Best practices for fields in Dynamics 365
- Modern datawarehousing using Azure Data Lake, CDM Folders and Power BI Dataflows - Part 1
- Metadata-driven CDM folder creation using Azure Databricks Part 2
- Customer Insights vs Power BI
- Anatomy of the Dynamics 365 Outlook App Panel
- Announcing Power Platform dataflows general availability
- General availability of the "Improve data source experience and Common Data Service views” feature
- Refresh Power BI Dataset programmatically from Dynamics 365 by @inogic
- Yet another address autocomplete PCF control using Bing Maps
- Auto activate Power Automate Flows during solution import
- Evaluating Power BI Connection options for Dynamics 365 Customer Engagement by @joejgriffin
- Choosing the right model-driven app supporting technology by @ashlega
Topics for Dynamics 365 Business Application Platform
analysts, project managers and power users
- Our vision for the Microsoft Customer Data Platform
- Microsoft Forms Pro updates to help improve customer feedback management
- The global state of customer service
- Power Platform Adoption Framework by @andrewdwelch
- New AI Business School addresses key challenges to AI adoption
- Power Apps - Licenses vs Passes by @stevemordue
Labels:
CDS,
chatbots,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
Flow,
msdyn365,
msdyncrm,
Power BI,
Power Platform,
PowerApps
Friday, November 29, 2019
Microsoft webinar redelivery Dynamics Power! Saturday Brussels December 3th
Two weeks ago we had Dynamics Power! Saturday Brussels - a community event on Microsoft Business Applications with over 250 attendees and 25 different international speakers.
For those of you who were not able to make it, Microsoft will organise a short redelivery of 3 sessions in webinar format on Tuesday December 3th - more info and registration available on https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8855388abcd
Agenda:
For those of you who were not able to make it, Microsoft will organise a short redelivery of 3 sessions in webinar format on Tuesday December 3th - more info and registration available on https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8855388abcd
Agenda:
- Updates on Power Platform (UI Flows, AI Builder, … )
- Integration between Dynamics 365 Sales/Customer Service and Dynamics 365 F&O (ERP)
- Dynamics 365 Mixed Reality
Labels:
CRM,
D365Saturday,
Dynamics 365,
Dynamics CRM,
ERP,
microsoft,
msdyn365,
Power Platform,
PowerApps
Thursday, November 28, 2019
Transition to the Unified Interface presentation from Dynamics Power! Saturday Brussels 2019
I had a lot of fun presenting at Dynamics Power! Saturday Brussels 2019 together with @philipverlinden and @stephanedujour
The presentation was largely composed using the slide decks that Microsoft made available in the Unified Interface Playbook
References:
The presentation was largely composed using the slide decks that Microsoft made available in the Unified Interface Playbook
References:
- Dynamics 365: an overview of the new Unified Interface
- Getting a head start with Unified Interface transition materials
- Don’t be surprised if you don’t see the classic interface for new Dynamics 365 instances
- Announcing the timeline to move to unified interface
- Card forms and timeline in unified interface
- Dynamics 365 Release Wave 2 overview
- UCI Timeline control learnings
Dynamics 365 and Power Platform monthly reading list October 2019
Dynamics 365 – 2019 Wave 2 topics
- New digital messaging offer enhances omnichannel features in Customer Service
- Exporting CDS data to Azure Data Lake (Preview)
- Integration between Dynamics 365 CRM and Microsoft Teams in Wave 2 Release
- Innovations in business applications starting October 2019 (Virtual launch event)
- PowerApps Portals are now Generally available (October 14th)
- Dynamics 365 Marketing 2019 release wave 2 update is rolling out starting now (October 4th)
- Dynamics 365 Customer Insights – October 2019 release notes
- Examples of extending Dynamics 365 Customer Insights with Azure ML
Technical topics (Configuration, customization and extensibility)
- Microsoft Flow – not just for nerds – sending tweets to your mailbox
- How to run Microsoft Flow through custom ribbon button using http request by @Inogic
- Using PowerApps environment variables (Preview)
- Preview: Environment variables overview (Microsoft docs)
- Power Platform: when a Canvas app saves a project
- How to embed PowerApps in CRM without Code! (On demand webinar) by @PowerObjects
- Forms Pro Power BI App
- Convert PowerApps Checker SARIF files to Excel using Power Query
- Replace classic Common Data Service workflows with flows
- SQL 4 CDS XrmToolBox Plugin
- Send and store survey responses in Dynamics 365 CRM using Microsoft Forms Pro
- Refresh your Power BI dataset using Microsoft Flow
- Introducing Monitor to debug apps and improve performance
- PCF Custom Control Builder – XrmToolBox Add-in
- Reduce timeouts for cascading transactions
- Fine tune your virtual agent bot
- Using Microsoft Azure Auto Machine Learning, Logic App and Dynamics 365 for AI Predictive Customer Service
- Introduction to Dataflows and Data integration by @CarinaMClaesson
- Add-on allocation for PowerApps, Microsoft Flow and AI Builder is now available
- New whitepaper on how to build enterprise-ready flows
Topics for Dynamics 365 Business Application Platform analysts, project managers and power users
- Why CDS (Youtube 00:18:44)?
- The End of Dynamics 365 Customer Engagement Online
- Delivering five star experiences with a customer data platform (CDP)
- Dynamics 365 Remote Assist | 2019 release wave 2 overview (Youtube 00:04:11)
- PowerApps Portal Ramp up: Provisioning(Licensing)
- The PowerApps Pyramid: Performance, User Experience and Branding
- 4 steps to take control of Flow and PowerApps in your organization (Slideshare) by @timopertila
- Highlights from Gartner Hype Cycle for Customer Service and Support Technologies, 2019
- Why the best innovators have a surfers mindset and what you can learn from that
- Celebrate the customer service week and the agents who make it all happen
- Actionable insight with Microsoft Business Applications
Labels:
CDS,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
Flow,
msdyn365,
msdyncrm,
Power Platform,
PowerApps
Monday, October 21, 2019
Using Twitter analytics data in Power BI – Part 1
I have been using Twitter for over 10 years but I never paid a lot of attention on engagements or impressions statistics but after listening to the Microsoft flow with Jon Levesque podcast from @nz365guy I decided to take a look at what are drivers for more impressions or engagements on my Twitter account. So I decided to create some Power BI reports based on Twitter activity exports.
I only used Power BI in proof of concepts up until now so this was a good opportunity my Power BI skills which got a little bit rusty after not using it for more than a year. To get started I first exported my tweet activity report in CSV format from Twitter Analytics (I did it manually but there is a REST API available as well). Next I combined the different CSV files while loading it into Power BI (I followed these instructions - How to load data from a folder in Power BI). After the usual data cleansing (remove unused columns, rename columns, setting appropriate date types) and data transformation I started extending the data model. Since I also wanted to know whether there is a difference in engagements/impressions based on the day of the week the tweets was sent, I created a custom date dimension. Power BI creates a default date dimension as well but I decided not to use this – see Power BI Date Dimension: Default or Custom? Is it confusing? for more info.
I also wanted to remove the urls/hyperlinks from my tweet text before building up a word cloud with the most common terms. Luckily Power Query supports some interesting transformation, you can temporarily transform a text into a list using Text.Split(text, “”), perform operations on each word and then reassemble it again using Text.Combine(list, “ ”) (Trick found on Multiple replacements or translations in Power BI and Power Query)
I used a similar trick to found out the number of hashtags used in a specific tweet.
The Power BI report is still a work in progress but if you already want to have a temporary copy - DM me on Twitter
References:
I only used Power BI in proof of concepts up until now so this was a good opportunity my Power BI skills which got a little bit rusty after not using it for more than a year. To get started I first exported my tweet activity report in CSV format from Twitter Analytics (I did it manually but there is a REST API available as well). Next I combined the different CSV files while loading it into Power BI (I followed these instructions - How to load data from a folder in Power BI). After the usual data cleansing (remove unused columns, rename columns, setting appropriate date types) and data transformation I started extending the data model. Since I also wanted to know whether there is a difference in engagements/impressions based on the day of the week the tweets was sent, I created a custom date dimension. Power BI creates a default date dimension as well but I decided not to use this – see Power BI Date Dimension: Default or Custom? Is it confusing? for more info.
I also wanted to remove the urls/hyperlinks from my tweet text before building up a word cloud with the most common terms. Luckily Power Query supports some interesting transformation, you can temporarily transform a text into a list using Text.Split(text, “”), perform operations on each word and then reassemble it again using Text.Combine(list, “ ”) (Trick found on Multiple replacements or translations in Power BI and Power Query)
I used a similar trick to found out the number of hashtags used in a specific tweet.
The Power BI report is still a work in progress but if you already want to have a temporary copy - DM me on Twitter
References:
- Create a Date Dimension in Power BI in 4 steps – Step1: Calendar columns
- Power BI Date Dimension: Default or Custom? Is it confusing?
- How to load data from a folder in Power BI
- Visual awesomeness unlocked – the word cloud
- Count the number of words in a text – Magic Mondays with Power Query and Power BI
- Multiple replacements or translations in Power BI and Power Query
Labels:
data visualization,
microsoft,
Power BI
Tuesday, October 15, 2019
Quick tip: Using XrmToolBox with a MFA enabled login
More and more customers are introducing Azure Multi-Factor Authentication (MFA) for Dynamics 365 CRM and while this is a good idea, there are some gotchas. If you are using XrmToolbox – the Swiss army knife in the Dynamics CRM consultant tool belt – you will need to revise the way you setup connections to your CRM/CDS environments.
Use the SDK Login Control when choosing a connection method
Next click on Open Sdk Login Control – this will open the standard browser login page and will allow you to fill in the details required in MFA.
References:
Use the SDK Login Control when choosing a connection method
Next click on Open Sdk Login Control – this will open the standard browser login page and will allow you to fill in the details required in MFA.
References:
Labels:
CDS,
CRM,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
msdyn365,
Power Platform,
PowerApps,
XrmToolBox
Tuesday, October 08, 2019
Dynamics 365 monthly reading list September 2019
Preview 2019 Wave 2 release topics
Technical topics (Configuration, customization and extensiblity)
Topics for Dynamics 365 Business Application Platform analysts, project managers and power users
- Announcing experimental release of the PowerApps component framework for Canvas apps
- Announcing new Microsoft Dynamics AI-driven insights applications and our vision for the future of retail and Extending the power of Azure AI to business users
- Integration between Dynamics 365 CRM and Microsoft Teams in Wave 2 Release
- Dynamics 365 2019 release wave 2 plan – number of updates published on September 26th
- Release wave 2 launches with over 400 updates, new apps and industry solutions
- Requests limits and allocations for Power Platform – also impacts Dynamics 365 Sales, Customer Service and Field Service
- What’s new in Dataflows and Data Integration (PowerApps) – September 2019
- User experience improvement – fix user input errors quickly in D365 2019 release wave 2
- Introducing the Unified Action Center
Technical topics (Configuration, customization and extensiblity)
- Flow Everything: calling synchronous flows from CDS and Dynamics 365 by @Mikefactorial
- PowerApps optimization techniques
- All about the CDS and Dynamics update train! by @TeamIntergen
- Announcing the general availability of the new model-driven form designer
- The common Microsoft header is coming to PowerApps
- PowerApps checker now includes checker results for canvas apps in solutions
- Collaborative development for PowerApps Canvas Apps
- Announcing the timeline to move to unified interface
- Using adaptive cards in PCF by @dancingwithcrm
- Tip #1308: Secret support in SDK
- Important changes (deprecations) coming in Dynamics 365 Customer Engagement – updated September 2019
- Embedded canvas app user settings utility
- Delaying emails to certain individuals based on their time zone
- Using PowerShell to export/import solutions, data and word templates for D365
- Recordings of Power Platform 24 Conference (August 2019)
- Using Application Insights to monitor your PowerApps Canvas Apps
Topics for Dynamics 365 Business Application Platform analysts, project managers and power users
- September 2019 update for Dynamics 365 for Marketing is now available
- PowerApps vs PowerApps by @stevemordue
- How leading companies use CRM to power personalization
- 4 ways sales teams can close deals faster with AI powered insights
- Microsoft HR uses the Power Platform to transform employee experience
- PowerApps licenses and a Dynamics 365 environment
- Employee experience starter kit - set of PowerApps sample apps
- What is the Common Data Service?
Labels:
CRM,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
Flow,
PCF,
Power Platform,
PowerApps
Saturday, September 14, 2019
Getting started with Forms Pro : customer feedback is the ultimate truth
On July 1th, Microsoft announced the general availability of Microsoft Forms Pro. Microsoft Forms Pro is an enterprise survey tool built on top of Microsoft Forms and the Common Data Service (CDS). Forms Pro allows you to design surveys in a user-friendly manner, distribute these surveys to your target audience and afterwards analyze the results using the built-in dashboards or using Power BI. Microsoft Forms Pro has been part of the Microsoft Forms Pro April 2019 release.
Forms Pro has been built on top of the Common Data Service (CDS) which allows for a deep integration with Dynamics 365 for Sales & Customer Service. (For background on CDS and Dynamics – read Making sense of XRM,PowerApps and some other acronyms (CDS,CDM, etc..)).
The goal of Forms Pro is to capture customer's (or employees) feedback about their experiences with and expectations for your products or services. By analyzing the response and taking appropriate action, you can increase customer loyalty, decrease customer churn and improve the way that your organizations interacts with customers, etc …
The goal of this blog post is to highlight some of the features I have been using on the project I’m currently working on – for more extensive information I can highly recommend the blog posts by Megan Walker on the subject (see list at bottom of only few out of the 20+ posts) as well as her Youtube FormsPro play list. Another option is to listen to Episode 58 of the CRM MVP podcast
Getting started
To get started you need to install Forms Pro from AppSource (the Forms Pro solutions are already installed on a Dynamics 365 CE instance but are hidden by default) which will enable the forms editing and management environment. When you open it for the first time (https://forms.office.com/FormsPro/Pages/DesignPage.aspx) – it will show you a sample survey which is created in the default CDS instance.
If you want to create your surveys in a specific CDS (or Dynamics 365 instance) – you need to select this instance in the top right corner.
Creating a survey
I really like the survey design environment which is very easy to use. You can quickly add different types of questions – choice, text/long text, rating, date, Likert, Net Promotor Score, … with the ability to also format the questions (basic options such as bold,italic, font type/size, etc…). Some question types you will have additional features e.g. render choice questions as dropdown or choice options, for ratings using stars or numbers and ability to use 1-5 options, …
You can personalize your surveys by inserting placeholders/parameters but also by adding conditional branching rules in your surveys for the different questions – e.g. if a low NPS rating is given, you might want to ask extra feedback. You can hide questions and then make them visible using the conditional rules. For more details see https://docs.microsoft.com/en-us/forms-pro/create-branching-rule
Theming your surveys is quite easy with the ability to change colors and add images (for background and header) as required – at the moment there is no support (yet) to add custom CSS.
Distributing the survey
There are many ways of distributing your survey, manually send it, embed it in a web page, using your own distribution channel (e.g. SMS or other marketing platform) or using a QR code. But Forms Pro also comes with Microsoft Flow integration which provides Flow templates to send Survey invitation on common business transactions like sending out a survey when a customer case has been closed, asking feedback after a purchase, etc …. You can customize these Flow templates or create from scratch depending on business needs.
Viewing and analyzing survey responses
On the overview tab, you are able to see summary data about your survey like number of invites, number of responses received, Net Promotor Score (NPS) etc… You are also able to drill into the details of the question responses etc and export the data to Excel from here. Another interesting functionality is Survey Insights which uses AI and machine learning to find correlations between question answers and calculation of a sentiment score for text-based questions.
Summary
Forms Pro is a new product but it builds on top of both Microsoft Forms and the CDS platform of which a lot of functionality is leveraged. Although the foundational functionalities are very strong, there are still some gaps and rough edges that you will encounter during an implementation. But having worked with the Forms Pro product team in the previous months reassures me that the product team is open to feedback and are working hard on improving the product. Customers who are currently using the Voice of the Customer module should plan a migration path since (source: Replace your Voice of the Customer Surveys with Microsoft Forms Pro) If you think that some functionality is missing I highly recommend you to use the Forms Pro Suggestion box on UserVoice .
In a next blog post, I will delve a little deeper into some of the gotchas and share some tips and tricks when implementing Forms Pro.
References
Blog posts by Megan Walker on Forms Pro:
Forms Pro has been built on top of the Common Data Service (CDS) which allows for a deep integration with Dynamics 365 for Sales & Customer Service. (For background on CDS and Dynamics – read Making sense of XRM,PowerApps and some other acronyms (CDS,CDM, etc..)).
The goal of Forms Pro is to capture customer's (or employees) feedback about their experiences with and expectations for your products or services. By analyzing the response and taking appropriate action, you can increase customer loyalty, decrease customer churn and improve the way that your organizations interacts with customers, etc …
The goal of this blog post is to highlight some of the features I have been using on the project I’m currently working on – for more extensive information I can highly recommend the blog posts by Megan Walker on the subject (see list at bottom of only few out of the 20+ posts) as well as her Youtube FormsPro play list. Another option is to listen to Episode 58 of the CRM MVP podcast
Getting started
To get started you need to install Forms Pro from AppSource (the Forms Pro solutions are already installed on a Dynamics 365 CE instance but are hidden by default) which will enable the forms editing and management environment. When you open it for the first time (https://forms.office.com/FormsPro/Pages/DesignPage.aspx) – it will show you a sample survey which is created in the default CDS instance.
If you want to create your surveys in a specific CDS (or Dynamics 365 instance) – you need to select this instance in the top right corner.
Creating a survey
I really like the survey design environment which is very easy to use. You can quickly add different types of questions – choice, text/long text, rating, date, Likert, Net Promotor Score, … with the ability to also format the questions (basic options such as bold,italic, font type/size, etc…). Some question types you will have additional features e.g. render choice questions as dropdown or choice options, for ratings using stars or numbers and ability to use 1-5 options, …
You can personalize your surveys by inserting placeholders/parameters but also by adding conditional branching rules in your surveys for the different questions – e.g. if a low NPS rating is given, you might want to ask extra feedback. You can hide questions and then make them visible using the conditional rules. For more details see https://docs.microsoft.com/en-us/forms-pro/create-branching-rule
Theming your surveys is quite easy with the ability to change colors and add images (for background and header) as required – at the moment there is no support (yet) to add custom CSS.
Distributing the survey
There are many ways of distributing your survey, manually send it, embed it in a web page, using your own distribution channel (e.g. SMS or other marketing platform) or using a QR code. But Forms Pro also comes with Microsoft Flow integration which provides Flow templates to send Survey invitation on common business transactions like sending out a survey when a customer case has been closed, asking feedback after a purchase, etc …. You can customize these Flow templates or create from scratch depending on business needs.
Viewing and analyzing survey responses
On the overview tab, you are able to see summary data about your survey like number of invites, number of responses received, Net Promotor Score (NPS) etc… You are also able to drill into the details of the question responses etc and export the data to Excel from here. Another interesting functionality is Survey Insights which uses AI and machine learning to find correlations between question answers and calculation of a sentiment score for text-based questions.
Summary
Forms Pro is a new product but it builds on top of both Microsoft Forms and the CDS platform of which a lot of functionality is leveraged. Although the foundational functionalities are very strong, there are still some gaps and rough edges that you will encounter during an implementation. But having worked with the Forms Pro product team in the previous months reassures me that the product team is open to feedback and are working hard on improving the product. Customers who are currently using the Voice of the Customer module should plan a migration path since (source: Replace your Voice of the Customer Surveys with Microsoft Forms Pro) If you think that some functionality is missing I highly recommend you to use the Forms Pro Suggestion box on UserVoice .
In a next blog post, I will delve a little deeper into some of the gotchas and share some tips and tricks when implementing Forms Pro.
References
- Introducing Forms Pro (Youtube 00:04:35)
- Microsoft Forms Pro – Business Applications April 2019 release (Youtube 00:11:45)
Blog posts by Megan Walker on Forms Pro:
- Forms Pro multilingual surveys
- Add personalisation to a Forms Pro survey
- Adding Forms Pro survey entities to a Dynamics 365 App
- Calculating your organisation net promotor score with Forms Pro
- Forms Pro environments & deployment
- Send Forms Pro Survey Invites via CSV files
- Negative sentiment analysis using Forms Pro
- Duplicate checking for Forms Pro survey responses
- Using charts and dashboard to view survey responses
Sunday, September 08, 2019
Introducing the PowerApps Checker PowerShell module to check PowerApps solution quality
Microsoft recently updated their tooling for checking the quality of CDS/PowerApps/Dynamics 365 solution files by releasing the PowerApps checker PowerShell Module . With this new PowerShell module it is possible to receive a detailed report for your solutions identifying problems/issues taking into account best practices around performance, usage, upgrade readiness, supportability and maintainability. The static code analysis is based on rulesets which are provided by Microsoft and which are updated on a regular basis.
The main difference with the previously released tooling in the PowerApps maker portal (See Announcing general availibility of Solution Checker) is that you can now also do checks to validate both managed and unmanaged solutions (CRM2011 to current) so include on-premise solution validation.
The PowerShell module can be installed from https://www.powershellgallery.com/packages/Microsoft.PowerApps.Checker.PowerShell/1.0.2 and provides a number of commands that you can use to perform the checks.
Before you can use the Invoke-PowerAppsChecker PowerShell cmdlet , you need to create an Azure Active Directory (AAD) application in a tenant with PowerApps or Dynamics 365 licenses. Follow the steps on Get started using the Microsoft.PowerApps.Checker.PowerShell module to correctly do this using either PowerShell or manually.
The PowerAppsChecker cmdlets in interactive-mode (meaning you need to login everytime you run the checker) or using an application-based token.
Behind the scenes the PowerShell module will connect to the PowerApps checker Web API
The output of Invoke-PowerAppsChecker is a zip file containing one or more reports in a standardized JSON format. The report format is based on static analysis results referred to as Static Analysis Results Interchange Format (SARIF).
By analyzing results and fixing indicated errors, you can learn how to write high-quality code and decrease the cost of fixing issues later.
Depending on the size & complexity of your project, I might be recommended to include it as part of your ALM strategy.
Other blog post:
The main difference with the previously released tooling in the PowerApps maker portal (See Announcing general availibility of Solution Checker) is that you can now also do checks to validate both managed and unmanaged solutions (CRM2011 to current) so include on-premise solution validation.
The PowerShell module can be installed from https://www.powershellgallery.com/packages/Microsoft.PowerApps.Checker.PowerShell/1.0.2 and provides a number of commands that you can use to perform the checks.
Before you can use the Invoke-PowerAppsChecker PowerShell cmdlet , you need to create an Azure Active Directory (AAD) application in a tenant with PowerApps or Dynamics 365 licenses. Follow the steps on Get started using the Microsoft.PowerApps.Checker.PowerShell module to correctly do this using either PowerShell or manually.
The PowerAppsChecker cmdlets in interactive-mode (meaning you need to login everytime you run the checker) or using an application-based token.
Behind the scenes the PowerShell module will connect to the PowerApps checker Web API
The output of Invoke-PowerAppsChecker is a zip file containing one or more reports in a standardized JSON format. The report format is based on static analysis results referred to as Static Analysis Results Interchange Format (SARIF).
By analyzing results and fixing indicated errors, you can learn how to write high-quality code and decrease the cost of fixing issues later.
Depending on the size & complexity of your project, I might be recommended to include it as part of your ALM strategy.
Other blog post:
Labels:
architecture,
CDS,
CRM,
Dynamics 365,
Dynamics CRM,
microsoft,
msdyn365,
msdyncrm,
Power Platform,
PowerApps,
solution+architecture
Tuesday, September 03, 2019
Dynamics 365 monthly reading list August 2019
Preview 2019 Wave 2 release topics
Technical topics (Configuration, customization and extensibility)
- Dynamics 365 release overview – short PDF guides and videos which outline the main features soon to be released
- Preview 2019 Wave 2 release: enhanced functionality in unified interface grids
- Preview 2019 Wave2 release: customize the opportunity close form
- Preview 2019 Wave 2 release: always show important information on the form header in the Unified Interface and introducing Microsoft Wave 2 release new feature – high density header
- Youtube video – adding a PCF component in a Canvas app
- Dynamics 365 Preview 2019 Wave2 release: business card scan preview feature
- Dynamics 365 Preview 2019 Wave2 release: contextual e-mail
Technical topics (Configuration, customization and extensibility)
- Create personalized experiences in Dynamics 365 for Customer Service with Microsoft Flow
- Cloud ETL with Azure Data Factory & Dynamics 365 Customer Engagement
- How to publish an app on AppSource
- Share canvas apps with guests in your organization
- Step by step to create a simple PCF control to show the GUID of a record by @Nishantrancrm
- Upgrade runs entity in Dynamics 365 CRM by @inogic
- Working with custom Dynamics 365 Customer Engagement Dataset schemas in Azure Data Factory v2
- Cleaning up records from the AsyncOperation WorkflowLogBase table
- View Dynamics 365 lists/views as a calendar
- Using Microsoft Flow to sent an overview of imported Dynamics CRM solutions
- E-mail the selected record in Power BI with PowerApps and Microsoft Flow
- Quick tip - CDS base url in Microsoft Flow
- Checking what a user can do in Dynamics 365 using XrmToolBox (Youtube 00:03:30)
- Qualify lead in Dynamics 365 using a Canvas App in combination with Microsoft Flow
- Open PowerApps from inside Dynamics 365 CRM
- Using PCF to display contact cards by @Rajyraman
- Create and manage environments in the Power Platform Admin Center
- Preview Instant Flow steps in Business Process Flows
- CDS/Dynamics 365 Global Discovery Service additional versions and properties by @koolin_
- PowerApps for the CRM person: showing related entity data
- Prevent contact creation in Dynamics 365 on tracking email recipients
- Resetting PowerApps environments scripted
- Backup your PowerApps apps for non-CDS environments
- Dynamics 365 UG Bristol session replay Summer 2019 (Youtube playlist)
- Canvas Apps for the model-driven mind: how to make that leap
- Setting up views for more usable lookups in the Dynamics 365 unified interface
- 4 directions for Power Platform business growth
- Industry accelerators: rapidly deploy solutions specific to your industry
- Application/platform separation in new PowerApps licensing model
- Unicef inspires donors with Microsoft Dynamics 365 Customer Insights
- The future of CRM
- Dynamics 365 Customer Service Insights demo (Youtube 00:02:45)
- Customer Data Platform: going beyond MDM and CRM
- Tip #1295: Quickly search multiple records in advanced find
- Why your CRM is underutilized and what to do about it?
- Create a change management team: change management best practices for your Dynamics 365 CE projects
Labels:
CRM,
Customer Engagement,
Dynamics 365,
Dynamics CRM,
msdyn365,
Power Platform,
PowerApps
Monday, August 19, 2019
D365 CE 2019 Wave 2 Preview: Dynamics 365 Business card scan preview feature
Top request by customers: scanning business cards and capturing the information will be available in the upcoming Dynamics 365 release and is now available in instances with early access enabled. It worked remarkably well except for my own business card ...
The functionality seems to be provided by the new "AI Builder Business Card control" which is added on the quick create contact form. Next on the todo list - testing out modifying the mappings.
The functionality seems to be provided by the new "AI Builder Business Card control" which is added on the quick create contact form. Next on the todo list - testing out modifying the mappings.
Labels:
CRM,
d365fall2019,
Dynamics 365,
Dynamics CRM,
msdyn365,
msdyncrm
Saturday, August 17, 2019
D365 CE 2019 Wave 2 Preview: enable contextual email communication
One of the upcoming enhancements that a lot of my colleagues were excited about is Contextual email communication in Dynamics 365 for Sales & Customer Service. Contextual email communication allows you to overlay an email composition screen on top of the existing Dynamics 365 forms without having to navigate away from the screen that you are on. After you have enabled your environment for early preview access you can go to App Settings > Enhanced email to enable this new functionality. (You might need to do a hard refresh after enabling use CTRL-F5)
After you enable this feature, adding an e-mail to the timeline will open the composition overlay allowing you to consult information on the contact while creating your e-mail.
After you enable this feature, adding an e-mail to the timeline will open the composition overlay allowing you to consult information on the contact while creating your e-mail.
Labels:
CRM,
d365fall2019,
Dynamics 365,
Dynamics CRM,
msdyn365,
msdyncrm
Subscribe to:
Posts (Atom)









