Do you use Slack? 

Probably; as of 2019, the popular instant message provider reported 10+ million daily active users in 150+ countries. It’s such a household name that the term itself is a commonly used verb (though it holds the exact opposite meaning of its traditional dictionary definition). 

As an increasing number of companies transition to either hybrid or remote offices, employee swarming is an emerging best practice for virtual workplace collaboration. Introducing chat messaging into enterprise search results presents a whole new type of content that needs to be considered carefully and displayed a little differently.

The stellar UX design team here at Coveo did some research and revealed some pretty fascinating results. Let’s discuss. 

Why Index Slack? 

There’s a wealth of valuable information nested in Slack channels, threads and messages. For example, here at Coveo we’ve generated over 500,000 messages just in the last 30 days (someone’s been working on the weekends!). 

In a customer service context, indexing an instant message platform allows for agent swarming to surface past insights that impact a current case (customer issue) or a product. Giving agents access to an advanced conversational search engine inside a company CRM (such as Salesforce) can help save time—and ultimately improve the overall customer experience.

In a workplace context, companies might want to upgrade their self-service portal by allowing their employees to browse HR updates or IT announcements posted within Slack. Others might want to help their employees get more context around some files or projects stored in company systems like project trackers or intranets—for example, a side discussion regarding a Google Slides presentation stored in Google Drive. 

While some companies may think that the more information you find in a search page, the better it is, that’s not quite true. There are many considerations regarding what content to index, and when it comes to Slack content, these considerations can be especially tricky. 

But first, what are the particularities of conversational search vs. conventional search?

Self-Contained vs Conversational Content

The promise of enterprise search is that you can search everything. This requires connectors to the data sources you want to index—such as Dropbox, Salesforce, YouTube, Jira, Google Drive, Twitter and many more—and a way to  display that content to the right person at the right time using powerful AI technologies.  

All these sources of informationhave something in common. Not their content, of course, but rather the fact that they are self-contained—in that each are relevant individually and can live by themselves in a search page. These types of search results don’t rely on each other to be relevant and useful. 

In other words, you don’t need a second YouTube video to understand another.  

On the other hand, conversational documents—and more specifically Slack messages—depend on each other because they are part of a conversation. To understand a message and its impact, you need to understand the context around it—where the message is from, who’s talking to whom, for which project, when was that said, etc. 

This represents some challenges for adding it to an enterprise search engine, which we’ll review in detail.

Challenges of Indexing Slack 

Why is Slack content different from other content, and why does this present such an interesting indexing challenge? Because we use Slack in many different ways. Here’s a breakdown of how Coveoans use Slack, and the search obstacles they represent. 

Identifying and Separating Informal and Formal Communication

While Slack users communicate about things that are mainly related to work, employees also like to socialize on Slack. Some channels help people organize happy hours and outside-of-the-office meetings. Others are full of memes and daily jokes. On the other hand, Slack communities are often full of customers reaching out for business needs or assistance. How do you separate the formal from the informal?

Direct messages (what most would refer to as private conversations) are often brimming with relevant content, but can also be chock-full of personal details. Is there a way to reliably “lock” private conversations and channels so they might only be visible to their owners? Also, not all public channels are good for search, our clients would need to manually define (out of hundreds) the channels to index or not. 


Another consideration is the graphic nature of Slack communication—that is, gifs and emojis. Since Slack is “based on emojis,” should we add them in search results? 

Project managers might confirm a decision by simply adding a “thumbs-up” to a comment. Some people’s replies are just a single GIF. Have you ever seen an animated picture in a search page? 

Also, let’s not forget that files and documents are often shared through Slack—so how do we present all this diversified content? Can we mix conversational documents with the rest? 

If a message is a link, a file, an automated message coming from another software, which search “result template” should we use? Slack is often the preferred tool for sharing files, links, screenshots and code blocks. If connected, it is possible to create Asana tasks, events with Calendar, create and join video meetings. Some make surveys and polls within team channels. For customer service, our product specialists monitor call-queues. Slack’s third party integrations allow for notification and announcement automation to track external dashboards, monitor product usage spikes and even support upsell efforts.

Quieting the Noise to a Dull Roar

For our purposes, everything sent in Slack—an automatic update generated by an integrated Jira system, a calendar notification in Slack, an image, GIF, PDF, or that ‘good morning slash where are the TPS reports’ message from your boss—is a single document. Remember, Slack messages are different from self-contained documents because they’re part of a conversation. 

Because content is live in Slack, those messages are coming fast and furious—thousands of messages every minute. How do you keep up? Every time a reaction/emoji is added to a message, it has to be re-indexed. And what do you do with out-of-date conversations and deactivated Slack users? 

Aside from that, with millions of messages comes lots of noise. Not all the content on Slack is equal. There are channels for industry news, favorite pets, video games, and company sales leaderboards—obviously, not everything is related to work. Besides that, it’s all unsorted content, and that’s before we get to messages that can’t stand alone—you know, the monosyllabic responses everyone knows and loves: OK, No, and Yes. 

We sometimes need more than one message to understand the conversation—but how many? 

Getting the User Experience Right

Slack is a hub—it integrates with more than 2,400 applications. Some channels are dedicated only to automated messages related to releases and deployment updates. Some users set reminders so they never forget about their daily Scrum, while others look for details embedded in employee profiles. The tool is also used to keep a record on project-related discussions. Slack can also be used for HR and IT requests via commands!   

How do you link all of these different types of messages to preserve context? What’s a good rule of thumb for including messages within a single search result? How can they be linked to the file or project they provide context to? How will the conversational search result act within the search interface—for example, can we nest different results together and allow users to expand the conversation, accordion style? 

Ready to Start a Conversation on Conversational Content?

If you read through all of the above and weren’t fazed by the challenges indexing Slack presents, welcome to the club! Evidently, Slack as a source of knowledge is a whole other ball game compared with conventional documentation, but it still contains a wealth of knowledge. 

Our customers know that, and are asking us to include Slack in their index of Enterprise Content for use in their various search use cases. So, we’ve been developing a connector that allows them to do just that, but that’s only half of the picture! Once conversations are indexed, how do we display them in a useful way?!

Salesforce made history when they bought Slack in 2020 for a record $27.7 billion dollars, and they have announced that they will  rebuild all their technology to become Slack-first. They know the value that lies in Slack content and interactions, so in our next piece, we’re going to talk about the best practices we’ve identified for leveraging Slack messages in enterprise search and recommendations.