Category Archives: Dynamics 365
How to Export and Import Voice of the Customer Surveys
Introduction: This blog explains how to Export and Import Voice of the Customer Surveys. Steps to be followed: Step 1 : Go to the Survey that you want to export. (survey should be in published state) Step 2 : Navigate to Notes section and download both the files. Step 3 : Navigate to your destination environment where you want to import the survey. Go to Settings -> VOC Settings -> VOC Imports Click New Enter name for the import Open the download Survey Stored xml file with notepad and copy and paste the content in Survey XML to import. Save the record Step 4 : You can see the imported survey in Draft state. Open the record. Delete the automatically created Translations file from Notes section. Attach the downloaded Translation file in notes. Step 5 : Publish the survey.
Share Story :
D365 Retail POS Customization – Adding Custom Column to Picking and Receiving View
Introduction: In D365 Retail POS, if you want to customize anything you need Extension Points. Over-layering is completely sealed. So, now if you want add custom columns to your View which is designed using code you can do it using Custom column extension. Each view has its own custom column interface which you can import and use to add columns. You can view the available Views for adding custom columns in ‘Pos.Api.d.ts’ file. Scenario: In Picking and Receiving, Update view you want to view details of Product variants like Size, Color and Config for all lines. Steps: Open ‘ModerPOS.sln’ from K:\RetailSDK\POS. Navigate to Pos.Extensions -> SampleExtensions -> ViewExtensions. Create a new Folder ‘PickingAndReceivingDetails’. In Folder, Add a TypeScript file and name it ‘CustomPickingAndReceivingListColumn’. Add the below code in file. //Added new column size, color and config; Also, take care of existing column by mentioning it else it will throw error //Note: Summation of ratio should be 100 import { IOrderLinesListColumn } from “PosApi/Extend/Views/PickingAndReceivingDetailsView”; import { ICustomColumnsContext } from “PosApi/Extend/Views/CustomListColumns”; import { ClientEntities } from “PosApi/Entities”; export default (context: ICustomColumnsContext): IOrderLinesListColumn[] => { return [ { title: “Product Number”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.productNumber; }, ratio: 15, collapseOrder: 9, minWidth: 60, isRightAligned: false }, { title: “Description”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.description; }, ratio: 30, collapseOrder: 8, minWidth: 70, isRightAligned: false }, { title: “Size”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.sizeTranslation; }, ratio: 5, collapseOrder: 7, minWidth: 40, isRightAligned: false }, { title: “Color”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.colorTranslation; }, ratio: 10, collapseOrder: 6, minWidth: 40, isRightAligned: false }, { title: “Config”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.configurationTranslation; }, ratio: 10, collapseOrder: 5, minWidth: 40, isRightAligned: false }, { title: “UOM”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.unitOfMeasure; }, ratio: 10, collapseOrder: 4, minWidth: 40, isRightAligned: true }, { title: “Quantity Ordered”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.quantityOrdered; }, ratio: 10, collapseOrder: 3, minWidth: 40, isRightAligned: true }, { title: “Quantity Received”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.quantityReceived; }, ratio: 5, collapseOrder: 2, minWidth: 40, isRightAligned: true }, { title: “Quantity Received Now”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.quantityReceivedNow; }, ratio: 5, collapseOrder: 1, minWidth: 40, isRightAligned: true } ]; }; Open manifest.json file and Add the View to manifest.json File inside the Views section. “PickingAndReceivingDetailsView”: { “orderLinesListConfiguration”: { “modulePath”: “ViewExtensions/PickingAndRecivingDetails/CustomPickingAndReceivingDListColumnExtension” } }, Build and Run the POS.
Share Story :
Email in Unified Interface as a separate app in D365
Introduction: Email in Unified Interface Dynamics 365 is also available as a separate app! Here’s how you can get it. By default, the new email capabilities are already available in the Unified Interface of D365. But you can have it as a separate app if you’d like. Installing the App: Here’s how you get it – 1. Navigate to the Instance Picker on the D365 Admin Centre, then go to Solutions area on the instance picker. 2. Once installed, it will appear as Installed. Provide Users access to the app & access it: The following security role should be provided to the users for them to access it – You can access the application from here. And here it is – Just a better way around than going into UCI and then looking for emails.
Share Story :
Enable SharePoint for Dynamics 365
Introduction: If you try to configure SharePoint with dynamics 365 sales, it will pop up with “Microsoft Dynamics 365 list component is not installed”. This error used to come in earlier version of dynamics CRM but now we are start receiving message to install the list component. Description: As it is explained in the introduction you need to install the List Component. If you follow steps provided in alert box you will not able to configure. As provided steps are for on premise version and would not install online. So, this will not help us as our environment is online, now what to do. Solution: You need to enable the server base SharePoint integration to configure the SharePoint. Go to setting ==> Document management and follow the steps provided. Once server-based configuration is completed you need to enable it for the document management setting. Provide the value valid SharePoint url.
Share Story :
Integrating Twilio with D365 CRM Online to send SMS Messages using Microsoft Flow
One of the most popular ERP systems that is amazingly popular among all small and mid sized businesses is Microsoft dynamics NAV integration. Installing CRM NAV integration is extremely easy and simple and its interface is so easy to understand that anybody can learn it within no time. This is the reason NAV integration has earned a good reputation in the market and people love using it as well. In today’s cloud based environment if you upgrade dynamics NAV you will surely have an edge in your business as compared to your peers. With improved functionality enhanced capabilities and new features your business productivity will be boosted multiple times reducing your overall business cost improving customer service. Introduction: SMS Messages can be sent from a D365 CRM Online to an individual using the Twilio. In this blog, we will see how we can send SMS Messages from CRM using Twilio and we will be using Microsoft flows to achieve this. Pre-Requisites: Twilio Account D365 CRM Microsoft Flow Steps to be followed: Dynamics 365- Create two fields in Contact Entity, named as a. Send SMS b. SMS Sent Data Type (Two options) Twilio- To Connect Twilio in Microsoft Flow You require: Twilio Account Id Twilio Access Token Steps: Sign in to your Twilio account Click on Dashboards Under Project info tab you can find the Account SID and Auth Token (Copy this value and paste it somewhere you will require this values in MS Flows) Setup Phone Number. a. Click on “All Products & services” b. # Phone Numbers MS Flow Login to Microsoft flow. Select Create from Blank. Select Dynamics 365 connector.a. Select when a record is updated trigger.b. Select the organization name and Entity. Select “+New Step” and “Add a condition”a. Enter condition in “Edit in advance mode”.Condition: @and ( equals(triggerBody()?[‘cf_sendsms’], true), equals(triggerBody()?[‘new_smssent’], false) ) If Yes a. Enter Twilio Account Id which is Acoount SID and Twilio Access Token which is Auth Token. b. After Connection is being established. Enter the From and To Phone Number. Enter Text message which you want to send. Click on “Add a connection” –> Dynamics 365 – Update a record. Overall Flow:
Share Story :
HTTP POST Requests using Microsoft Flows
Introduction: In this blog we will demonstrate the working of HTTP Request -Response in Microsoft Flows. Implementation: Step 1: In our example we will make a POST call to our Microsoft Flow so that we can further apply some logic in Flows. The POST request contains the following data. JSON: [{ “name”: “TestName”, “Address”: “TestAddress” }] Now we can use online editor tools to create a schema file of the above JSON. (https://jsonschema.net/). Submit the JSON data and the schema will be generated as shown below. Step 2: Now we go to Microsoft Flows,create a new flow and add the first step as “Request” as shown below: Step 3: We then paste the JSON schema that we earlier saved In the “Show advanced” options we have to add the following details: Once that is done we select a condition. In our example we will pass a JSON Array hence we will loop through each item. Here we add a apply to each condition as shown And we add a dynamic output from the previous stage Then inside the apply to each loop we can add any action and take the values passed from the POST request. For this example I create a new account in CRM with the name and address provided as shown below Step 4: Now when we save this flow a URL is generated in the First HTTP Request step. We test the flow by calling this URL from Postman. The URL generated is show below Step 5: Now we open Postman and write the request as shown below Also in the Header section we add the following details Step 6: Once we click on Send the two records are created in CRM as shown below Conclusion: We can call this URL from outside Dynamics CRM as well and using this we explore many more functionalities provided by Microsoft Flows to achieve the desired outcome.
Share Story :
CRM Option set in Power BI
Introduction: In this article, we will learn how to dynamically use Dynamics 365 CRM option set/ CRM picklist in Power BI. As you may be aware that CRM picklist stores Integer value in the backend and not the actual display name. So, whenever you query an entity with picklist fields in Power BI you will get picklist Integer value and not the display names. Pre-requisite: The option set/picklist should be a global. You can check the IsGlobal property for the picklist field in the Metadata Browser. In Metadata Browser, when you expand Get Options for OptionSet there is a (+) button. Click on that button and option set properties will appear. Steps to get Option Set Values: Login in to Power BI Click Get data Select Odata Feed as the connector Enter the OData URL for querying the Global option sets and click Ok. URL Format: https://orgname.api.crm.dynamics.com/api/data/v8.2/GlobalOptionSetDefinitions(OptionSetMetadataId) Example: https://contoso.api.crm.dynamics.com/api/data/v8.2/GlobalOptionSetDefinitions(ae2a3b9d-395a-4dbd-9abc-c32aeb10888b)Note: OptionSetMetadataId is highlighted in the Pre-requisite screen capture Once the query is loaded, the Edit Query window will pop up. Click on Advance Editor and modify the code as below (Add null and MoreColumns parameter) and then click Done: let Source = OData.Feed(“https://fasttrackleasingllc.api.crm.dynamics.com/api/data/v8.2/GlobalOptionSetDefinitions(ae2a3b9d-395a-4dbd-9abc-c32aeb10888b)”, null, [MoreColumns = true]) in Source After loading, an additional row will be added to the table named More Columns. Click on the Record field beside More Columns. A new view of the table will be loaded as shown in the below screenshot. Right Click on List and Select ‘Into Table’ Once the table is loaded, expand the Value column by clicking on ‘Expand to New Rows’ Expand the Value Column and select ‘Value’ and ‘Label’ Columns. Click Ok. Expand the Value.Label Column and select ‘UserLocalizedLabel’ Column. Click OK. Expand the Value Column and select ‘Value’ and ‘Label’ Columns. Click Ok. Finally, we get the Option set Code (Value.Value) and Option Set Value (Value.Label.UserLocalizedLabel.Label) from CRM. Conclusion: As the above method creates a separate table for option set, you have to add relationship (1-*) between the newly created Option Set table and the Main table.
Share Story :
Extend Schedule Board Filter Section in D365 Field Service/PSA
Introduction: This blog explains how to enable custom field in Filter section of Schedule Board in D365 Field Service & PSA. Scenario: Need to filter resources on Schedule Board by custom fields other than standard fields like characteristics, roles, business units, terriotries etc. Pre-requisites: Configure 2 Custom Entities with below Details 1. Crew Entity with Name as text field. 2. Crew Member Entity with Crew and Bookable Resource as lookup field. Steps: Below are steps to configure custom field “Crew” of type lookup in filter section of Schedule Board. 1. Open Schedule Board to Customize 2. Customize the Filter Layout Template Open Filter Layout as highlighted below. Insert below code above controls closing tag. <control type=”combo” source=”entity” key=”ResourceCrew” label-id=”Crew” entity=”cf_crew” multi=”true” /> Click “Save” button to save the changes to Schedule Board. Crew field will be shown in filter section as highlighted below. 3. Customize the Retrieve Resources Query. Open Query Template as highlighted below. Insert below code in Query template above closing tag of filter. Click “Save” button to save the changes to Schedule Board. 4. Click “Apply” button to save the changes to Schedule Board. 5. Select Crew and click Search button in Filter Section and Resources are filtered as below Refer this link for more information. Conclusion: This blog explains steps to filter resources based on custom entities in Filter section of Schedule Board in D365 Field Service and PSA.
Share Story :
Estimated Revenue field behavior of Opportunity Entity
Overview: Now, you often must have noticed that the field Est. Revenue on Opportunities is either locked or is open to enter value into it. There’s a reason for this as well. Revenue Field: So basically, there is a field on the Opportunity that drives this operation. It is called as Revenue field! System Calculated- If you select System Calculated, the Opportunity Lines’ Total Amount will add up to the Est. Revenue field and the field will be locked for you. User Provided- If you select User Provided, the Est. Revenue field will be unlocked with whatever value it already has and you can change the same. It will no longer be driven of the Opportunity Lines.
Share Story :
Custom Document Structure in Dynamics CRM and SharePoint
Introduction: In this blog we will discuss some extended custom functionality of uploading documents to SharePoint and CRM. Purpose: By default, document location is enabled for some OOB entities like Accounts, Contacts, Opportunities and by default document location gets created for records on first time load of Document Location associated view. This is the OOB functionality but sometimes we might need some different structures for document storage according to the organization need. In this blog, we will discuss one scenario where we can have a need to customize this Document Locations and automatically create a predefined folder structure in CRM and SharePoint which will help us to store our documents according to needed structure. This functionality is described using the below screenshots. Open Documents view for any record. As you can see by default, document location gets created and documents get stored in highlighted location. We have created a custom button which takes parameters and create or update the folder structure. On click of Custom button, window opens where you can enter values and click Ok. Type: Create or Update Structure: Tree or Acyclic (Depends on Organization) URL: This is the SharePoint URL Site where you want to create folder structure. You can see the predefined folders getting created. You select the folder you want to upload the file. Chose file and click Ok. In below screenshot you can see the file gets uploaded in the selected folder. Similarly, you can see in SharePoint how the folders get created and file automatically gets uploaded.