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 ….
- Create a hosted control to hold the advanced find.
- Create an action
- Create a toolbar button
- 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.
J
Filed under: USD - Configuration Tagged: crm2016, Microsoft Dynamics CRM, Unified Service Desk, USD

Like
Report
*This post is locked for comments