Microsoft Teams Integration with D365 on custom entity


Ajit Patra

To enable Microsoft Teams in D365, Go to Settings –> Administration –> SystemSettings –> General Tab and flip the below highlighted options to Yes.

Once done, we’ll be able to see Collaborate button on the ribbon as shown below.

By default it’ll be enabled on several OOB entities as mentioned here: https://docs.microsoft.com/en-us/dynamics365/teams-integration/teams-collaboration#record-types-that-support-microsoft-teams-integration

However, we can also enable it on custom entity programmatically. Below is the screenshot of a custom entity “new_cidproduct” before enabling Teams integration on this entity.

We can use msdyn_SetTeamsDocumentStatusWeb API action to enable/disable Teams integration on a specific entity or a set of entities. Here, I have used my favorite Postman for the demo. Below are the request details:

Method: POST
URL: https://org.crm.dynamics.com/api/data/v9.0/msdyn_SetTeamsDocumentStatus
Body:
{
“Enable”:true,
“LogicalEntityNames”:”[“new_cidproduct”]”
}
Authorization: Configure the token to be passed along with the request.

Below is the screenshot of the request using Postman.

Once done with building…

View original post 62 more words

Troubleshooting OmniChannel Engagement Hub: Setup Issues


Everything D365

I’m a huge fan of the Omni Channel Engagement Hub. You may have gathered this fact if you’ve read previous blogs, seen previous posts or watched me demo the product. I see the Omni Channel Engagement Hub as a game changer – it’s much easier to get up to speed with than it’s counterpart USD (Unified Service Desk) and it has so much more to offer than standard D365 Customer Service. Omni Channel was demoed at the recent Microsoft Business Applications Summit (if you missed it you can catch up on it here) and I hope this will have whet the appetite for more people to start looking into how they can adopt this product.

With that being said, Omnichannel is not perfect, there are some issues which I have faced and numerous people have also faced during their setup and configuration of OmniChannel. To hopefully make the future…

View original post 666 more words

Modern Model App designer (preview) – Dataverse (Dynamics 365)


A new Model App designer (preview) was added to the platform recently.

It follows a page-based authoring approach and resembles the new UCI.

Within the Maker Portal, while create an new Model-Driven App, we can select Modern App designer (preview)

Provide the name and description to the app and click Create.

Click on Play to see how the default app looks like

Now let us add the lead and contact entity and some dashboards to it.

Click on New Page

Select Table based view and form. The other option is Dashboard.

Search and select Lead and Contact and leave it checked – Show in navigation option

This adds the form(s) and view(s) for the table selected.


We can click on form and view and can either let all the forms and views selected by default or can specify specific views and forms.

“No forms have been explicitly selected. All forms will be available by default.”

Similarly, we can add a Dashboard

Here we have selected 2 dashboards and kept the option – Show in navigation checked.

We can update the title of the Dashboards added.

From the navigation menu, we can arrange the components added -i.e. move them up and down and as well remove them.

We can also add new Group and also the Subarea of type either Table or Dashboard.


Save and Publish the change and click on Play.

Our App is ready.

Similarly, we can edit an existing App in the new preview designer.

We can also Switch to classic 

Our Classic App Designer à

Lastly, the Data section in the new designer allows us to edit our entity/ table.

DataSection

Hope it helps..

Advertisements

Data Migration – Optimum batch size and threads for maximum throughput – Microsoft Dataverse (Dynamics 365)


For one of our projects, we were trying to figure out the optimum batch size and threads while using the CDS/CRM Destination component of KingswaySoft.

https://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-365/help-manual/crm/destination

Now with Service Protection API limits in place, to get the maximum throughput the first point to consider is User Multiplexing.

Nicely explained here à

https://powerplatform.se/fast-data-management-in-a-limited-cds-world/

We are using the Conditional Split component to divide the load among the different CDS Destination Components which are running under different application users (using different CDS Connection Manager)

In the below data flow, we have 5 different CDS Destination components, each using a different Connection Manager configured using different users.

Here we took 50000 records as a sample for ContactCreate operation with 3 and 5
CDS Destination Component.

Below were our findings à

As suggested in the article, batch size as 10 and thread as 16 seem to give the best performance.

The trick is here to use as many threads as possible running under different users.

The CDS Destination component of KingswaySoft handles the server-side throttling automatically, it will follow the instruction and wait before trying again the same request.

On trying with 500 as the batch size, we got the error.

[Dynamics CRM Destination [18]] Error: An error occurred with the following error message: KingswaySoft.IntegrationToolkit.DynamicsCrm.CrmServiceException: CRM service call returned an error: The operation has timed out (Error Type / Reason: Timeout, Detailed Message: The operation has timed out) (SSIS Integration Toolkit for Microsoft Dynamics 365, v20.2.0.3083 – DtsDebugHost, 15.0.2000.128)KingswaySoft.IntegrationToolkit.DynamicsCrm.WebAPI.WebApiServiceException : The operation has timed out (Error Type / Reason: Timeout, Detailed Message: The operation has timed out)System.Net.WebException (Status Reason: Timeout): The operation has timed out”.

So basically try out the different combinations to get the maximum throughput.

Also check à

https://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-365/help-manual/crm/destination

I think below will still be relevant but for CRM On-Premise

https://nishantrana.me/2018/12/19/optimum-batch-size-and-thread-while-deleting-records-using-ssis-integration-toolkit-for-microsoft-dynamics-365/

Batch Size and Copy of Paralleism for Azure Data Factory and Microsoft Dataverse

https://nishantrana.me/2021/05/25/write-batch-size-data-integration-unit-and-degree-of-copy-parallelism-in-azure-data-factory-for-dynamics-crm-365-dataset/

More articles on KingswaySoft and Dynamics 365 / Dataverse

https://nishantrana.me/2018/11/26/ssis-and-microsoft-dynamics-365/

Hope it helps..

Advertisements

Posts on Omnichannel for Customer Service (Dynamics 365)


Agent scripts in Omnichannel and Customer Service Workspace – Dynamics 365

Agent scripts are available within the Productivity pane in the Customer Service workspace and Omnichannel for the Customer Service app. Agent scripts contains series of steps that will guide the agents while working, helping them to be more efficient. More on Customer Service Workspace – https://nishantrana.me/2020/08/13/new-customer-service-workspace-app-preview-in-dynamics-365-2020-release-wave-2/ Omnichannel for Customer … Continue reading “Agent scripts in Omnichannel and Customer Service Workspace – Dynamics 365”

Setup WhatsApp Channel (Preview) in Omnichannel for Customer Service

In the previous post, we provisioned the Omnichannel for Customer Service and had configured the Chat channel. Posts on Omnichannel for Customer Service (Dynamics 365) In this post, we’d see how to set up the WhatsApp channel (preview) Within the Omnichannel Administration app, navigate to Channels à WhatsApp and … Continue reading “Setup WhatsApp Channel (Preview) in Omnichannel for Customer Service”

Advertisements

How to – Enable Notification in Model-Driven App (Dynamics 365)


By making use of appsetting and settingdefinition table, we can enable notifications in the Model-Driven App. (not sure if it is documented somewhere / or supported way) – so try in a trial environment.

I think the supported way is through customization.xml 

https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/events/form-onsave#enable-async-onsave-using-app-setting

Thanks to the below post and tweets by Mehdi EL Amri, which describes the steps to be followed.

https://xrmtricks.com/2021/05/26/a-glance-of-the-onload-event-on-a-model-driven-app-form-async-onload-event/

Basically, we need to add a new record inside appsetting table which will have reference to the settingdefinitionid of that particular setting (Alert notification early access) inside settingdefinition table along with id of the app to which we want it to be associated.

  • Let us get the settingdefinitionid for Allow notification early access.

  • App Id for the Sales Hub.

  • Here we are creating a new record through a console application

  • parentappmoduleid – appid of the model driven app
  • settingdefinitionid – id of the specific setting
  • uniquename – name
  • value – set as true

Now let us create a flow on the creation of contact which will send the notification. (create the notification record)

On creating the contact record, we can see the notification inside our Sales Hub.

Settings allow us to enable/disable toasts and set the toast duration as shown below

Hope it helps..

 

Advertisements