USD – Advanced Find

I recently had a requirement in Unified Service Desk (USD) for Microsoft Dynamics CRM 2016 to implement advanced find capabilities into my interface.

Advanced find is a useful tool but in terms of USD it presented me a problem! My USD interface was pre-configured to open sessions for common entities like contact, account and lead. If the user selected any of these from the advanced find results I would want a session to open and my agent scripts (etc) to kick in as normal. BUT, with advanced find I can’t control what entities the user may view. It may even be that someone adds a custom entity that I am completely unaware of. So how could I cope with this diversity in USD?

In this post I will explain how I achieved this ….

  1. Create a hosted control to hold the advanced find.
  2. Create an action
  3. Create a toolbar button
  4. Create some window navigation rules

Step One – Create a hosted control

I wanted a separate window to pop-up for my advanced find. So I created the hosted control shown below.

Field Details
Name and display name I called my hosted control “Advanced Find”
USD component type CRM Page
Allow Multiple Pages No
Hosting type IE Process (Always use IE process!)
Application is Global Selected as the tab is global
Display Group I opted for FloatingPanel, you could also try MainPanel or RightPanel.

Step Two – Create an Action

I would need an action to load the advanced find dialog in my hosted control.

Field Details
Name I called my action “Advanced Find – Find”
Hosted Control “Advanced Find”, the one we created in step one.
Action Find
Data “advfind”, this will load my advanced find dialog

Step Three – Create a toolbar button

I already had a main toolbar that contained options to search by account, lead etc. So I added a toolbar button to that. My button looked like this;

Below you can see what my button looked like. Notice that the show tab has been set to “Advanced Find” and that I have added the action created in step two.

I uploaded a search icon as a web resource and used that in my toolbar. This is optional, you could just leave the image line blank.

Step Four – Window Navigation rules.

This bit confused some people! You may need to tweak these rules to fit into your existing navigation rule structure.

The behaviour I decided I wanted was that is a user selected an account, contact or lead I would open a session as normal. But if they selected anything else from the advanced find tab the entity would load outside of USD. Allowing them to select anything but also meaning I kept control of my key entities.

The sequence was important. I need to check for the three entities I was interested in first. Then and only then fire a default rule that would load anything else in a tab outside of USD.

My rules are shown below;

My account, contact and lead rules all followed the same structure.

Field Details
Name “Contact”, “Account” or “Lead” from Advanced Find
Order 1, this is important! I needed these rules to be evaluated first. So they all had the order of 1.
From Advanced Find, as this is the logic I want to trigger from the advanced find dialog in my advanced find hosted control.
Entity “Contact”, “Account” or “Lead”
Route Type Popup
Destination Tab
Action Create Session
Target Tab / Show Tab Both set to hosted control for either Account, Contact or Lead.
Hide Navigation Bar Yes

Next I needed a rule to open anything else outside of USD.

Field Details
Name ANYTHING ELSE from Advanced Find
Order 2, this is important! I needed this rule to be evaluated AFTER the first rule.
From Advanced Find, as this is the logic I want to trigger from the advanced find dialog in my advanced find hosted control.
Entity Blank!
url *, this means any entity / link.
Route Type Popup
Destination Tab
Action Show Outside
Target Tab / Show Tab Both need to be blank
Hide Navigation Bar No

Now when I select Advanced Find I get a pop-up containing the advanced find dialog. This works as it would normally in CRM. But when I select the results tab, if I open an account, contact or lead they open in USD. But if I select anything else a browser loads outside of USD containing my results.

This turned out to be a quick and useful addition to my USD interface.

3 thoughts on “USD – Advanced Find

  1. Hi,

    In my project, we have a CTI Call and I have to display screen with multiple contacts matching with the phone number that is passed from CTI. I was successful in displaying a contact using window navigation rule single match, but unable with multiple match. In case of multiple match I wanted to show a CRM page with list of matched contacts, for this what kind of Hosted Control and Action should I use.. Please help me..


    • I must admit I haven’t found a solution to this that I am 100% happy with! I have seen people develop custom hosted controls to handle the multiple search results. This will work as you can trigger them from the navigation rule you describe. But so far I haven’t found a totally elegant approach using only configuration. But I promise I will blog about it as soon as I find a good approach.


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

Leave a Reply

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

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s