{Encryption tool for Dynamics CRM}

The main purpose of this tool is to provide the user an ability to encrypt sensitive/critical information.

This is particularly relevant in some scenarios in Dynamics 365 implementations such as:

  • Storing Credit card information in Dynamics 365
  • Storing bank account details in Dynamics 365
  • Storing sensitive information such as Public service numbers in Dynamics 365(For example Social security number in US, etc.)

In all such scenarios, there is need to encrypt certain fields in addition to field security. This tool has been developed by myself and a former colleague and current MVP Deepesh

Mentioned below are the two algorithm’s that have been used in the tool.

AES Encryption

AES (acronym of Advanced Encryption Standard) is a symmetric encryption algorithm.

The method looks like this:

  • From the 128-bit key, AES generates 10 keys of 128 bits each.
  • These keys are placed into 4×4 arrays.
  • The plain text is also divided into 4×4 arrays (128 bits each).
  • Each of the 128-bit plain-text items is processed in 10 rounds (10 rounds for 128-bit-keys, 12 for 192, 14 for 256).
  • After the 10th round the code is generated.
  • Each single byte is substituted in an S box and replaced by the reciprocal on GF (2 8).
  • Then a bit-wise modulo-2 matrix is applied, followed by an XOR operation with 63.
  • The lines of the matrices are sorted cyclically.
  • The columns of the matrix multiplication are interchanged on GF (2 8).
  • The sub-keys of each round are subjected to an XOR operation

MD5 Encryption with TES Algorithm

The MD5 algorithm is a widely-used hash function producing a 128-bit hash value. Due to its vulnerabilities, we have combined the MD5 algorithm with another algorithm Triple DES Cryptography to enhance its performance. A configured alphanumeric string is used for computing the hash key.

The video of the tool is available at the following link:


The solution of the tool is available at the following link


Plugin In Statistics in CRM 2016/ Dynamics 365

Problem Statement


Some time there is a requirement from client to highlight the usage of customization done in the form of Plugin assembly or a custom workflow. On several occasions, when Plugin is making a call to an external Web client, they may also like to monitor the number of such calls or the number of times it was successful or failure.


Microsoft Dynamics have added an internal entity “Plug-in Type Statistics”. It could be seen in the advanced find filter. Mentioned below is a sample screenshot of what information in presents

As shown in the above example, Assembly name, execution count, failure count, failure percent etc are some of the information that is available.


The same view can also be embedded in a chart or a dashboard for better visualization.


Azure Logic Apps Twitter to Facebook

Several Logic Apps have been provided in Azure to provide integration between different applications.

In once such Logic Apps, we can integrate tweets happening in twitter with that of the Facebook account. Mentioned below screenshots illustrate how this is configured



After the logic app has been created, navigate to the Logical App Designer


Select the app which provides integration between twitter and Facebook



After the template is selected, the App will ask for account details of both twitter and facebook.





Tweets can be filtered based upon the text present in the tweet. Along with that, there are also several different conditions based upon which we can filter the tweet. There is an if else condition expression present which allows us to drill down to several properties of the tweet.






Setting Activity Party field in Email in JavaScript

There seems to be a change in the way we used to populate Activity Party fields in an email. Other than the id, name, entitytype we now also need to pass object code for the record whom we want be added in any of the activity party fields. Mentioned below code shows the snippet that needs to be followed.

function setFrom() {
var partlistData = new Array();
partlistData[0] = new Object();
partlistData[0].name = “Nameofuser”; //(Name value)
partlistData[0].entityType = “systemuser”;// (entity name)
partlistData[0].type = “8”; // (object type code 8 is for system user)


{Dynamics 365 / CRM 2016 Online Update 1}How to share Power BI embedded dashboard

Problem Statement –

How to share a Power BI embedded personal dashboard.

Using Power BI integration with Dynamics 365, we can create a Power BI embedded dashboard in Dynamics 365. However sharing that personal dashboard is not that simple. Dynamics 365 and power BI follow there independent authentication mechanism. Therefore it is essential that when we share that dashboard with users in Dynamics CRM, configuration settings must also be made on Power BI side. The article captures the configuration we need to make on Power BI side.



Power BI integration with Dynamics was first introduced in CRM Online 2016 Update 1.

The mentioned below blogs explains how we can configure the integration between Power BI and Dynamics


{CRM 2016 Update 1} Step by Step: Embed Power BI Tiles in Dynamics CRM Online

In a nutshell we need to follow the mentioned below steps

  1. Signup with Power BI on the url “https://powerbi.microsoft.com/en-us/”
  2.  After signing in Power BI, navigate to DataSets area ->Get Data->Services->Get and select the following content packs
  1. Microsoft Dynamics 365 (online) Sales Manager
  2. Microsoft Dynamics 365 (online) Service Manager
  3. Microsoft Dynamics Marketing
  1. For linking the Power BI with dynamics CRM, we need to authenticate the CRM organization by entering username and password.
  2. In Dynamics CRM, we need to login with a user having administrative security role.
  3. Navigate to Settings->Administration->System Settings
  4. On reporting tab, set Allow Power BI visualization embedding option to yes.
  5. Now navigate to Dashboards, create a new Power BI Dashboard.


Sharing the Dashboard

Now sharing the power BI dashboard works the same way in Dynamics CRM.



However if a user logs in to CRM this is what they will see


The issue is the dashboard must be shared in Power BI as well. Mentioned below screenshots show how this is to be done. Firstly login to Power BI, navigate to the dashboard and click on share. Mention the email id of the Dynamics 365 user with which you want to share the dashboard.



Now once the user logs in back to Dynamics, it should see the dashboard.




{Dynamics 365} Backup and Restore of CRM Online Organizations

Dynamics 365 has added a feature, wherein we can take backup of any organization, save it and then if need be restore the organization back to that state. Mentioned below screenshots show how the backup and restore works

  1. Firstly navigate to the Administrative Center of Dynamics 365. Click on link “Backup & Restore”


2.  For creating a new backup, click of the button “New Backup”. We can select the organization for which we need the backup using the drop-down.





3. For restoring any organization, with the saved backup, we just need to select the organization and click on restore button.

{Dynamics 365} Preview Feature – Organization Insights Dashboard

A new reporting component to provide organization insights has been added in Dynamics 365. The enhancement was already added as a preview feature in CRM 2016 Update 1. These charts can be added to a dashboard and provide the mentioned below information


a) Active Users – Number of users that are logged at different times of the day.

b) Active Users Performing Specific Operations – Number of Different operations(Create, Update, Delete and Read) performed by active users at different times of the day.

c) Most Active User (Changes) – Number of changes (Create, Delete, Update) performed by different users past 2hours, 48`hours or past 30 days.


d) Total Page Requests – Page requests in classification of Dashboards, Reports and forms at specific times.

e) Total Operations – Total number of operations Create, Delete Update and Read happening at specific times.

f) Most Active Users – Read operations performed by the most active users.

For using organization insights, we need to be firstly configure them in the organization. The can be configured by navigating to Settings-> Administration-> System Settings -> Previews organizationinsightconfiguration