Send a Dynamics 365 Email using C#

We will go through an example of sending an email in Dynamics 365 using C#. We have a contact in Dynamics 365 called Bob Smith. We will send the email to him. First, create a new console app: Using NuGet, add references and then the using statements: using Microsoft.Xrm.Tooling.Connector; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Query; Now add the code. We will first get the current user using WhoAmIResponse.  Then, we will … Continue reading Send a Dynamics 365 Email using C#

Split USD Layout to Display Multiple Controls

In Unified Service Desk, you may want to display 2 hosted controls within the same USD tab at the same time. For example, let’s say USD loads and displays 2 hosted controls showing Google and Bing – the user can only see one hosted control at a time: We will go through setting this up so the hosted controls are side by side, i.e. a vertical split, and then change … Continue reading Split USD Layout to Display Multiple Controls

Unified Service Desk – ExecuteOnExpressionTrue Action

The ExecuteOnExpressionTrue action in USD is useful if you would like to check conditions before executing actions. For example, let’s say we have a navigation rule that opens a contact. If the contact’s city is New York, we want to open a website for the nyc.gov. To do this, we will create an ExecuteOnExpressionTrue action on opening of the contact (BrowserDocumentComplete event). The ExecuteOnExpressionTrue does not exist for this contact entity, so we … Continue reading Unified Service Desk – ExecuteOnExpressionTrue Action

Deploying a Plugin Across Different Dynamics 365 Environments

A common scenario with plugins is they will be developed in one environment, then tested in another environment and then deployed to production for use. Here we will show how to deploy the plugins across different environments. Let’s say we have a plugin that updates the description of an opportunity when it is created that we want to deploy from a dev environment to a QA/test environment. First we will … Continue reading Deploying a Plugin Across Different Dynamics 365 Environments

Unified Service Desk – Entity Search

In Unified Service Desk, there is the concept of Entity Search. These allow you to query Dynamics 365 through FetchXml in order to retrieve data. You can use Entity Search in Windows Navigation Rules and in the DoSearch action of the CRM Global Manager. You can also call Entity Search through code. Entity Search is useful to retrieve data that is not currently on the USD form, but exists in … Continue reading Unified Service Desk – Entity Search

USD – SetWindowProperty Action

The Unified Service Desk SetWindowProperty action allows you to set the Window state of a USD application. To use it, we will create an action that runs off DesktopReady, so it will run with USD loads. Go to DesktopReady: Create a new action call. Note the options for SetWindowProperty are: maximized minimized normal We will be setting USD to be maximized on load: Start USD. It will now be loaded … Continue reading USD – SetWindowProperty Action

Using the Unified Service Desk Generic Adapter for CTI

Unified Service Desk contains functionality for Computer Telephony Integration (CTI). Here we will go through an example of using the USD Generic Listener with a sample application to simulate an incoming phone call. To set up the generic listener, go to USD in Dynamics 365 and create a new Hosted Control. To install the phone call simulator, go here and download the Sample CTI application: Extract the files, and you will … Continue reading Using the Unified Service Desk Generic Adapter for CTI

Unified Service Desk – Pause Action

In Unified Service Desk, the Pause action pauses the execution of an action without blocking message processing. This is useful if you are waiting for the application you are integrating with to complete a task. Here we will go through an example of using this. Let’s say we have a hosted control of type CRM Page. We would like to display a web page, wait for 10 seconds, then display … Continue reading Unified Service Desk – Pause Action

Checking IsDirty in Dynamics 365 using JavaScript

In Dynamics 365, a user may change field values on a form. A common development requirement is to determine if the form is in a “dirty” state. Here we will go through an example of how to check for this using Xrm.Page. We will check if any fields on the account record have changed. We will run our check by pressing a Submit button in the toolbar, before and after … Continue reading Checking IsDirty in Dynamics 365 using JavaScript

Deploying USD Customizations to Client Workstations

In Unified Service Desk, after you create customizations such as custom hosted controls, you will need to deploy these to each USD workstation so every user has the latest code. You could do this manually, copying the code to each workstation, or you could take advantage of the automated customization deployment functionality within USD. First, go to https://blogs.msdn.microsoft.com/usd/2015/11/19/customization-files-in-unified-service-desk/ and download the USDCustomizationPackageCreator.zip file. Note this is an unsupported method of generating the customization … Continue reading Deploying USD Customizations to Client Workstations