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.

We open source.Loving SSW Rules? Star us on GitHub. Star