Dynamics CRM 2015: Cross-Entity Searching

Search in scrabble pieces

With the release of CRM 2015 (codenamed Vega) I've decided to look into some of the new features and write a few articles to share what my experience of them has been.

In this first post I'll cover the highly requested cross-entity searching feature.

In previous versions of Microsoft Dynamics CRM we could search for records in two ways. The first was through Advanced Find. This tool enabled us to build basic to complex queries which we would then run and be able to view the resulting records in a sub-grid or 'view'. This is a very powerful tool indeed but it was time consuming to launch in a new window and select the fields we required to search.

The other method of finding a record was to use the quick find search tool. This was great as we could quickly search for records without having to launch the tool in a new browser window but it did have the limitation of only searching for records of the entity type you were viewing. What we wanted was to be able to quickly search across multiple entities.

Now with the release of CRM 2015 we can quickly search for records of various entity types.

You'll notice that there is a search field in the top right hand corner of the navigation bar which is always visible within the application.

cross entity search CRM 2015

Typing in this box and hitting the Enter key will cause the main window to display a search results page which lists your search results categorised by each entity type. You can see from the screenshot below that searching for "*Datum" returns one Account and two Contact records.

This is because the Account has the string "Datum" in the name and the Contact records are associated to an Account with "Datum" in the name.

Clicking on these records will open them in the main window.

As a nice extra you also have the option to click the '+' icon next to each of the Entity names. This will launch the quick create form that specific entity. And the primary field of that form will be automatically populated with your search string.

Now that I've used the basic features of this search function I wanted to dig a little deeper and see if it's flexible enough to cover custom entities. So, I created one in the Marketing section called "Survey". Each Survey will have a Contact record associated to it which will be the person who takes the survey. On the Survey I haven't enabled quick creation so I would expect not to see the '+' symbol next to the entity name.

I've created a Survey record with an ID of 12345 and linked it to Susan Burke so what happens when I search for "*Datum" again? I would expect to see the same results as before the survey is linked to the Contact rather than the account. Sure enough, the same results are returned.

But what if I search for "*Susan" surely my survey record will be returned along with some Contact records. Unfortunately not, my results only contain some Contact records and a Lead record.

Dynamics CRM 2015 search

And what if I search for "12345". This being in the primary field of my survey record you would expect some results to be returned. Again, the results are disappointing as no records are returned.

I thought it unlikely that Microsoft would release such a highly requested feature and leave out the inclusion of custom entities. Then a fellow CRM consultant pointed me in the direction of the following System Setting:

Screenshot of setting system-level settings for Dynamics CRM

And there it is! By browsing to the General tab of System Settings (Settings > Administration > System Settings) I find that the "Select entities for search on CRM for tablets" has been renamed to "Select entities for search" and this is where I can choose which record types to include in my search results.

So, let's click the Select button, select our custom entity (Survey) and click Add to add it to the selected entities column.

selected entities CRM

Save and Close the changes and click OK to exit System Settings.

Now what happens if I search for "12345" using the search box? The search results return our Survey!

And what about searching for the name of the Contact Record associated to the Survey, "Susan Burk (sample)"?

Only the Contact record is returned. This is as expected as I haven't added the Contact field of our Survey entity to the Find Columns of the entity's Quick Find View.

After adding this field and publishing my customizations I can search for the Contact name (Susan Burk (sample)) and my Survey record should be included in the search results.

In conclusion, the new cross-entity search functionality introduced in the CRM 2015 update works great for quickly finding records across both out-of-the-box and custom entities with very little configuration required.