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 modal 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 as many sources as required in your Coveo organization to index the desired 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.

Note

Slack integration policies prevent Coveo for Slack from including the indexed content from your organization’s Slack source. This means that the Coveo for Slack search interface in Slack doesn’t return results for items indexed by your Slack source, such as Slack messages and files included in messages.

To make items indexed by your Slack source searchable to users, you must do so using a Coveo search interface that’s outside of the Slack application. For more information, see Add or Edit a Slack Source.

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 records 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.

EXAMPLES
  • 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 Slack workspace from which the event is performed.

  • The Origin 3 (Referrer) dimension corresponds to the Slack channel from which the event is performed.

  • The visitor id dimension corresponds to the user email associated to the Slack user that performed the event.

Note

When logging the Slack channel from which an event is performed, Coveo for Slack logs the channel name for public channels only.

To configure Coveo ML models for use with Coveo for Slack, create Automatic Relevance Tuning (ART), Query Suggestions (QS), and Content Recommendations (CR) 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.

    Tip

    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.

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 modal

/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

What's next for me?