Hello! This is the second part of my Unified Service Desk Agent blog series. Apologies for the long wait, as I have been in a client engagement overseas and didn’t have my desktop which hosts my Dynamics CRM virtual machine.

In the first part of the series, I covered the installation instructions in an on-premises environment. Let’s have a quick recap of what I have discussed so far.

In the first installment of this series, I covered the installation instructions for:

  1. Unified Service Desk Agent
  2. USD sample application (specifically the base sample application)

Now that the above are installed, let’s take a quick tour of what the base application looks like. On my virtual machine’s desktop, I can see the following icon created after the installation of the said application.

windows server 2012


Double-clicking the icon highlighted above will launch the Unified Service Desk Agent.

residential data


At the top of the USD window, you’ll notice three menu items.

usd menu items


Clicking on the menu items individually will launch a tab on the USD window.

usd tabs


Notice that the interface does not stray away from Dynamics CRM on a browser.

my active cases - usd


In the above screenshot, a call center agent can click on an Active Case or an Account which will open in its own tab.

active case


In addition to the newly created icon on the desktop, Dynamics CRM should now have a Unified Service Desk menu item under Settings.

unified services desk under settings


And three solutions added…

three solutions added


In this installment, I’ll cover the concept of Hosted Controls in USD as this is the basic building block of constructing USD applications.


Hosted Controls

Hosted Controls are components used to build an entire USD application and can be found in the form of tabs, menus, panels, scripts, toolbars, etc. If you come from a programming background, Hosted Controls are essentially controls just as with Visual Studio – any visual element during design time that you drag onto a form (which is also another type of control by the way) that responds to a specific set of events and initiate actions (methods) that you can manipulate. For non-programmers you don’t have to worry as the beauty of building applications in Unified Service Desk can be absolutely code-free.

Hosted Control Types

There are two Hosted Control types required to build a USD agent application:

  1. Connection Manager – manages connections to the CRM server
  2. Global Manager – core component which manages configuration and session data, navigation rules between agent application and the CRM server

Only one instance for each of these Hosted Control types is required to build a USD agent application.

The following are the rest of the built-in Hosted Control types and their roles:

  • Agent Scripting – defines a “call script” (instructions to the call center agent)
  • CRM Dialog – defines a dialog window within the Unified Service Desk
  • CRM Page – loads a URL or CRM page
  • CTI Desktop Manager – enables telephony integration
  • Debugger – provides debugging info: process and code execution in the agent application
  • KM Control – displays knowledge base articles
  • Listener Hosted Control -enables configuration of a custom listener for auditing, diagnostic and trace logs
  • Panel Layout – defines the arrangement of panels in USD; holds various hosted controls
  • Session Lines – allows configuration of session overview information in the agent application
  • Session Tabs – displays customer information in individual tabs
  • Standard Web Application – displays non-CRM pages
  • Toolbar Container – holds toolbar menu buttons
  • User Notes – provides agents with a “scratch pad” to type in notes during an interaction
  • USD Hosted Control – used to create a custom hosted control
  • CCA (Customer Care Accelerator) Hosted Application – enables to host an external application/web app in USD and allow interaction using UII adapters


Click the following link for the different Hosted Control types used in the above screenshot: https://www.microsoft.com/en-us/dynamics/crm-customer-center/unified-service-desk-base-package.aspx.

Let’s go back to the following screen capture…

hosted controls in usd


The window shown in the above screenshot is composed of multiple Hosted Controls that are fed with CRM data.

This blog is not exhaustive resource for the many types of Hosted Controls available to you, but if you wish to know more about the different types these Hosted Controls, visit https://msdn.microsoft.com/en-us/library/dn864918.aspx.

In the next part of the series, we will look at how we can make good use of the different Hosted Controls in a USD agent application.