Kanban View for Activities in Dynamics 365 Sales – 2020 Release Wave 1 Plan

Similar to the Opportunity entity, we can add a Kanban view to Activities.

https://nishantrana.me/2020/02/14/kanban-view-for-opportunity-in-dynamics-365-sales-2020-release-wave-1-plan/

Open the Activity entity for Customization and add the Kanban control and publish the changes.

*similar to Kanban, we can configure Calendar control for Activity.

After publishing the changes we will have both Kanban view and Calendar Control view available for use to selectà

Kanban view shows the activity records based on the different status.

Clicking on Title opens the record in the new window

Fields are editable

The view can be filtered based on Due date and Activity Type

We can use Search to filter the result in view

Each lane shows the total records in that particular lane

Supports drag and drop

Moving the record to the Completed lane

Opens the Close Task dialog

Within the Close Task Dialog box, we have the option to specify Completed or Cancel for the task.

Here we selected Canceled, which moves the record to Canceled lane.

The Closed / Completed activity cannot be dragged to Open lane and reopened for out of the box entities except Campaign Response.

Below we are moving Campaign Response activity record from Completed to Open lane.

The custom activity can be moved between the lanes without any such restriction. i.e. It can move from Cancelled to Completed or Completed to Cancelled, or From Completed and canceled to Open, etc.

With upcoming releases, we would see the option of adding Kanban view to other entities. (Right now, we can add the Kanban View to other entities but it renders as blank except Activity and Opportunity).

Check other blog posts on

Release 2020 Wave 1:https://nishantrana.me/2020-release-wave-1/

Release 2019 Wave 2: https://nishantrana.me/2019/12/31/dynamics-365-2019-release-wave-2-blog-posts/

Hope it helps..

Kanban View for Opportunity in Dynamics 365 Sales – 2020 Release Wave 1 Plan

With the 2020 Release Wave 1 Plan, now Kanban View can be added to Opportunity.

To configure it, open the Opportunity entity for Customization, go to Controls tab and Add Kanban control to it and publish the changes.

This adds the Kanban view to the Opportunity’s view.

There are 2 different Kanban views available

  • Based on the BPF Sales stage (stages of the Opportunity sales process BPF)

  • Based on Status (Open, Won, Lost)


Let us look at different actions that we can perform within the Kanban view.

  • Clicking on Title opens the record in new window



  • Fields are editable


  • Use Search to filter the result in the view


  • Each lane shows the total of estimated revenue and total records in the lane


  • Supports drag and drop

Here we are dragging the 4G Enabled Tablets record to Won Status lane.


It opens the close opportunity dialog box.

We can update the values and add a description if needed. Clicking on OK moves the record to the Won status lane.

Similarly dragging the record from Lost and Won to Open Lane, reopens the record.

In the case of the Business Process Flow view, moving the card to another stage lane will open the record itself.

Here moving record titled Audio from qualify to develop lane

Opens the BPF in the record itself.

Currently, the Kanban view is only available for Opportunity Sales Process flow.

Updating the Display Name of the stage, adding/removing a stage all is reflected back in the Kanban View.

The Kanban View for the updated process reflects the changes made

With coming releases, expecting this feature added to other business process flow.

Check other blog posts on

Release 2020 Wave 1: https://nishantrana.me/2020-release-wave-1/

Release 2019 Wave 2: https://nishantrana.me/2019/12/31/dynamics-365-2019-release-wave-2-blog-posts/

Hope it helps..

Save and Email PDF options added to Dynamics 365 Sales – 2020 Release Wave 1 Plan

The PDF generation capability has been added to Dynamics 365 Sales for the following entities: Lead, Contact, Account, Opportunity, Quote, Order and Invoice.

As an Admin, we can configure it here.

Enabling it adds the Create PDF and Email as PDF commands.

Create PDF and Email as PDF options will let the user select the templates available for that entity.

The generated pdf document through Create PDF option, can either be saved in SharePoint or in the local drive.

Clicking on Download starts the Export to PDF process and saves a copy of the pdf.

Clicking on Save saves it in the SharePoint Document Location configured

Email as PDF option can be used to email the PDF directly to the customer.

It basically opens the Email record with PDF added as an attachment.

The mapping for the email opened –

Check other blog posts on

Release 2020 Wave 1: https://nishantrana.me/2020-release-wave-1/

Release 2019 Wave 2: https://nishantrana.me/2019/12/31/dynamics-365-2019-release-wave-2-blog-posts/

Hope it helps..

Sales Team Member app module in 2020 Release Wave 1 Plan

A new Sales Team Member App has been made available in the 2020 Release Wave 1 plan that is specifically designed for users having Team Member License.

Below are the roles assigned to the app.

Below are the entities available for the users within the Sales Team Member app

Team member licensing is targeted towards the lightweight users that need limited access across the Dynamics 365 Apps.

Below are some of the rights/actions that Team member License User can perform –

  • Read all Dynamics 365 application data and Custom Entity Data.
  • Can Access Customer Engagement applications from Web App, Mobile, Tablet and Outlook.
  • Mobile Offline capabilities are not available for Team Member Licenses.
  • Create, Update and Delete
    à Activities, Announcements, Contacts, Custom Entities (15 max), Notes associated with them, Personal Views, Saved Views, Email Templates, Word Templates.
  • Create and modify up to 15 Custom Entities (per application) in addition to the OOB entities.
  • Export data to excel.
  • Access user reports, charts and dashboards.
  • Through Portal and API – create, read, update and delete Cases.
  • Post and follow activity feeds.
  • Perform mail merge.
  • Start a dialog.
  • Associate a marketing list with contact or account.
  • Use a queue item.
  • Use relationships and connections between records.
  • Use the search and advanced find.

The below diagram from the Licensing guide explains how team members’ license fits with the need to access custom entities.

Licensing is one the most complex part about the product, so it always recommended to go through the licensing guide and clear any doubts from Microsoft before deciding.

Download the Dynamics 365 Licensing Guide

https://go.microsoft.com/fwlink/p/?LinkId=866544

Also, check

https://docs.microsoft.com/en-us/dynamics365/get-started/team-members-license

https://docs.microsoft.com/en-in/dynamics365/sales-enterprise/sales-team-member

Check other blog posts on

Release 2020 Wave 1: https://nishantrana.me/2020-release-wave-1/

Release 2019 Wave 2: https://nishantrana.me/2019/12/31/dynamics-365-2019-release-wave-2-blog-posts/

Hope it helps..

PCF Control to show Twitter Likes Timeline

In the same line as Profile Timeline PCF Control, we can use the same concept to create a control that shows likes timeline that displays the recently like tweets of a specific public Twitter Account.

More on this

https://developer.twitter.com/en/docs/twitter-for-websites/timelines/guides/likes-timeline

Here we have specified the public twitter account nishantranacrm in this case, it will show all the tweets that are liked by that profile.

We can have both the Profile Timelines and Like Timelines control for the profile that we are interested in for a lead, contact or account record.

Get it here

https://github.com/nishantranacrm/PCFTwitterLikesControl

Hope it helps..

PCF Control to show the Twitter profile timelines

Created a simple PCF Control to show the twitter timelines for the profile. It basically uses embedded tweets.

Get the control here

https://github.com/nishantranacrm/TwitterPCFControl

Simply enter the twitter profile in the text field and it will render the latest tweets of that profile.

Inside an account form à

For the contact record à

Embedded timelines make it extremely easy to embed the Tweets on a web page.

We can navigate to publish.twitter.com to generate the code.

Here I have searched from my profile, which then next gives us the display options to select.

Here we selected the Embedded Timeline display option, which generated the code for us.

The code that we are using inside our PCF Control.

Read more about it here

https://developer.twitter.com/en/docs/twitter-for-websites/timelines/overview

Hope it helps..

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..

Customize Opportunity Close Dialog Box – Dynamics 365 For Sales

With the 2019 release wave 2 plan, finally, we can customize the opportunity close dialog box (Unified Interface only)

Enable it from the Sales tab of System Settings dialog box.

The default out of the box Close Opportunity Dialog Box à

Now to add or remove fields to the dialog box, we need to customize the Quick Create form of Close Opportunity entity.

Change the ordering of the fields, added a custom field, removed Competitor and Description dialog box.

Updated Close Opportunity Dialog Box

We can use client-side validation on it

We can specify business rules

We can also customize the Main (Information) form.

This form can be used to check the details of closed opportunities.

Entity Relationships cannot be customized.

Great to see the feature available as it was one of the most requested features in the product.

https://experience.dynamics.com/ideas/idea/?ideaid=4792dfee-121a-e611-80e2-c4346badc228

Hope it helps..

Perform actions on the host model-driven form from embedded canvas app using ModelDrivenFormIntegration control in Dynamics 365

Let us continue our previous example of embedding the canvas app within the model-driven app and extend it to perform actions on the host form using ModelDrivenFormIntegration control.

This ModelDrivenFormIntegration control acts as a bridge and brings the contextual data from the host model-driven form to the embedded canvas app.

Here we will look at some of the pre-defined actions that can be performed using the ModelDrivenFormIntegration Control.

For this update our existing Canvas App and add the below buttons to the Form control in the canvas app

  • Save Form

For the Save Form button, first, create the flow (Power Automate) which will update the record.

https://nishantrana.me/2019/11/04/step-by-step-calling-flow-from-powerapps-dynamics-365-ce-crm/

 

Below we are calling the Flow from Save Form button and passing GUID of the record along with values of name, city and phone field.

Here we have used ModelDrivenFormIntegration’s Item property to retrieve the id of the account record in our formula that is being used to call the Flow (Power Automate)

Result

updating the address 1 city field by appending text “Redmond” in the embedded canvas app.

save

  • Refresh Form

The true and false parameter value of the RefershForm method specifies whether to show prompt or not before saving any unsaved data on the host form.


Result

refreshing the form, shows the address 1 city field of the form in the right section with the appended text “Redmond” as saved earlier.

refresh

  • Navigate to Main Form

NavigateToMainForm method’s parameters are entity name, form name, record id.


Result

Here we are opening the same record.

navigatemain

  • Navigate to View

NavigateToView method’s parameters are entity name and view name.


Result

Opens the view specified in the parameter

NavigateToView

  • Open Quick Create Form

NavigateToView method’s parameter is entity name.


Result

Opens the quick create form of the entity specified in the parameter.

Get all the details here 

Hope it helps..

Embedding a canvas app on a model-driven app in Dynamics 365

Let us start with some of the key points about the embedded canvas app

  • The embedded canvas app is now generally available. During preview.
  • The embedded canvas app supported sub grid control in preview, which is now no longer available.
  • The canvas app custom control is only supported for the Unified Interface Web client type. It doesn’t support Phone and Tablet client types.
  • We can only have 1 canvas app on the form. We can have multiple embedded canvas app but only 1 of them could be enabled.
  • It is recommended to have an embedded canvas app on a required field else it will not refresh on any change in the data on the host model-driven form.
  • The embedded app can only be created from the host model-driven form.
  • The existing canvas app cannot be used as an embedded canvas app.

To create the canvas app custom control, select the controls tab in the Field Properties dialog, and click on Add Control.

Select Canvas app in App Control dialog.

  • The Canvas app will have Web client selected as default and Phone and Tablet option will be greyed out.
  • Entity Name shows the name of the field that is associated with it.
  • App ID will be populated when the app is created.

Clicking on Customize opens the PowerApps Studio.

We can see the canvas app form control added to the canvas app.

We can see the fields for city, name, and phone already added to it.

ModelDrivenFormIntegration is a special control that is responsible for bringing the contextual data from the form to the embedded canvas app.

Using Edit Fields option, we can add, remove, edit, reorder the fields of the data source.

Just for the simplicity let us keep the app as it is.

Click on File à Save à The cloud (Save to PowerApps)

On a successful save, we can see the App ID generated.

Uncheck Display label on the form, save and publish the customization.

Changing the value in the Phone field in the form and saving the form changes the value inside the canvas app form control.

To Edit the canvas form control, we need to follow the same steps, open the field properties, controls tab and click on Customize

After making the changes inside PowerApps studio, save and publish the changes.

The other Dynamics CRM User say poweruser2 will get the below error message when they open the same form if the app is not shared with them.

The app can be shared with specific users, security groups or everyone within the organization. The users should have appropriate security roles to access the entities and also appropriate permissions on the cloud services that are being used as part of the canvas app.

There are no privileges specific to the canvas app within Dynamics 365 CE

To share the app, Navigate to File and select Share option

Here we searched for the user, made him Co-owner and assigned security roles which will give him access to Accounts entity.

We can see the embedded canvas app rendered properly in this case for the poweruser2

In this post, we covered some of the key points about the embedded canvas app along with steps to create, update and share it (although we just used the OOB generated app here),  I would recommend to check out the videos by Shane Young to learn about PowerApps and different scenarios that we could implement.

Hope it helps..