Wednesday, February 26, 2020

How to do integration between SharePoint and Dynamic 365 CRM


Enabling integration requires configuration in both SharePoint and Dynamic CRM. Its starts with SharePoint.

Configuration on SharePoint

Before I outline configuration steps, I would like to mentioned few points that needs to be consider for this integration.
  • Never configure Dynamic CRM on SharePoint Root directory – you can configure but you should not as it difficult to manage later.
  • Must have separate sites for various CRM instance (Dev, UAT, Prod etc.) in your organization.
  • It should be a Team site and not a communication site as security principle could be applied later with respect to the user accessing it.


We would create team site in order to obtain SharePoint site Url that needs to be configured into Dynamic CRM.

Step 1: Create a Team Site in SharePoint by following below steps


Step 2: Choosing Team site will open a wizard to provide details to create a Team site.
  • Privacy settings need to be:  Private - only members can access this site.



Step 3: You can add member or owner to this site, and it can be done later as well. Finish creating this site.


Click Finish to complete the wizard. 
Now navigate to Site Contents to check what is provided by default before we start with Dynamic 365 CRM integration.


Note your Team site URL from the first step or browse and copy it from the address-bar.

Configuration on Dynamic 365 CRM

Go to Settings > Document Management.
In the Document Management area, click Enable server-based SharePoint integration.
Review the information and follow the wizards as depicted in below screenshots.






Now we need to enable document management setting for various entities in Dynamic CRM.
Go to Settings > Document Management.
In the Document Management area, click Document Management Settings.
  • Select the entities based on your requirement where you would like to enable document management feature.
  • Provide SharePoint Site Url



Select the Folder Structure.
Refer here for detailed understanding related to folder structure type option. I am not selecting Based on entity which means documents will uploaded to respective entity.




Finish the wizard and now we can check site contents again to see what’s been added after running this integration wizard.


Document library got created for respective entities selected in integration wizards.
Now let’s navigate to Lead entity in Dynamic CRM to check what’s been added.




Dynamic 365 keeps asking credential


This is quite frustrating and often your customer’s will keep complaining you about CRM is opening a new tab and asking to provide credentials again and again. After avoiding this problem from quite long, I took a time to investigate about this issue and the solution around it.


What is it that CRM repetitively asking credentials?

Once you logged-in to Dynamic CRM, you will notice help [?] component is the last one to get loaded.

It tries to validate your login, but in case you might have saved password for your

  • Production, UAT or dev CRM instance or 
  • password or any other CRM instance (may be a trial instance) or 
  • any other Microsoft account (hotmail/live email etc),

then this component failed to fetch the correct credential and repetitively ask for credentials. 

It might happen that by mistake you had updated the credentials in password manager for other Microsoft account and browser keeps providing it for incorrect Microsoft CRM account.





Solution – You need to delete saved password and clear cookies and cached data.

I am outlining steps to be followed to remove credentials information from Chrome browser to resolve issue

Step 1: Open browser Settings



Step 2: Search for Passwords and open it which comes under Auto-fill section



Step 3: Remove the password

Click on triple vertical dots next to your Username and hidden password and choose to remove an option.
This you should do it for all the Microsoft account you are holding here.
Note: You can note down the password also by viewing before removing if you need it after.



Step 4: Clear the browser Cached files. (Ctrl + H)

Navigate to browsing history and selected Advanced and clear the cookies and cached data.



Step 5: Restart your browser.

Close all your browser tabs or windows and open Dynamic CRM again and it will ask for credentials and this time you may save the password and you will notice Help component is loaded and CRM is not asking for credentials again.




Hope this helps.

Tuesday, February 25, 2020

Missing CDS connector in power automate


I was creating a Flow and I realized that I am missing CDS connector in Choose an Action window of Power Automate.




First, check if you are on correct Environment instance which is CDS enabled.




Once, I choose the correct environment (which was D365 in my case) I was required to export and import my Flow as a package in New Environment and then I got to see CDS connector under Choose an action window.


If you still don’t see CDS connector, then you need to create the environment under power platform

Create the environment


The following pop-up window will appear. Enter the details and click on "Next"



Click Save to create an environment.



Once the environment is created, you will be able to see CDS connector.
Hope it resolve your issue.

Tuesday, February 18, 2020

Business Advantages of Dynamics 365 CRM


Whenever any organization (especially a startup) adopts Dynamic 365 Online, they may have few or many considerations such as:
  • It is good to ask why I should adopt Dynamic 365 CRM.
  • Does it justify ROI when Investing in D365?
  • Is it easy to operate or does it require employee to be highly skilled or trained?

I am making an attempt to answer such questions and how Dynamic 365 enables business to facilitate in a more better way.


More Digitization



Organization wants to streamline various processes that are key to their business.

For an example
  • Sales process which involve capturing a lead and converting it to an opportunity.
  • Running a campaign, monitoring its execution at various stages and observing its ROI.
Management people often get frustrated when they come to know that some important leads data is residing on a personal computer of an individual salesperson.

Even some organization might have shared drive or one drive, but practice of putting content over there is never followed.

Dynamic 365 helps organization to store data at a common place/platform and in a very standard and structured way. This further support having an accurate insight of a business value at any time at any place.



Real Collaboration at workplace.



Whether it is team meeting, sharing of thoughts, news spread, announcement or simple discussion. Almost everything can be recorded and shared across everyone in your organization with implied security.
Dynamic 365 brings together the workforce of an organization more closely by providing them right tools.

For an example:
  • Tracking an important email from Outlook in Dynamic CRM, so that it can be created as a Lead directly into CRM system.
  • Assigning lead to respective sales team or individual salesperson.
  • Reminders to take standard follow up with assign leads.
  • Sharing and highlighting an important lead to business manager.  


Improved Customer Experience.



In a traditional way if a salesman needs to fulfill a sales order request, they might run after for another department to check about inventory, past transaction, customer transaction history etc.

Now with Dynamic 365 they are equipped with all information at one common place. They can look at recent similar orders with respect to product and can fulfill the customer order request in best deal.

Dynamic 365 really help in reducing customer response time which in turn helps gaining customer satisfaction.


Access from any Device – Mobile, Tablet, Laptop

Dynamic 365 is now come up with Unified Interface which is responsive web design principles to provide an optimal viewing and interaction experience for any screen size, device, or orientation. It brings all the rich experiences to any client that you are using.





I would be further updating this document as I learn more. I do not want to list the CRM feature over here instead I want to relate it to actual user problem. 

If you are having any problem deciding or moving to Dynamic 365 CRM, please write to me.

Thanks.
Vipin Jaiswal

vipinjaiswal12@gmail.com 

Friday, February 14, 2020

Enhanced Email Communication in Dynamic 365 CRM


We now have light weight email editor which can be used as a non-blocking window over Dynamic CRM while we are still allowed to be browsing and navigate in dynamic CRM.




Here is a video link which talks about
  • How to setup?
  • How to use?
  • How it differs from Standard email editor?
  • Only gets triggered for new or fresh emails.



Note: 
  • This feature is available in the Unified Interface only. 
  • This capability is intended only for Dynamics 365 Sales Enterprise.

If you are missing Sales application refer here to get it install in D365 CRM



Reference Links



Thursday, February 13, 2020

How to add missing Application in Dynamics 365


When you are missing Sales or any other Application from dynamic CRM, the main reason could be while setting up Dynamic 365 you might have chosen None of the these as an option instead of selecting either Sales, Customer Service, Marketing.

No worries once Dynamic 365 is setup we can Add or Remove these components easily 
from Dynamics 365 Administration Center.


Step 1) Select your Instance and go to edit the solution.




Step 2) Select the solution which you need to be part of D365 instance and click on Install.




Step 3) Depending upon the solution, it may ask you to accept the Terms and Condition. Proceed with install.




Step 4) Refresh the page to check on the status of solution being installed.





Friday, January 17, 2020

How to make Email signature not editable in email body in Dynamic CRM


Recently, one of the clients asked me to have a preview of email signature on email entity (not to be edited) and signature must be a part of email body when sending out email from Dynamic CRM.

Solution

As the email body is an open editor user can edit the content within it, which might include email signature. The only solution which I find is to create a web-resource to show the preview of email signature and inject it into email body.

1) Let’s begin with creating a sample email signature in Dynamic CRM.
    Navigate to Settings -> Templates -> Email Signatures -> New



2) Create a Webpage (HTML) webresource



Here is a content of web-resource
Note : You can optimize the code further, here it is written to make it more readable.

<html>
<head>
<title></title>
<script>
    function resourceOnLoad()
    {
        debugger;
        var ownerId = parent.Xrm.Page.context.getUserId();
        var entityName = "emailsignature";
        var filterQuery = "?$filter=_ownerid_value eq " + ownerId + " and isdefault eq true";
        window.parent.Xrm.WebApi.online.retrieveMultipleRecords(emailsignature, filterQuery, 1).then(
            function success(result)
            {
                var signatureStr = result.entities[0].presentationxml;
                signatureStr = window.decodeURI(signatureStr);

                signatureStr = signatureStr.replace(/</g, '<');
                signatureStr = signatureStr.replace(/>/g, '>');
                signatureStr = signatureStr.replace(/&/g, '&');
                signatureStr = signatureStr.replace(/"/g, '\'');   // Single Quote

                xmlDoc = (new DOMParser()).parseFromString(signatureStr, "text/html");
                signatureStr = xmlDoc.getElementsByTagName('presentationxml')[0].innerHTML;

                document.getElementById('sig').innerHTML = str;
            },
            function (error)
            {
                Xrm.Utility.alertDialog(error.message);
            }
            );
    }
</script>
</head>
<body onload="resourceOnLoad()">
    <div id="sig">

    </div>
</body>
</html>


3) Inject the web-resource on email entity

Customize the form and Add Web Resource



4) Create a New Email Record and see email signature in preview.




Additional Findings

  • Set email signature as Default to automatically inject email signature to email body.
  • You cannot create any relationship with Email Signature entity in D365 CRM