Coveo is rapidly growing, and moving fast; it can be a challenge to keep track of newcomers or to know what our colleagues are now working on.
To help us overcome this challenge, we created an internal People page using Coveo, where we showed recent contributions someone made alongside their profile, making it quite a useful tool for new employees to learn about their new co-workers.
To access someone’s page, we have a handy internal search page, which behaves like your typical people search page. But, when clicking on someone’s name, we access their profile.
This profile shows a list of the employee’s recent contributions, team members, position in the organization chart, active projects, and the recent contributions from their team. The point of this page is to show their area of expertise within the company.
This profile - or People page - is still a Coveo Search page with the same great features like relevance or security. You won’t see secret projectsfrom other members here if you don’t have access to these projects yourself.
The Data
Our People page is fed from our own index. Naturally, the first step is to get the data into our index.
To do so, we are crawling our Active Directory with our own crawler, before sending the data to a Push API source we called Employees.
For each person, we get their basic information (name, email, etc.) and their reporting structure (their manager and their direct reports).
We also have multiple other sources in our index: Salesforce, Jira, Discourse, Google Drive, Internal Documentation, Public Documentation, etc. Most sources have their own fields describing who created what and who modified it.
To reduce complexity at query time, we normalize the fields using common field names for all sources to identify who worked on a document. We called those fields @authors
for document creators, and @contributors
for people who modified the document; the fields are set as multi-value fields on the Coveo platform.