I was recently asked to write a blog post for a special interest group at CRMUG. In it I provide an overview of Unified Service Desk (or USD for short). USD is a powerful Dynamics 365 tool but one that is often overlooked or misunderstood.
If you are part of CRMUG you can also sign up for a webinar in which you can gain more of a introduction to Unified Service Desk and also see a live demo. Plus there will be a Q&A session afterwards. You can register now on the CRMUG web site. It is on Tuesday 7th Feb 2017, 1pm – 2pm (EST) …. Or 6pm if you are from the UK like me.
You can register here.
Before I dive into USD I’d like to introduce myself …. My name is Neil Parkhurst, my career in IT started back in the 1980s. Since 2008 my focus has been Dynamics CRM, now known as Dynamics 365. I’ve been working with USD since early 2014 and I’ve delivered several projects using it. I often blog about USD and highly recommend it. I became a Microsoft MVP in October 2016, I believe, in part, as recognition of my efforts with Unified Service Desk.
To help give my ramblings some focus I’ve asked myself several questions, which I’ll then try to address in turn. Collectively these answers will hopefully provide a solid introduction to USD.
- What is USD?
- Who is USD for?
- Why not “just” use the standard web client?
- How does USD work?
- What do I configure?
- How do I get started with USD?
What is USD?
Describing USD is surprisingly hard. Unified Service Desk is a configuration framework that is built upon the User Interface Integration (UII) frame work. It’s an evolution of an earlier product known as the Customer Care Accelerator (CCA).
Clear??? Probably not, let me address this question in a slightly more user focused manner.
USD is an add-in to Dynamics 365 that provides the ability to quickly create desktop applications, these may be purely CRM applications or may integrate numerous line of business systems within one “container”. This is cool as it means users can then control all of their work across multiple applications from one interface.
USD achieves this by making use of sessions. A session is simply a collection of related tabs. Each tab can contain a CRM page, web page or other applications outside of Dynamics 365.
USD also supports the orchestration of business processes, making use of automation capabilities and agent scripts to aid potentially complex business processes. This might involve automatically loading multiple applications (tabs) or it might involve using agent scripts to provide contextual questions and answers to speed handling of customer queries.
Who is USD for?
You will often see Unified Service Desk described as a tool for quickly building applications for call centres. It is very true that features like telephony integration, session management and agent scripting are very important in call centre environments.
But, don’t be mistaken, USD can provide benefits to any desktop user.
Contact Centre agents face some specific challenges often related to the volume and complexity of tasks they need to perform. They need to quickly obtain a 360 view of the customer to be able to efficiently handle any potential query. Plus, they may need to handle multiple interactions at the same time.
Your customer facing contact centre guys will benefit from USD but many users in back office functions also face these same situations.
A real-world example might help here …. I implemented USD in a company providing savings and investment products. The contact centre was staffed by people who responded to customer queries on the phone or from other channels such as questions raised on the company’s website. These customer service agents would log the contact with the customer in CRM (using USD). And would create cases for any requests that couldn’t be fully completed on the telephone.
In the back-office admin staff would be allocated these cases and opened them up in USD. Opening a case would automatically also open the customer record and multiple legacy policy management applications. Opening the policy management systems in USD meant we could automate the authentication process and also instantly navigate to the customer’s policy. This saved time and avoided errors, as previously operators had to manually jump from application to application re-querying the same customer in each.
In my example I hope you can see that we had two types of users, those that were customer facing in the contact centre but also admin teams who rarely contacted the customer but also gained significant benefit from USD.
Why not “just” use Dynamics 365?
Of course, much of what I’ve described can be completed using “just” Dynamics 365. But you’ll need to extend Dynamics with bespoke or ISV provided solutions.
Implementing some features like agent scripting or session management can be a costly development task. I know this as I worked on one project when a .net developer tried to replicate just some of the basic USD features, he gave up after 6 weeks and never delivered a working solution. Whilst using USD, with no programming skills, I created the same functionality in a couple of days.
Therefore, USD provides a framework to reduce the development complexity and therefore reduce costs. And as a by-product deliver changes into the business faster.
How does USD work?
USD is a client side application, by this I mean it runs on the desktop. But that doesn’t mean the configuration and maintenance of USD is conducted at a desktop level. (Something that could present an admin nightmare for large organisations.)
When we install USD a couple of solutions get added into your Dynamics 365 instance. Doing this creates several entities. All of the configuration of USD is then simply meta data held in these entities. It is often the case that entire applications can be created with minimal code.
This configuration information is automatically cached to the local clients as the users open USD. One of the advantages of USD being a client side application is that it opens up options for connecting to telephony systems and legacy line of business applications at a client level. Something that might not be possible from purely server side “code”.
When advanced changes are needed, code can be used to extend the capabilities of USD by creating your own hosted controls or adapters, these might be required to support automation of legacy applications etc. Even these extensions can be loaded into the database as a zip file. And just like the other configuration data your executable code is automatically cached to the USD client.
What do I configure?
Having a framework helps to reduce development costs and also makes future maintenance simpler. This configuration being data based means a large reduction in the amount of code, creating the ability to quick change the solution.
I have already explained that much of the USD configuration is simply data. This data describes the hosted controls (objects), actions and events that make up your application.
Plus, then we can additionally define things like toolbars or agent scripts. And trigger our actions from selecting a button on a toolbar or an answer in an agent script.
Another configuration feature is “Window Navigation Rules”. These are the rules for when and how to open tabs. For example, when I click on a contact from a search screen, as session should open containing that contact. But when I click on a contact from the account form the contact tab should open within my current session.
Initially, people who configure USD have to learn quite a few terms / concepts. But once learnt all of the configuration can be complete really quickly.
How do I get started?
You’ll first need to confirm that you’re CRM / Dynamics 365 license includes Unified Service Desk. If you are on the old-style CRM licenses, then you’ll need a Professional or Enterprise licenses. Or with Dynamics 365 you’ll need an Enterprise Application License for Sales or Service. (Or an Enterprise Plan.)
You can download USD from the Microsoft here. One nice thing you’ll find is that when you run the server install routine you’ll get an option to install a sample USD solution. (I’ve shown one below.) Installing the sample application is a great way to get started. The sample application will allow you to get up and running quickly. I’ ve also found it very useful to look at its configuration to help learn how “stuff” works.
USD is a powerful and flexible configuration framework, meaning you will have to invest some effort into learning how to configure it. This process is helped by various blogs and training guides. (Some of which I created!)
Microsoft walkthroughs – Microsoft have published a number of step by step guides that will help you get started with USD.
My training videos – I have created a number of training videos, collectively they will show you how to build a complete working application. I’m certainly no Stephen Spielberg but they might help.
Microsoft blog – Microsoft have an official blog which includes some great posts on USD, many written by the USD product team.
USD – The Book – In my “book” I’ve collected together all of my blog posts about USD. Many of my posts will include step by step guides on how to implement particular features.
After the initial learning curve, I think you’ll really enjoy using Unified Service Desk, let me know how you get on. I love hearing about people’s experiences with USD. Thanks Neil. J