USD – Expand / Collapse Panels.

USD contains panels on the left and right side, useful for lots of things including showing account overview information, maintaining random notes or as an area to hold the agent scripts.

I have found that it is sometimes helpful to be able to automatically expand or collapse these panels, when, for example, a session starts or a user closes a tab.

The steps involved are quite straight forward. The steps are;

  1. If not already available create uii action on “main” hosted control for SetVisualProperty.
  2. Create an action to expand (and close) the panel.
  3. Add the action call to appropriate positions.

Step One – Create uii action SetVisualProperty.


This may already exist but if not you’ll need to create!

Navigate to the hosted control used for the main layout in USD. In my example it is called “Main Layout”, check that there is a UII action called “SetVisualProperty”. If it doesn’t exist create one.

Step Two – Create an action to expand (and close) the panel.

Now you will need to create an action (or two). One to expand the panel and one to close it.


  • Hosted Control = Main Layout
  • Action = SetVisualProperty (As created above)
  • Data = “elementname=RightPanelExpander, propertyname=IsExpanded, value=true”

In this example the elementname is “RightPanelExpander”, as it is the right panel I wish to expand.

To expand the left panel you’ll need to use “elementname=ExpanderSessionDetails“, not quite as obvious as RightPanelExpander!

The value setting of true will force a panel to expand, a value of false will collapse it.

Step Three – Add the action call to appropriate positions.

Finally you’ll need to add the action to a suitable event. In the example below the right panel close action has been added to the closing event of a hosted control. (In my example randomly called Fish!)

I’ve included this example as when trying to find an event to hand the close of the panel from the “Closing” event didn’t exist out of the box! Be aware of this, as you might need to create a suitable event. But generally speaking triggering the open of a panel from a session start or selection of a toolbar button should be quite straight forward.


16 thoughts on “USD – Expand / Collapse Panels.

  1. Pingback: USD – Agent Scripts | NEIL PARKHURST

  2. Pingback: Learning USD | My experiences with Microsoft Dynamics CRM

  3. Pingback: USD – Agent Scripts - Microsoft Dynamics CRM Community

  4. Pingback: Learning Unified Service Desk - Microsoft Dynamics CRM Community

  5. Hi sir, Like you have chosen “Fish” as the hosted application in the Event area, but what it means in general like which hosted control you are talking about (can we chose contact/account instead?)


    • Yes! Fish is the name of the hosted control I had displayed in the right panel. It could be any control. Including contact etc. All I am showing is that when the user closes the tab (hosted control) in the right panel I trigger an action to collapse the right panel. Hope this helps.


  6. one more query, can we add two action calls to one button on tool-bar for two different actions like if I want to add “notes” against case as well as against contact contact entity on the click of the same button by adding necessary codes on different action calls.


    • Yes no problem with this. You are not limited by the number of actions. In your example, the only thing to be confident on is that you have the contact and case available in the session when you click the button to add the note.


  7. One more request, I guess you have cover lot of USD now using this platform, but some of the core missed things includes CTI (Generic Listener & all), interested to hear on this from you, as I believe that “CTI integration” is soul of USD. Thanks for such lovely Blog 🙂

    Liked by 1 person

    • Thanks.

      Documenting the CTI Generic listener is on my wish list of posts to write. I have implemented a test solution using it and extended slightly beyond the Microsoft walk through. (Which is good!)

      I also agree CTI integration is at the soul of using USD. Although on occasions you may find that the “CTI logic” is actually implements in the customers PBX / phone system. So how much is implemented in USD/CRM and how much in the phone system becomes a area for consideration. On the live implementations of USD I have completed we gained big benefits with CTI. Calling waiting, wrap up time (etc) was all handled by a front end onto Lync not USD.

      So far , I have only implemented CTI using the generic listener. I haven’t been lucky enough yet to have a project when we can devote the time to create a more bespoke listener. Unfortunately so far I have only implemented limited functionality to act as a demo solution. But I have configured actions to handle exact and multiple matches on incoming phone numbers etc. A future post maybe!


  8. Thanks for reply….In past I have also tried the Q-gate’s CTI 30 day trial package with wrap-up notes & other different functionality but I want to see how generic listener work, in case there are multiple matches. How we can offer the same to the client, eagerly waiting for your posts on the CTI scenarios 🙂


  9. Pingback: USD – The Book | Microsoft Dynamics CRM and Unified Service Desk

  10. Pingback: USD – The Book - Microsoft Dynamics CRM Community

  11. Hi Neil, any recommendation on how to adjust the width of the ExpanderSessionDetails panel? I can expand it just fine…I just don’t want to expand it so far!


  12. Pingback: Learning Unified Service Desk | Microsoft Dynamics CRM and Unified Service Desk

Leave a Reply to Neil Parkhurst Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s