Thursday, January 1, 2015

Microsoft Unified Service Desk (USD) Configuration 103 - Other Entities

In our 3rd post around configuring CRM, I'll go over the rest of the entities involved in setting up and using USD.  This post will be a great starting point and also a good reference point to definitions of some USD records that aren't used very often, but are important nonetheless.  Personally, I'd bookmark it and come back to it to remind yourself what each thing is used for and what configurations are possible out of the box.  Before actually getting your hands dirty with USD, a lot of these entities might seem pointless/useless, but that'll change over time as you get used to USD and want to configure more advanced features.  That said, let's get to work.

The entities we'll cover today:
  • Option
  • Window Navigation Rule
  • Entity Search
  • Entity Type
  • Configuration
  • User Setting
  • Scriptlet
  • Additional Agent Script Components


Additional USD Entities


Options - Key/value pairs for use with USD.  Say you have use a web service to pull some data from another internal application that you're hosting.  In your development environment, you connect to the development web service.  In production, you connect to the production web service.  You can easily change where your USD components connect to using Options.

Window Navigation Rules - Determine how USD will handle moving from one hosted control to another.  For instance if you're on an Account page and click on a phone call record in a sub-grid, what happens?  Does the phone call record open up right in that tab?  Does a new tab open?  Does the phone call record open outside USD?  This is determined by the Window Navigation Rules.

Entity Searches - Contain FetchXML and are used in conjunction with Window Navigation Rules. You can use replacement parameters here (we'll get to those shortly) so the Fetch is dynamic.

Entity Types - Used as a link between USD records and entities themselves.  A lot of records, Entity Searches for instance, need to be related to an entity.  Entity Types are these relationships.

Configurations - Used to limit what USD records are loaded per user.  This way you can easily have the USD application look and work differently for different user roles.  For instance, you can create a toolbar button to email a contact.  Maybe you only want that button visible to supervisors.  This way you can create the appropriate USD records and only have them visible to supervisors by assigning a Supervisor configuration, while users on the phones would have a Basic User configuration.

User Settings - Used to set values on a per-user basis.  They're just like Options, but are set per user.

Scriptlets - JavaScript to be used in a USD setting.  Their main use over the usual CRM web resources is to utilize replacement parameters.

Agent Script Components


In my first USD Entity post I touched on agent scripting, here I'll go into more details.  When you create agent scripting, it's separated into three components:

  • Agent Script Task
  • Agent Script Category
  • Agent Script Answer

Agent Script Task - These were talked about in the last post; they're the main steps in the scripts. Each script contains two pieces: Text and Instructions.  The Text contains what the user should say to the person they're interacting with and the instructions are notes to the user stating what they should do.  To go from one task to another, Agent Script Answers are used.

Agent Script Answers - These are answers to script tasks that can lead the user down different paths through the application.  For example, in the case of a phone call the user will need to do vastly different things based off why the person on the phone is calling in.  If the caller has an issue with a product, the user can click a button to open a Case.  If they have a quick question that can be answered easily, another answer can bring up FAQs for the user to look through.  If the caller wants to talk to a supervisor, another button can route the call.

Agent Script Task Category - These are used to group Agent Scripts records together to make them easier to find.  It's not actually used by the USD client at all.

Using all of the entities covered in this post and my 101 post, you can create a very rich experience for your USD users.  The out of the box example from Microsoft is just this.  There's no custom code, no DLLs to install, nothing 'special' that was added to make all of that work.  If you do want to create custom components, it's definitely an available option and something I'll be covering in the future.

And as always, if you have any questions about what I've covered today, let me know!

3 comments:

  1. Hi Aaron,

    How are you?

    I have one question regarding USD. In my one of scenario I have one requirement like I am rendering web page into USD and put two button like Create Session and End Session. On click of Create Session new session should create and on click of End Session all the USD session should be kill.

    So request you to please provide the feedback.

    Thanks
    Abhijeet

    ReplyDelete
  2. Hi Aaron,

    How are you?

    I have one question regarding USD. In my one of scenario I have one requirement like I am rendering web page into USD and put two button like Create Session and End Session. On click of Create Session new session should create and on click of End Session all the USD session should be kill.

    So request you to please provide the feedback.

    Thanks
    Abhijeet

    ReplyDelete
  3. To close a session, you use the Close action. This is on an action call that you'd create. Try connecting it to the hosted Control for your session tabs. What session are you ending though? The one related to the rendered webpage? If that's the case you might want to set the Close action to be related to something else, whatever you actually want to close.

    For the button to create a new session, you can just have that button open whatever pages are needed to start your session, and have a window navigation rule be related to that entity, capture it, and shoe it in a new tab. Something like this might help...it's not exactly what you're looking for but it's on the same path: https://community.dynamics.com/crm/b/crmandunifiedservicedesk/archive/2015/10/19/usd-creating-a-new-session.

    ReplyDelete