Best resources to start with Power Apps Code Component (PCF)

There are so many outstanding blogs, videos out there for learning PCF, below my favourite resources for someone who is just starting with development of Power Apps custom code components

https://debajmecrm.com/2019/04/26/in-depth-end-end-walkthrough-develop-your-custom-controls-using-power-apps-component-framework-and-use-it-on-your-crm-interface/

https://powermaverick.dev/2019/05/18/create-custom-controls-using-powerapp-component-framework/

https://www.xrmvirtual.com/meeting-details/?id=766fc80b-70cf-e911-a860-000d3a537884

Thanks Debajit, Danish and Roohi

and after you have developed an awesome component submit it here

https://pcf.gallery/

Thanks to Guido for managing it.

Very simple PCF Control to show Gravatar

The Gravatar or globally recognised avatar is basically an image associated to our email id, which appears besides our comments, blogs posts, sites etc.

https://en.gravatar.com/site/implement/

To request an image of Gravatar, we need to first calculate hash of the email id and pass it to the URL

The format à

https://www.gravatar.com/avatar/{HASH}

e.g.

https://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50

https://en.gravatar.com/site/implement/images/

Using this information, just created a PCF control for single line of text – email type that will show the Gravatar associated to it. It was more from learning perspective than trying to implement a business case or requirement.

This is how the control looks like within the form.

For another email id, it shows the corresponding avatar image.

For cases where there are no gravatar associated it shows the default image

And as we are using it for the email type of text field, the usual validation provided by the platform works seamlessly.

Get the tool here

https://github.com/nishantranacrm/GravatarPCFControl

Hope it helps..

Configure Customer lookup to show either contacts or accounts in Canvas Apps

Debajit's Dynamic CRM Blog

Happy new year to all my blog readers and this is my first blog of 2020. And how about starting with a simple one and that too on canvas apps!

So this was my customer requirement. They were designing a canvas app for their business users which was basically kind of contact management. And while designing the contact edit form, they needed to show a form similar to the below one.

image

important fields to consider in the above screenshot are “Parent entity” & “Is company contact”.

Parent Entity field is nothing but the Company name (parentcustomerid) field of the contact. “Is Company Contact” is a custom field of type boolean.

In short the requirement was if that if the contact is a company contact, then the Parent entity field should allow users only to select Accounts else it should allow users to select only contacts. We…

View original post 287 more words

Advanced condition builder in Power Automate (Microsoft Flow)

Was just exploring the advanced condition builder added to the Power Automate (Flow) beginning of the last year.

The new conditional builder makes it very easy to write complex conditional logic compared to using expressions.

We can easily add row (conditions) and group them

The row (condition) can be grouped by either And or Or.

To simplify the view, the group can be collapsed.

The group can be deleted, moved up or down along with ungrouping.


For complex expression, we use the regular Dynamic Content expression builder to enter in the left side of the row as shown below.

Example of its usage – https://nishantrana.me/2020/01/02/using-power-virtual-agent-and-power-automate-flow-to-create-a-simple-bot-for-cases-in-dynamics-365-for-customer-service/

Total 10 conditions can be added after which the option of adding more option gets disabled.

We can add a group as the 10th row and again add conditions in that row.

Similarly, 10 group as row can be added

Similarly, we can have 5 nested groups

The below post by Benitez Here explains it best, and includes comparison with the workflow designer.

http://benitezhere.blogspot.com/2019/02/flow-condition-builder-how-tos.html

Hope it helps..

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

https://docs.microsoft.com/en-in/power-virtual-agents/analytics-summary

Helpful posts –

https://readyxrm.blog/2019/11/06/adding-a-power-virtual-agent-to-a-power-apps-portal/

https://joegill.com/powerapps-portal-virtual-agent-bot/

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

https://powervirtualagents.microsoft.com/en-us/

  • 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 https://web.powerapps.com/, 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.

coalesce(body(‘List_records’)?[‘value’]?[0]?[‘ItemInternalId’],’NULL’)

The helpful posts

Next set the variable

For If Yes à

Expression
à

body(‘List_records’)[‘value’]?[0]?[‘_statuscode_label’]

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

https://nishantrana.me/2019/11/22/customize-opportunity-close-dialog-box-dynamics-365-for-sales/

  • Lead related enhancements

https://nishantrana.me/2019/11/22/lead-enhancements-in-dynamics-365-for-sales-2019-release-wave-2/

  • Contextual Email Communication

https://nishantrana.me/2019/11/23/contextual-email-communication-in-dynamics-365-for-sales-2019-release-wave-2-unified-client/

  • Save and New button in Quick Create Form

https://nishantrana.me/2019/11/25/save-and-new-button-in-quick-create-form-2019-release-wave-2-unified-interface/

  • High Density Headers

https://nishantrana.me/2019/11/26/high-density-headers-in-dynamics-365-2019-release-wave-2-unified-interface/

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

https://nishantrana.me/2019/11/28/open-webresources-modal-or-inline-using-xrm-naviagtion-naviagteto-in-dynamics-365-unified-interface/

  • Business Card Scanner

https://nishantrana.me/2019/12/23/scan-business-cards-in-dynamics-365-for-sales-2019-release-wave-2-unified-interface/

  • Timeline and Grid control Enhancements

https://nishantrana.me/2019/12/24/timeline-and-grid-control-enhancement-in-dynamics-365-customer-service-2019-release-wave-2-unified-interface/

  • Lookup Filter, Error Notifications and Territory entity enhancements

https://nishantrana.me/2019/12/25/lookup-filter-error-notifications-territory-entity-enhancements-in-dynamics-365-for-sales-customer-service-2019-release-wave-2-unified-interface/

  • Knowledge management enhancements

https://nishantrana.me/2019/12/27/knowledge-management-enhancements-in-dynamics-365-for-customer-service-2019-release-wave-2/

  • Product related enhancements

https://nishantrana.me/2019/12/28/opportunity-quote-order-invoice-product-related-enhancements-in-dynamics-365-for-sales/

  • The helpful resources: –

https://www.youtube.com/playlist?list=PLcakwueIHoT8-FSLxr5-3pprKWFHFMv3N

https://docs.microsoft.com/en-us/dynamics365-release-plan/2019wave2/

 

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

https://bit.ly/2MCPL3E

https://www.youtube.com/watch?v=ubEIAgKFzLo

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

http://tiny.cc/j0n3hz

http://tiny.cc/z0n3hz

Hope it helps..