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

Updated by Tiago Araújo [SSW] 2 years ago. See history

123

<introEmbed
  body={<>
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?WT.mc_id=M365-MVP-33518).

The beauty of this is that if everyone has updated their skills, it is wonderfully searchable.
  </>}
/>
<youtubeEmbed url="https://www.youtube.com/watch?v=fhnatho4nSg" description="" />


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'SharePoint People Search – Notice the Skills coming from UserProfile Service (aka UPS)',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/extending-ad-1.png"
/>


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'Mockup - Improved SharePoint People Search Results',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/mockup-extending-ad-3.jpg"
/>

SharePoint has an Admin UI to manage User Profiles.


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    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',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/extending-ad-2.png"
/>

[Delve](https://support.microsoft.com/en-us/office/what-is-delve-1315665a-c6af-4409-a28d-49f8916878ca) is a cool product with a nice UI that is essentially a portal onto the User Profiles.


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'Delve profile – Click on “Update Profile” to write data back to SharePoint User Profile Service',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/extending-ad-3.png"
/>

Where it all falls down...

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


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'People’s skills are often stored in Dynamics 365 CRM or Salesforce',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/extending-ad-4.png"
/>

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:


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'Powershell - Reading skills from UserProfile',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/extending-ad-5.png"
/>


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'Powershell - Adding “Blazor” to Jean’s skill list',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/extending-ad-6.png"
/>

OpenSearch is another solution, using the OpenSearch protocol you can [add external data sources to your SharePoint search results](https://docs.microsoft.com/en-us/sharepoint/search/understanding-result-sources-for-search?WT.mc_id=M365-MVP-33518).

<asideEmbed
  variant="greybox"
  body={<>
    
#### 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>


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'The SharePoint Search should let you add links like in this image',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/sharepointuxforpeopleandbookedindays.png"
/>

**[\#4 Help me search for user entities in Dynamics 365 CRM](https://experience.dynamics.com/ideas/idea/?ideaid=b5daa141-90f5-eb11-ba5e-0003ff457d0a)**

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


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'Searching User + Skill doesn’t yield any result although this skill is associated to the user',
    shouldDisplay: true
  }}
  src="/uploads/rules/search-employee-skills/extending-ad-7.png"
/>
  </>}
  figureEmbed={{
    preset: "default",
    figure: 'XXX',
    shouldDisplay: false
  }}
/>

Acknowledgements

Adam Cogan
Jean Thirion
Piers Sinclair
Related rules

Need help?

SSW Consulting has over 30 years of experience developing awesome software solutions.