Latest Microsoft Dynamics 365 Blogs | CloudFronts

Add HTML page in Dynamics 365 Customer Engagement Apps

Introduction In this blog we will take a look at how we can add an custom HTML web resource in your customer engagement app. There have been client requirements where there was a need to add custom UI to handle some additional functionality, let see how this can be achieved. Implementation Step 1 : Firstly we create an HTML web resource, and we add the required code in it. For this demonstration i have used bootstrap to create an responsive page. You can view the entire code for the HTML here Below shown is how the HTML file looks.   Step 2 : Now to add this in our app in Dynamics 365 Customer Engagement, navigate to your app and open the editor pane as shown below In the above shown pic add a new subarea and add the required name, here we have kept it as Safety Inspection Map and in the properties tab we add the Type as Web Resource and URL is the HTML web resource that we have already pubished Now click on Save and Close at the top right corner and then click the Publish option. Once this is done navigate to your app in Dynamics 365 Customer Engagement to view the newly added web resource. Below show is the how the customization looks like in the unified interface. Hope this helped!    

Share Story :

Add Dynamics 365 Lookup functionality in HTML Web resource

Introduction In this blog we will look at how we can add the lookup functionality of dynamics 365 Customer Engagement in our HTML web resource. Implementation Step 1 : We have already added a web resource in our app, you can refer to my blog on  “ADD HTML page in Dynamics 365 Customer Engagement Apps”. Below is the screenshot of how it looks like Step 2: Here we have a project field, and every time the Project button is clicked the select Project form opens up as shown in the below image. Please note that the Project entity we are using is a custom entity and not the Out of Box project entity Step 3 : When the Project is selected from this and the Add option is clicked, the name of the project will be shown in the “Select Project” field on the HTML web resource. Step 4: The HTML code for this is here.  In the HTML code there is a reference to an external JavaScript file which handles the logic to open the lookup tab and set the name of selected project as seen previously. You can find the JavaScript code here Note: In the referenced HTML code, for the Layout button we have added an “on Click” event which is not present in the referenced JavaScript code.  So while using the referenced code, please make sure you remove that reference from the HTML or add another function that you would like to call. Below shown in the code snippet that needs to be modified <input class=”form-control” id=”selectedProjectRelatedLayout” type=”text” placeholder=”Select Layout” readonly=””> 2.  In HTML file we have also added the reference to a JavaScript file which we have added as a JavaScript web resource in Dynamics 365 CE.  You will need to modify this reference  based on the web resource structure in Dynamics 365 CE. <!– Below mentioned are the CRM Reference files based on the hierarchy of Webresources created, the bottom two references will change according to your folder structure for Webresources in CRM–> <script src=”../../../../ClientGlobalContext.js.aspx” type=”text/javascript”></script> <script src=”../BusinessLayer/SafetyInspectionCustomization.js” type=”text/javascript”></script> Hope this helped!

Share Story :

Email Engagement to track email interactions from Dynamics 365 Customer Engagement

Introduction In this blog we will see how to use the Email Engagement functionality from Dynamics 365 Customer Engagement Pre Requisites 1. Dynamics 365 for Sales Implementation Step 1: To enable Email Engagement we can simply, navigate to Settings > AI for Sales > and accept the terms and agreements Once Accepted, we have to grant permissions for Email Engagement Here we must click on Grant Permission and provide consent on behalf of the organization as shown on the screen below Once configured correctly, the below message will be shown Step 2: Now let’s try sending out emails and tracking, when we create on new Email Activity, we get the following details Step 3: Here in this example we will look at how we can track if an email is opened. In “Set a reminder to follow up on this email”, we have set a reminder to remind us at a set time, and we have also added comments as shown below We also have other options in conditions as shown The reminders can also be changed/removed once it has been set Once the record is opened, appropriate cards are shown in the relationship section, as shown below Step 4: Once the reply is tracked in the system, the replies to the emails are also visible in the sent email timeline shown below Step 5: If there are any links, in the Email body, they are tracked, and the Link Clicks are also recorded, as shown Note: The opens and links clicks take some time to reflect in the system. Hope this helped!

Share Story :

Email Engagement to track email interactions using Dynamics 365 App for Outlook

Introduction In the previous blog we looked at how we can register Email opens, Link Clicks and View Replies to a mail in D365 Customer Engagement using Email Engagement. In this blog we will see how we can follow emails to use the same feature using Dynamics 365 for Outlook App. Pre-Requisites Dynamics 365 Customer Engagement Dynamics 365 App for Outlook Implementations Step 1: While composing an email in Outlook, before sending the email, we click on the Dynamics 365 App for Outlook sign Step 2: Before following an email, first we must track it. There are two options, we can either Track without setting the Regarding  Or “Set Regarding” on the mail  Step 3: Once tracked, click on the follow option as shown Step 4: In the next tab, click on “Follow this Email” Step 5: After following, a completion message will be shown After this, when the email is sent, the email will be tracked in CRM, along with email engagement details. Hope this helped!

Share Story :

Stay updated using the “Follow” Capability in Dynamics 365 Customer Engagement

Posted On March 28, 2019 by Clinton D'Mello Posted in Tagged in

Introduction In this blog we will take a look at how we can follow records automatically in Dynamics 365. As the name suggested when we follow any particular record, we can get details of that record in our activity feed. This can then be displayed on the dashboards in CRM. Following a record can also be done automatically based on come criteria. Implementation Step 1: For this demonstration we will look at a case where I would like to follow a lead only when the Rating of that lead turns to “Hot”. Step 2: First we create a workflow on Lead Entity as shown below Below is the configuration of Create Follow record properties Here on update of the field Rating, we check if the rating is “Hot”,  if true then to follow the record we create a follow record Step 3: Now we change the Rating of the Lead “Darren Parker” from “Warm” to “Hot”. Step 4: If we refresh the page we will see the Unfollow button is present, as the record is already followed. Step 5: In the View > Leads I Follow, we can see the followed Lead Step 6: If someone creates posts on this record, it will be shown on my timeline. Here I have added the Timeline view on the Sales Overview Dashboard and we can see I am able to view the post as this record is followed. In my next blog we will look at how we can create automatic posts to view specific details of the followed records on your dashboard. Hope this helped!

Share Story :

Create automatic posts in Dynamics 365 Customer Engagement

Posted On March 28, 2019 by Clinton D'Mello Posted in Tagged in

Introduction In this blog we will look at how to create automatic post based on criteria. In my previous blog we saw how we can follow records automatically, based on some conditions. Both these scenarios could be clubbed to use the system more efficiently Implementation Step 1: For this demonstration, we will create a post on a lead, when the Annual Revenue is updated and the value is greater than 5K. For this we have designed a workflow with the following configuration. In the Create Post, the properties are as shown below Step 2: Now when we change the Annual Revenue of a Lead above 5K, a post is created on the record as shown below Step 3: Now, if this lead is already followed and the Timeline view is set on the dashboard, we could also see these posts on the Dashboard as shown below Here in this case we, we have taken a simple example on creating posts, this could be configured as required in the workflow. To find more details follow my blog “Stay updated using the “Follow” Capability in Dynamics 365 Customer Engagement“. Hope this helped!

Share Story :

Create Folder Structure in SharePoint using MS Flows

Introduction: In this blog we will see how we can create folder structure in SharePoint for Leads when the record is created in CRM using MS Flows Pre Requisites: SharePoint Integration must be enabled for the required entities Implementation Step 1: Here in our Flows we have used “Create of a record(Leads)” as trigger condition. Step 2: Then we create the folder structure in SharePoint using the “Create File” action Here we will create a text file which can be deleted later if not required. Folder Path: /Lead/Topic_toUpper(replace(triggerBody()?[‘leadid’],’-‘,”)) Here “Topic” is Dynamics value and for the record ID copy paste the expression written above in the Expressions tab and add it at the end of the Folder Path. After we have created the folder structure if the file is not required we can delete the text file by adding the delete step as shown below Step 3: We will also store the Folder ID in a variable “FolderId” to use in the later steps Step 4: Now we will create the same folder structure in CRM (Document Location) Here for the parent site or Location we have we have added the GUID of the Parent Document Location site for Leads. We can get this from the URL of the Parent Document Location record from Advanced Find (Document Location Entity) Lead document location record URL: https://org.crm8.dynamics.com/main.aspx?etc=9508&extraqs=%3f_gridType%3d9508%26etc%3d9508%26id%3d%257b1957C431-5F15-E911-A96F-000D3AF29269%257d%26rskey%3d%257bF5B008AC-07D9-4554-8509-2C05767BFF51%257d&histKey=17520860&newWindow=true&pagetype=entityrecord&rskey=%7bF5B008AC-07D9-4554-8509-2C05767BFF51%7d#371473802 Step 5:  Similarly we can also create sub folders within the main folder as per the requirements Hope this Helped!

Share Story :

How to add Insights based News on CRM Dashboards

Introduction In the blog we are going to see how to add Insights based News related to Companies/People on the Dashboards in Dynamics CRM Pre Requisites Insight, powered by InsideView Dynamics 365 Customer Engagement Implementation Step 1: First we go the dashboard we want to customize and we add a web resource with the following details Web Resource: iv_/webpages/insights_dashboard.htm Name: WebResource_WebResource_insightdashboard Label: Insights Dashboard Also don’t forget to keep “Visible by default” as “Checked” Step 2: Now when we see the dashboards we will be able to see Insights news related to Companies/People Step 3: Additionally we could also add Companies/People to the watch list and we will be able to see news related to them on the dashboard by switching to the specific Watchlist Hope this helped!

Share Story :

Filter Customer Type field to display only Accounts in D365 V9.0 using JavaScript

Posted On December 25, 2018 by Clinton D'Mello Posted in Tagged in

Introduction: In this blog we will see how to filter customer type field in Dynamics 365 to only show Accounts/Contacts dropdown. Implementation: Step 1: For demonstration purpose we will filter to only show Accounts. In the below image we can see that we have  a Customer type field which allows to choose from Contacts as well as Accounts. Note: Here accounts are called as Companies. Step 2: To display only Companies in the dropdown we register an event on Form Load. Here we are working on the Contacts form, hence we first write a JavaScript code to filter the lookup to show only companies. Below shown in the code: Code: var oContactFormCustomization = { setCustomerLookupToShowCompany: function (execContext) { var formContext = execContext.getFormContext(); if (formContext.getControl(“parentcustomerid”)) { var company = formContext.getControl(‘parentcustomerid’); if (company.getEntityTypes().length > 1) { company.setEntityTypes([‘account’]); } } }}; We add this script in CRM JS Web resource and add the library on the Contact form Properties Below shown is the Handler Properties Once this is done we can see when the form loads the scripts executes and we can now view only the Companies and not the Contacts Hope this helped!

Share Story :

Set Field Visiblity based on Security Roles in Dynamics 365

Introduction: In this blog we will demonstrate how to set visibility of a field in Dynamics CRM based on Security Roles using JavaScript. Implementation: Step 1: First we create a security role, Here for our demonstration I have created a Blank Security Role with the name “CustomEditAccess”. Copy the GUID of the security Role as this will be used later in the Code. Step 2: If the user does not have the custom security role that we have created we will hide the Parent Account field else we will show the Parent Account field. For this first we go to the Form Editor and set the Visible by Default to “No” for the field “Parent Account” Step 3: Create a new JavaScript Web resource  and add the following code: var accountFormCustomization = { customEditAccess: function (execContext) { debugger; var formContext = execContext.getFormContext(); var userSettings = Xrm.Utility.getGlobalContext().userSettings; //Get Security Roles of the current User var securityRoles = userSettings.securityRoles; //Below is the GUID of the Security Role “CustomEditAccess” var securityRoleId = “B9E23C5A-F5F9-E811-A96C-000D3AF29D99”; for (i = 0; i < securityRoles.length; i++) { //If current User contains the Required Security Role if (securityRoles[i].toUpperCase() == securityRoleId.toUpperCase()) { //Field should be Set to Visible formContext.getControl(“parentaccountid”).setVisible(true); }}}} Note: Here we have set the visibility of the Parent Account(parentaccountid) field to “True” to show the field on the form. Step 4: Once this is done we register an Event On Form Load, as shown below: Remember to pass the Execution context as the first parameter Step 5: Once this is done when the form is loaded, the script will check if the User has the required Security Role, if yes then the “Parent Account” field will be shown else it will be hidden by default. Tip: Here we have hardcoded the GUID of the security role, what we could also do if fetch the GUID of the security role based on the Name of the Security role and then follow with the Hide/Show visibility logic. Conclusion: This is another alternative to field level security and this can be implemented if you find Field level security too complex as your requirements in the organization grow.

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange