Publishing the bot– Power Virtual agent

In the last post, we saw how to create a simple bot, now let us see how we can publish it.

Navigate to the Publish tab in the side navigation pane and click on Publish.

After a successful publish click on the demo website to test the bot

Navigate to Manage à Channels to configure it for various channels.

Below are all the channels that the bot can be configured for.

Demo Website à

We can specify the Welcome Message as well as the Conversation starters

Custom Website à

It can be added as Iframe to the existing web sites.

Within Power Apps Portal, we can add the bot to the Iframe Component as shown below

Power Virtual Agent also comes with analytics to show key performance indicators for different topics.

Get all the details here

Helpful posts –

Hope it helps..

Using Power Virtual Agent and Power Automate (Flow) to create a simple bot for Cases in Dynamics 365 for Customer Service

Here we will take a very simple example to see how Power Virtual Agent be used along with Power Automate to interact with Dynamics 365 model-driven App

Basically, the user enters the case number (ticketnumber) in the chatbot to get the current status of the Case.

To begin with,

  • Sign in / Sign up to create an account for Power Virtual Agents

  • Sign in with your work email address.
  • Name your bot and click on create.

Create a new Topic with Name as Case Topic and Trigger phrases as shown below and save it.

Click on Go
to authoring canvas

Add node Show a message

Next, add new “Ask a question” node, the bot will ask the user to enter the case number

Next, add a node “Call an action” to call the PowerAutomate (Flow)

Let us pause here and first author the Flow which we would be calling from this particular node.

To create the Flow, login to PowerApps portal, select the Virtual Agent environment, here we have created a new Solution and created a new Flow inside that solution.

First add the trigger “When an HTTP Request is received” with the below request body, to take case number input from the user.

Then add Initialize Variable step, which will hold the output for the response.

Next, add the List records step to get the case’s status based on the case number.

Next add the condition step, for handling the scenario when the user enters the wrong case number.

The expression used for the Condition step.


The helpful posts

Next set the variable

For If Yes à



For If no, we are simple setting the value as “No case record found”

Lastly add the Response step, which returns the output through the variable.

The flow à

Save the Flow, and go back to authoring canvas of the Topic in the Power Virtual Agent.

Select the flow created in the Call an action node

Specify CaseNumber as the input

Select Show a message as the next node

Specify caseResult output as the value to be used inside the Message

Save the dialog and now let us test it.

This is how the entire conversation logic looks like for our case topic.

We can also add End the conversation node to it.

Next, we will see how to publish and deploy this bot.


Hope it helps..

Dynamics 365 2019 release wave 2 blog posts

  • Customize Opportunity Close Dialog box

  • Lead related enhancements

  • Contextual Email Communication

  • Save and New button in Quick Create Form

  • High Density Headers

  • Using Xrm.Navigation.navigateTo to open Web resources Modal or Inline.

  • Business Card Scanner

  • Timeline and Grid control Enhancements

  • Lookup Filter, Error Notifications and Territory entity enhancements

  • Knowledge management enhancements

  • Product related enhancements

  • The helpful resources: –


Using embedded Canvas Apps to display external data in Model-Driven Apps

Dynamics 365 and Power Platform

This is the second blog post in a series of two about embedded Canvas Apps. My previous blog post was all about the concept of embedded Canvas Apps. If you want to know the difference between Canvas Apps and Model-Driven Apps (both together being the building blocks of Power Apps) and find out when you can combine those and utilize an embedded Canvas App on a form in a Model-Driven App, go back to my previous blog post and you will find out more about that. In this blog post we will look at a specific use case and how to set that up.

View original post 1,867 more words

Reference Panel section for Forms in Dynamics 365

With the reference panel section, users can move across the different grid and quick view control that are part of it at a single place instead of scrolling.

  • Reference Panel is a new type of section that can be added on form.

  • Only one reference panel can be added per form.

  • It is a single column section.

  • Multiple Sub-grid and Quick View control can be added to it.

Make sure to apply the appropriate icon.

  • The default tab will be the first control added.

  • The other tab will follow the same order in which they are added.

More on sections

Hope it helps..

Opportunity/Quote/Order/Invoice Product-related enhancements in Dynamics 365 for Sales

Below are some of the features added in the Opportunity/Quote/Order/Invoice products for the users to improve their experience.

If we try adding a new product line item without specifying the price list we will get the pop-up message box that asks us to specify the price list.

To override this behavior,

Go to Product Catalog Settings and set Price list optional and click on Apply as below.

This time it opens the opportunity line form on click of Add Product Line Item.

For legacy web client, the same setting can be defined at Sales tab of System Settings dialog box à

We can also “Save and Create New” option on the Quick Create form of the product line item to quickly add the multiple product line items.

Make sure to enable “Allow Quick Create”.

Save & Create New à

Users can now quickly view and edit properties for a product as shown below.

Edit Properties à

Get all the details here

Hope it helps..

D365: Enable Rule for button with asynchronous API request using promise

Ajit Patra

Many times, we get requirement to show/hide a button based on certain condition for which we define Enable Rule in Ribbon Workbench.

If we need javaScript code for evaluation then we use Custom Enable Rule mentioning library, method to execute, passing PrimaryControl CRM parameter and additional parameters if necessary.

Sometimes, the evaluation is done real time(based on the logic written) and we return true/false based on which the button remains visible/hidden. At times, we need to make additional API request which is asynchronous in nature e.g. show/hide button based on security role and in this case the result of the method/operation doesn’t affect the visibility of the button.

In this post, we’ll see how we can use promise to fix this issue and the scenario that we’ll take is hide Delete button on Document subgrid if the logged in user doesn’t have “System Administrator” security role.


View original post 401 more words

Knowledge management enhancements in Dynamics 365 For Customer Service – 2019 Release Wave 2

This release adds a new feature called Knowledge Article Template, using which users can quickly create an article by referring the Article Template, which helps in maintaining consistency and can also create their own article template.

To create an Article Template, navigate to Service Management area and select Article Template

Below is how the Article Template looks like

To use it, navigate to Knowledge Articles and click New From Template button

Select the template created earlier

We can see the contents populated from the template

Although the Microsoft document talks about copy and pasting, drag and drop of images from local folder directly to the editor and resizing of the images. It seems that this feature is yet to be added.

Inline Image Editing and Drag and Drop

Knowledge search enhancements

  • Improved density to show more articles.
  • Better filtering options.

Hope it helps..

{Know How} Apply Business process flow on create of a record or skip setting of default Process flow based on custom business logic in Dynamics 365 using ProcessId field of record

Debajit's Dynamic CRM Blog

Business Process flows are used everywhere and as a Power platform consultant you might be working with them almost everyday.

However sometimes the intricacies of the most mundane stuffs seems to baffle us. And one of them is was this requirement that I recently had. And trust me I found many was not aware of the solution.

So the customer here wanted to apply Business process flow to a record based on some business logic. Let’s understand the full requirement first before I go ahead with the solution.

So the customer have field on Account entity. Let’s say field name is “BPF Indicator”. It’s an option set field. And let’s assume there are three values for this field.

  1. Value 1
  2. Value 2
  3. Value 3

There are three BPF’s for Account. So basically the logic goes like this.

  1. If account is created with Value 1, then BPF 1 should be applied

View original post 377 more words

PackageDeployerWrapper: Import operation time out exception while trying to create a new organization in Dynamics 365 Customer Engagement (On-Premise)

Recently for one our projects,

where had Dynamics CRM On-Premise already installed by the IT team quite sometime back, when we tried create a new organization through Deployment Manager, we got the below error

“Create new Organization (Name=46d256f4-1009-ea11-a2df-00505680070e, Id=FABUAECIBSIT) failed with Exception: System.Exception: Error.ActionFailed Microsoft.Crm.Tools.Admin.InstallPlatformSolutionsAction —> Microsoft.Crm.PackageDeployment.PackageDeployerException: Package BaseCustomControlsCore failed to install on attempt 1. System.AggregateException: One or more errors occurred. —> Microsoft.Crm.MultiTenantPackageDeployment.PackageDeployerException: PackageDeployerWrapper: Import operation timed out. at Microsoft.Crm.MultiTenantPackageDeployment.PdExecutor.Process(PackageDeploymentInputArgs input, JobOutput`1 output, CancellationToken ct) at System.Threading.Tasks.Task.Execute()

— End of inner exception stack trace —

—> (Inner Exception #0) Microsoft.Crm.MultiTenantPackageDeployment.PackageDeployerException: PackageDeployerWrapper: Import operation timed out. at Microsoft.Crm.MultiTenantPackageDeployment.PdExecutor.Process(PackageDeploymentInputArgs input, JobOutput`1 output, CancellationToken ct) at System.Threading.Tasks.Task.Execute()<-”

After trying out all the different permutations and combinations (network things, cleaning and setting up the infra etc.), the way it got resolved was by installing the latest cumulative update.

The reason we applied and went for the cumulative updates options as the last one, because, we had our production in the older version and because of multiple constraints we were not planning to upgrade our production server.

Fortunately, the solution from version got imported successfully in production Dynamics CRM organization that were in version 9.0.2.x.

Hope it helps..