How to – Connect Dynamics 365 records and views to Microsoft Team channels – Dynamics 365


To enable the feature that allows linking existing Dynamics 365 records and views to a Team channel,

we need select the environment and navigate to Settings >> Team Integration Settings

Select Yes for the “Turn on the linking of Dynamics 365 records to Microsoft Teams channels” and save it.

Now back in Microsoft Teams, from a team channel, select the Add (+) option

Select Dynamics 365

Specify the environment, and the corresponding Dynamcis 365 Apps in it.

Check Rememer this preference and click on Select.

Next, we get the option to search and filter for a record to link to.

Here we have selected the contact Nancy Anderson record, click on Save.

We can see the selected contact record pinned.

We also get the below options for the record tab added.


Similarly, if we want to link to a view, we can select the table and then its corresponding view to select and click on Save.

We can see the selected view added.

Also for both records and views pinned, we get the option of starting the conversation.

Clicking in Start conversation adds the below message with the link to the tab where the view or the record has been added or linked.

Get all the details here

Hope it helps..

Advertisements

How to – convert basic queue to an advanced queue – Dynamics 365


We can convert our basic queue to an advanced queue by setting the field “Is Omnichannel Queue” or “Automatic work distribution” schema name “msdyn_isomnichannelqueue“- to Yes.

We would usually do it to use the existing basic queue in the Unified Routing.

We can find that option in the Conflicts Tab of the Queue form

Or in case you cannot find the conflicts tab, you can add the field to the form

Here we need to be careful while converting the basic queue to an advanced queue, as we cannot revert this. If we try to do this we will get the below error –

Get more details here.

Hope it helps..

Advertisements

How to – enable the enhanced email template editor in Model-driven Apps(Dynamics 365 / Dataverse)


Below is what our existing or current Email Template editor looks like (Sales Hub >> Personal Settings >> Email templates)

Let us now enable the Enhanced Email Template editor for the App / Environment (it is enabled by default for Customer Service workspace and Customer Service Hub apps)

Create or Open an existing solution, Add existing >> Setting >> Enable the New Email Template Editor

We can set the value as Yes for the Setting environment value to apply it for the environment.

To enable it for a specific app, make sure we have the option “Environment and apps” and “Apps Only” selected for Value can be changed for option.

To specify the app(s) for which we want to enable the new email template editor, we need to add that corresponding app to the solution.

Here we have added the Sales Hub.

Add Existing >> App >> Model-driven App >> Sales Hub

On adding the Sales Hub App, we get the option to set the value for the Sales Hub app, which we have set as Yes.


Publish all customization.

We can now see the new Editor tab added for the new Email Template record inside Sales Hub.

We can drag and drop, and specify properties, of the layout section and elements in the new editor.

The new email template editor uses the same design as the email editor in Dynamics 365 Marketing, making it more consistent across the different apps in the platform.

Get all the details here.

Hope it helps..

Advertisements

Link and Create a case, contact, and account from a notes record in Timeline– Dynamics 365 / Dataverse


From the notes in the timeline, now we can link an existing note to an existing case, contact, or account record (this will unlink it from the current record) and also create either a new case, contact, or account record.

To configure it, open the Notes property of the Timeline section in the form.

Below we can see the different properties we can configure.

  • Enable the Link to Table Command
  • Enable the Tables to be connected.

Here we are enabling the Contact table, and then specfiying the Quick Create Form to be used while creating the new contact record, and also the mapping of the title and description field of the Notes. We have the same configuration for Case and Account.

Save and publish the changes.

We can now see the option to Link to record for the notes.

We get the option to search for an existing record (it will show results from tables connected).

Clicking on Advanced opens the lookup dialog.

On Associating to an existing record, the notes get linked to the new record and unlinked to the current record.

We can see the notes record associated with the contact record and removed from the existing case record.

We can also use the plus + sign to create new records of the tables connected from the notes.

Account, Case, and Contact in this case.

This opens the Quick Create form, with the title and description field of the notes mapped.

After the new record gets created, we are again presented with the option to Unlink that existing note from the current record.

Below we can see the new record with the note associated with it.

Get all the details here

Hope it helps..

Advertisements

Analytics capabilities of Kupp Code Analytics


In the previous posts, we covered the Overview and Key Features of Kupp Code Analytics, the installation and setup process of the extension, and its Intellisense capabilities.

Here we’d have a quick look at the analytics capabilities of the extension.

To enable it, inside Visual Studio, navigate to Tools >> Options >> Kupp Code Analytics >> General or Extensions >> Kupp Code Analytics >> Analytics >> Configure Analytics

Set “Enable C# Code Analyzer” to “True”. Requires Visual Studio to be restarted on change.

To run the analytics, select Extensions >> Kupp Code Analytics >> Analytics >> Run

Below we can see the results of running the analytics on our sample plugin class.

Let us see the code analysis rules one be one.

PCA001: The lPlugin interface should not be used directly.

The suggestion is to use a custom base class instead to handle the call delegation, using the context information of the plugin.

PCA002: Plugins should be stateless. Remove all instances properties and values.

Plugins are instantiated on a per-request basis and handle specific execution contexts. The plugin instances are short-lived and should not be assumed to persist across multiple requests. Also if multiple plugin instances execute especially in the case of bulk operations, it could lead to concurrency issues.

PA002: Attribute collection should only include the changed attributes. Create a new entity for the update

While updating the table or entity, create a new Entity instance and only include those attributes that are changed.

PA001: Specify the required columns instead of retrieving all columns.

Specify the required attributes to be retrieved instead of all columns as this would impact the performance.

EBEA002: Late bound entities should be replaced with early bound entities.

SVA001: Entity Logicalname ‘myTable’ doesn’t exist.

It is suggested to use early bound entities as they provide Type Safety and IntelliSense Support decreasing the likelihood of runtime errors and can enhance productivity through auto-completing and context-aware suggestions.

These were a few of the examples, that show the key capabilities of the extension, for the complete list, please refer to the product documentation

Hope it helps..

Advertisements

Entity Id must be specified for Operation – Dataverse / Dynamics 365


We might get the below error while performing the update operation.

This could be if we have not specified the GUID of the record to be updated or if we are using an Alternate Key to update the record, we have not specified the KeyAttributes property.

We either need to specify the Id property or specify the KeyAttributes property

Or in the Entity’s Constructor.

Hope it helps..

Advertisements