Install and Configure Coveo for Slack

To make the indexed content of your Coveo organization available to your company employees directly in Slack via a Coveo-powered search interface, a Slack workspace owner or administrator with access to your Coveo organization must integrate Coveo for Slack with your Slack workspace and Coveo organization.

To integrate Coveo for Slack with your Slack workspace, you must:

Configure Your Coveo Organization

The Coveo for Slack app is a Coveo search interface panel that’s integrated with your Slack workspace. The Coveo organization to which your Coveo for Slack app is connected to, however, is what powers Coveo’s AI-driven search engine to provide workspace members with access to relevant content from your organizations’s unified index.

To ensure an optimal search experience with Coveo for Slack, your Coveo organization should include the following minimal configuration:

Index Content and User Access

Coveo retrieves the content from all sources that are configured in your Coveo organization and stores the content in a unified index. Coveo for Slack uses this unified index to give Slack workspace members access to external content from multiple company sources.

You can configure sources in your Coveo organization to index the desired content, including your Slack workspace content. If the source content is secured in its original repository, and your source is configured to replicate the repository permission system, Coveo retrieves the corresponding permissions when indexing the items. Coveo for Slack authenticates every Slack user against the permission models associated with each source in your Coveo organization to ensure that results are returned only for users with appropriate access.

Tip

The best way to enforce content security is to replicate the repository permission system in your source. However, if you still have content that you don’t want to include in search results, you can use query pipeline filters to further define the scope of the search results displayed to your users.

Configure Your Query Pipeline

All queries sent to your Coveo organization must be routed to a query pipeline before they reach the index.

You can configure query pipelines in your Coveo organization to optimize and filter search queries that originate from the Coveo for Slack search interface to return results based on specific rules and conditions.

To route queries from Coveo for Slack to a query pipeline, you must associate the query pipeline with a Search hub is slackApplication condition. This ensures that all queries that originate from Coveo for Slack are routed to the query pipeline and any rules defined therein are applied to the query. To learn more about condition-based routing leading practices, see Condition-Based Routing (Recommended).

To configure your query pipeline for use with Coveo for Slack

  1. On the Query Pipelines (platform-eu | platform-au) page of the Coveo Administration Console, do one of the following:

    • If you want to use an existing pipeline, click the pipeline, and then click Edit components in the Action bar.

    • Create a new query pipeline.

  2. In the Overview tab of an existing query pipeline, or the Configuration tab if you’re creating a new query pipeline, Create a new condition to enforce a Search hub is slackApplication condition for the pipeline. This routes all queries that originate from Coveo for Slack to this pipeline.

    Note

    If your pipeline already has a condition, you must create a new condition and include both values with an OR operator.

    For example, an existing pipeline has the following condition: Search Hub is Portal_MyWidget. To link Coveo for Slack to this pipeline, you create a new condition with the value Search Hub is Portal_MyWidget or Search Hub is slackApplication. With this condition, your pipeline is used for all queries that originate from either your widget or Coveo for Slack.

  3. Configure your query pipeline rules, such as search terms, result rankings, filters, and query parameters based on your requirements. For details on the available query pipeline rules, see What’s a Query Pipeline?.

  4. Configure Coveo Machine Learning (Coveo ML) models for your query pipeline.

Configure Coveo ML Models

You can configure Coveo Machine Learning (Coveo ML) models that leverage usage analytics data to deliver AI-powered relevant content and recommendations to your Coveo for Slack users.

As users interact with the Coveo search interface in Slack, Coveo for Slack automatically collects and sends search usage analytics (UA) events to your Coveo organization’s UA database. Each event contains metadata that’s associated with a specific UA dimension, depending on the data.

Some of the more pertinent dimensions for Coveo for Slack are the following:

  • The Origin 1 (Page/Hub) dimension corresponds to the search hub from which the event is performed, which in the case of Coveo for Slack is always slackApplication.

  • The Origin 2 (Tab) dimension corresponds to the ID of the Slack workspace from which the event is performed.

    Note

    Slack assigns every workspace a unique ID, which is referred to as a Team ID. Typically, the Coveo for Slack app is installed in only one workspace, which means the workspace ID is always the same for each UA event.

    To find the ID of a particular Slack workspace, access the Slack workspace via a web browser. The workspace ID appears with a T prefix in the URL. For example, the workspace ID in the URL https://app.slack.com/client/T123AB45C6D/C78EF9GHIJK is T123AB45C6D.

  • The Origin 3 (Referrer) dimension corresponds to the Slack channel from which the event is performed. The name of the Slack channel is logged as a dimension value only when the channel is public. If the channel isn’t public, instead of logging the channel name, private is logged for a private channel and dm is logged for a direct message.

  • The Visitor ID dimension corresponds to the user email associated to the Slack user that performed the event.

To configure Coveo ML models for use with Coveo for Slack, create Automatic Relevance Tuning (ART), Query Suggestions (QS), Content Recommendations (CR), and Smart Snippets models, and assign them to a Coveo for Slack query pipeline.

Note

Coveo ML leverages the metadata collected from all search hubs in your Coveo organization. If you’ve configured Automatic Relevance Tuning (ART) or Content Recommendations (CR) models for other search hubs, you can assign the models to your Coveo for Slack query pipeline.

  1. Create an Automatic Relevance Tuning (ART) model, and associate it with your Coveo for Slack query pipeline.

  2. Create a Query Suggestions (QS) model, and associate it with your Coveo for Slack query pipeline.

  3. Create a Content Recommendations (CR) model, and associate it with your Coveo for Slack query pipeline.

    Note

    The current release of the Coveo for Slack search interface doesn’t support the deployment of a dedicated recommendation interface to display Content Recommendations (CR) results. CR results simply appear as part of regular search results. However, if you want CR results to appear separate from query results, Coveo recommends that you create a dedicated query pipeline for this purpose, and then associate the CR model with the pipeline using a unique condition.

    For example, you can assign the CR model with the Query is empty condition. This ensures that only CR recommendations appear in the search interface when a user opens the Coveo for Slack search interface without performing a query.

  4. Create a Smart Snippets model, and associate it with your Coveo for Slack query pipeline.

    Note

    The Coveo for Slack search interface supports Smart Snippets by default. Therefore, there’s no need to configure components in the Coveo for Slack search interface to render the model’s output.

    If the Smart Snippets model is properly configured and the similarity score threshold the model establishes is high enough, the Coveo for Slack search interface automatically displays the snippet at the top of the result list using preconfigured styling. The Coveo for Slack search interface doesn’t support displaying a snippet as a related question. For more information, see How Coveo ML Smart Snippets Work.

Install the Coveo for Slack App

A Slack workspace owner or administrator can install the Coveo for Slack app in one or more Slack workspaces. The Coveo for Slack app gives workspace members access to a Coveo-powered search interface, which is connected to the indexed content of your Coveo organization, directly in Slack.

Important

To prevent unauthorized removal of the Coveo for Slack app from a workspace, we recommend appointing only owners and administrators as app managers for the workspace.

  1. Access the appropriate Coveo for Slack app based on your Coveo organization’s deployment region (non-HIPAA) or HIPAA environment:

    Deployment region/environment Domain Coveo for Slack app

    US East (non-HIPAA)

    platform.cloud.coveo.com

    Get the app

    Ireland (non-HIPAA)

    platform-eu.cloud.coveo.com

    Get the app

    Australia (non-HIPAA)

    platform-au.cloud.coveo.com

    Get the app

    HIPAA

    platformhipaa.cloud.coveo.com

    Get the app

    Note

    See the Coveo Privacy Policy to review Coveo’s data privacy practices.

  2. On the app page, ensure that the Slack workspace in which you want to install the Coveo for Slack app is selected in the workspace list on the page header.

  3. Click Add to Slack.

  4. On the app permission page, click Allow.

  5. Once the Coveo for Slack app is successfully installed in your Slack workspace, connect the app to your Coveo organization.

Note

When a new version of the Coveo for Slack app is released, your installed Coveo for Slack app is automatically updated to the latest version and the connection to your Coveo organization is maintained.

Connect Coveo for Slack to a Coveo Organization

A Slack workspace owner or administrator must connect the Coveo for Slack app to a Coveo organization for workspace members to retrieve the organization’s indexed content when using the Coveo search interface in Slack. If the Coveo for Slack app is installed on multiple workspaces, and you have more than one Coveo organization, each Coveo for Slack app can be connected to a different Coveo organization.

Note

Connecting to a Coveo organization requires the login credentials of a Coveo-organization member that’s assigned to a group with the Execute queries search service privilege.

  1. Access the Slack workspace in which the Coveo for Slack app is installed using a Slack workspace owner or administrator account, and then do one of the following:

    • If you’re connecting the Coveo for Slack app to a Coveo organization during the app installation process, click the Connect to Coveo button that appears after installation.

    • If the Connect to Coveo button isn’t currently visible on your Slack interface, enter the command /connect-coveo in the Slack message field, send the command, and then click Connect to Coveo.

      Coveo for Slack connect
  2. Log in to Coveo using the identity provider credentials associated with a member of the Coveo organization to which you want to connect.

  3. In the Grant Access screen, select the Coveo organization that you want to connect to the Coveo for Slack app.

  4. Click Authorize.

  5. Once the connection with your Coveo organization is successful, click Get back to Slack.

Tip

Click the Coveo AI Search and Recommendations app in the App section of your Slack interface to see the currently connected Coveo organization.

Disconnect or Switch the Coveo Organization

A Slack workspace owner or administrator can disconnect the Coveo for Slack app in a workspace from the Coveo organization, or switch to a different organization. This can be useful, for example, when switching from a trial organization used for testing purposes to a production organization.

Notes
  • To use the Coveo search interface in a Slack workspace, the Coveo for Slack app must be connected to a Coveo organization.

  • To switch the Coveo organization, the Slack workspace owner or administrator must also have access to the login credentials of a member of the Coveo organizaton.

  1. Access the Slack workspace in which the Coveo for Slack app is installed using a Slack workspace owner or administrator account.

  2. Enter the command /disconnect-coveo in the Slack message field, and then send the command.

    Coveo for Slack disconnect
  3. Do one of the following:

    • Click Disconnect from current org, and then click Disconnect org in the confirmation dialog.

    • Click Switch org, and then:

      1. Log in to Coveo using the identity provider credentials associated with a member of the Coveo organization to which you want to connect.

      2. In the Grant Access screen, select the Coveo organization that you want to connect to the Coveo for Slack app.

      3. Click Authorize.

      4. Once the connection with your Coveo organization is successful, click Get back to Slack.

Coveo for Slack Commands

The following table lists the custom Coveo for Slack slash commands available in Slack.

Action Command Required Slack role

Open the Coveo search interface panel

/search-coveo

Workspace owners, administrators, and members

Perform a search query using a command

/search-coveo <query>

Workspace owners, administrators, and members

Connect to a Coveo organization

/connect-coveo

Workspace owners and administrators only

Disconnect or switch the Coveo organization

/disconnect-coveo

Workspace owners and administrators only

Get a list of Coveo for Slack slash commands

/help-coveo

Workspace owners, administrators, and members