Secret ingredients to quality software

SSW Foursquare

Do you know how to search employee skills? (Extending AD vs SharePoint vs Dynamics 365 CRM)

Last updated by Tiago Araújo [SSW] on 24 Mar 2022 09:55 am (2 months ago) See History

AD has all your users e.g. Bob, Mary, Jane...

SharePoint also has all your users, plus you can extend this information using the UserProfile Service – https://docs.microsoft.com/en-us/sharepoint/manage-user-profiles

The beauty of this is that if everyone has updated their skills, it is wonderfully searchable.

extending ad 1
Figure: SharePoint People Search – Notice the Skills coming from UserProfile Service (aka UPS)

mockup extending ad 3
Figure: Mockup - Improved SharePoint People Search Results

SharePoint has an Admin UI to manage User Profiles

extending ad 2
Figure: User Profile UI in your SharePoint Admin Centre – generally this is not needed the Delve out of the box experience works for your organisation

Delve is a cool product with a nice UI that is essentially a portal onto the User Profiles.

extending ad 3
Figure: Delve profile – Click on “Update Profile” to write data back to SharePoint User Profile Service

Where it all falls down...

What if your people’s skills are stored in another system such as Dynamics 365 CRM or Salesforce ?

extending ad 4
Figure: People’s skills are often stored in Dynamics 365 CRM or Salesforce

You can use PowerShell and SharePoint PNP libraries to programmatically interact with the SharePoint UserProfile service. This process allows you to sync skills across systems with a custom solution:

extending ad 5
Figure: Powershell - Reading skills from UserProfile

extending ad 6
Figure: Powershell - Adding “Blazor” to Jean’s skill list

OpenSearch is another solution, using the OpenSearch protocol you can add external data sources to your SharePoint search results

Suggestions to Microsoft:

#1 Help me better sync my Dynamics 365 CRM data with the SharePoint user profile service

This should be a simple SharePoint connector so this piece of PowerShell glue is not required 👌
E.g. CRM user skills to User Profile properties

#2 Help me make Dynamics 365 CRM data searchable from SharePoint search

If not using a connector, we should be able to easily index and search through Dynamics 365 CRM data. This is essentially just calling a different API.

#3 Help me customise SharePoint search results

If you don’t want either of those options (i.e. you users’ skills are stored somewhere else), we should be able to change the search results UI.
E.g. Search for people here: https://ssw.com.au/people

sharepointuxforpeopleandbookedindays
Figure: The SharePoint Search should let you add links like in this image

#4 Help me search for user entities in Dynamics 365 CRM

There should be a global user search that goes across all entities in Dynamics 365 CRM.

extending ad 7
Figure: Searching User + Skill doesn’t yield any result although this skill is associated to the user

Adam CoganAdam Cogan
Jean ThirionJean Thirion
Piers SinclairPiers Sinclair

We open source. Powered by GitHub