SlackのEnterprise SearchをOrganziationにインストールする手順をまとめる

SlackのEnterprise SearchをOrganziationにインストールする手順をまとめる

2026.05.14

こんばんは、情報システム部の夏目です。

業務でSlackのEnterprise Searchについて調べたり作ったりしていた中で、インストール手順で少し手間取ったので、やり方を共有します。

https://slack.com/intl/ja-jp/features/enterprise-search

https://slack.com/intl/ja-jp/blog/news/slack-enterprise-search-uncover-knowledge-work-smarter

Enterprise Gridプラン以上で使える機能で、Slack外に対してもSlackの検索窓で検索可能になる機能です。

Google DriveやGithubなどに接続するための公式コネクタの他に、Slack Appで実装するカスタムコネクタがあります。

今回苦労したのはカスタムコネクタをどうやってインストールするのかという部分でした。

何が問題だったの?

大きく分けると2点。

  1. manifest.jsonで設定しようとしたらデッドロックした
  2. そもそもOrganization側も含めてどういう手順でインストールして有効化したらいいのかわからない

manifest.jsonで設定しようとしたらデッドロックした

Enterprise SearchはBoltフレームワークで動かすことが前提であり、今回AWS LambdaとLambda URL Functionsで実装していました。
Enterprise Searchの設定はmanifestで行う必要があるのでmanifest.jsonで設定しようとしました。

BoltフレームワークではBot用のOAuth Tokenが必要になるが、Slack Appを作りOrganizationやWorkspaceにインストールするまでわからない。

Slack Appを作ろうにも、エンドポイントとなるURLが必要だがAWSにデプロイしないとわからない。

一度に設定しようとすると完全にデッドロックしてしまいました。

こちらは設定を2段に分けて適用することで、デッドロック回避できました。

そもそもOrganization側も含めてどういう手順でインストールして有効化したらいいのかわからない

Enterprise SearchはOrganizationレベルでのインストールになるので、必ず管理者による作業が必要になります。

こちらについては調べるだけではどうにもならなかったので実際に動かして、整理しました。

インストールと有効化の手順

手順においては UserAdmin の二つにわけてどちらでの表示なのか操作なのかを整理します。

前提条件

今回はSlack Developer Programで作成したサンドボックス環境で実際にインストールしていきます。

https://api.slack.com/developer-program

https://docs.slack.dev/tools/developer-sandboxes/

いくつか制限がありますが、全てのエンタープライズプランに含まれる機能が無料で使えます。

また、Enterprise環境なのでSSOが必須です。
管理者ユーザーと一般ユーザーの二つで作業を進めていきたいのでSimpleIdPというSlack Appでユーザー追加を行いました。

https://docs.slack.dev/enterprise/testing-enterprise-org-apps/#simple-idp

https://docs.slack.dev/enterprise/testing-enterprise-org-apps/#simple-idp

また今回のブログでは、Enterprise Searchのインストール手順なので、前提となる環境構築の手順や Boltフレームワークを使った実装については触れません

手順 01. [User] 最小の内容しかもたない manifest.jsonを用意

一度に完全なmanifest.jsonを設定できないので二度に分けた初回です。

{
  "_metadata": {
    "major_version": 2,
    "minor_version": 1
  },
  "display_information": {
    "name": "TrialEnterpriseSearch",
    "description": "Trial Enterprise Search App",
    "background_color": "#2c2d30"
  },
  "settings": {
    "org_deploy_enabled": true,
    "socket_mode_enabled": false,
    "token_rotation_enabled": false,
    "function_runtime": "remote"
  },
  "features": {
    "bot_user": {
      "display_name": "TrialEnterpriseSearch",
      "always_online": true
    }
  },
  "oauth_config": {
    "scopes": {
      "bot": [
        "team:read",
        "users:read",
        "users:read.email"
      ]
    }
  }
}

Enterprise SearchはOrganizationレベルでインストールする必要があるので settings.org_deploy_enabled をtrueにしています。

Bot用のOAuth Tokenも必要なので oauth_config.scopes.bot にいくつかスコープを書いています。
ここは実装する際に必要な権限を書いてください。

手順 02. [User] Slack Appを作成

https://api.slack.com/apps

こちらにアクセスします。

8dd84412-e961-4e4c-96a5-57f157560ced

Create an App をクリックします。

fee81e5f-f52d-4f94-9402-26078f0f4da0

From a manifest をクリックします。

44da4d38-e382-406f-9346-3a5024bd601a

インストールするワークスペースを選択し、 Next をクリックします。

4cca7079-c790-4e05-94a3-3d55084f2bd4

手順 01 で作成した manifest.jsonをここに貼り付けて、 Next をクリックします。

1d002af0-ee9b-4b42-a7a3-1e1ee0b13e9a

Create をクリックします。

3f0f02db-853f-4209-9ccc-9270609b43ef

Slack Appの作成ができました。

手順 03. [User] Organizationにインストールするための申請を出す

Features -> OAuth & Permissins -> OAuth Tokens を見ます。

ccdacb25-fc35-40d1-84c5-1d06ded43dfa

Request to Org Install をクリックします。

a4428b43-c71a-4d8c-9f0b-ae01d2b00966

管理者宛の申請のメッセージを書いて、 リクエストを送信する をクリックします。

4c0f0860-2221-419d-a21b-eece3e4d152a

Request to Org Install Submitted と灰色の非活性したボタンがあります。

7d0d9d6f-3d21-440b-ac10-b2b8f8daf969

Slackの画面にも通知が来ています。

手順 04. [Admin] 申請を承認する

管理者のユーザーのSlack画面に申請の通知が来ます。

b1dbdfa1-f6df-42f8-abda-78ab5592e21b

申請のメッセージも来てますね。

確認して OrG に対して承認する をクリックして承認します。

Organizationの管理コンソールで承認する場合

Slackの画面だけではなく、Organizationの管理コンソールからも承認できます。

インテグレーション -> リクエスト を開きます。

a2cab6cd-2305-4638-a44c-f4f0cf6cfd46

リクエストが来ていることがわかります。

リクエストした人の名前をクリックすると、申請メッセージを表示することができます。

2cb76a87-252c-471b-8e5c-a4cfabdd2794

名前の横の三点リーダーをクリックして、 承認 をクリックしても承認できます。

手順 05. [User] OrganizationとWorkspaceにインストールする

承認されるとSlackの画面に通知が来ます。

c295e55c-78f1-4be7-9c72-dc8bcbb0d885

Slack Appの Features -> OAuth & Permissions -> OAuth Tokensを開きます。

40f583d2-fa9b-4190-9605-fcaf41d99feb

ボタンが変わっています。

Install to organization {Organization名} をクリックします。

156cb027-1e01-4232-876d-704b5207505a

許可する をクリックします。

b4dd0098-502e-4983-a87c-73cc600e7379

Reinstall to organization {Organization名} というボタンがあり、Bot用のOAuth Tokenがあることからもインストールできたことがわかります。

Workspaceにもインストールしたいので Install to {Workspace名} をクリックします。

0840cc27-5fbc-4ba9-936c-046ec1e8a757

許可する をクリックします。

5b26a88d-1851-47ec-b661-03ec75f8b893

今回は何故かボタンに変化がありません。

しかし、ワークスペースにインストールされているので安心してください。

手順 06. [User] AWSにデプロイする

次の二つの値を確認し、AWSにLambdaをデプロイします。

  1. Features -> OAuth & Permissions -> OAuth Tokens にあるBot User OAuth Token
  2. Settings -> Basic Infomation -> App Credentials -> Signing Secret

314eb7a8-d701-4af8-ab21-430eae152ad1

a30c1786-2857-4067-b1c9-982a864257cf

AWSにデプロイしてエンドポイントのURLを取得します。

手順 07. [User] manifestを更新する

{
  "_metadata": {
    "major_version": 2,
    "minor_version": 1
  },
  "display_information": {
    "name": "TrialEnterpriseSearch",
    "description": "Trial Enterprise Search App",
    "background_color": "#2c2d30"
  },
  "settings": {
    "org_deploy_enabled": true,
    "event_subscriptions": {
      "request_url": "https://setv3ioo4t5c6i4v4wj3euvj740jhwgk.lambda-url.ap-northeast-0.on.aws/",
      "bot_events": [
        "function_executed"
      ]
    },
    "socket_mode_enabled": false,
    "token_rotation_enabled": false,
    "function_runtime": "remote"
  },
  "features": {
    "bot_user": {
      "display_name": "TrialEnterpriseSearch",
      "always_online": true
    },
    "search": {
      "search_function_callback_id": "search"
    }
  },
  "oauth_config": {
    "scopes": {
      "bot": [
        "team:read",
        "users:read",
        "users:read.email"
      ]
    }
  },
  "functions": {
    "search": {
      "title": "TrialEnterpriseSearch",
      "description": "Returns search results for the given query from internal data sources",
      "input_parameters": {
        "properties": {
          "query": {
            "type": "string",
            "title": "Query",
            "description": "The search query string"
          },
          "user_context": {
            "type": "slack#/types/user_context",
            "title": "User Context",
            "description": "Context of the user performing the search"
          }
        },
        "required": ["query", "user_context"]
      },
      "output_parameters": {
        "properties": {
          "search_results": {
            "type": "slack#/types/search_results",
            "title": "Search Results",
            "description": "The search results returned by the app"
          }
        },
        "required": ["search_results"]
      }
    }
  }
}

手順 06 で作成したエンドポイントを settings.event_subscriptions.request_url に記載し、 その他Enterprise Searchに必要な設定を行います。

詳しいことはドキュメントを参照してください。

手順 08. [User] manifestを反映する

Slack Appの画面で Features -> App Manifest を開きます。

4e029b7f-555b-4a86-8027-88df7d19aad4

手順 07 で作成した manifest.json を貼り付けて、 save changes をクリックします。

9695b0d9-7c53-4fca-b969-baf7dda96a82

URLのVerifyを求められるので Click here to verify をクリックします。

Verifyに成功すればユーザー側の準備は終了です。

手順 09. [Admin] Enterprise Searchを有効にする

Enterprise Searchはインストールするだけでは使えません。
管理者側でユーザーに対して有効化する必要があります。

74a76bb2-19ea-4d3e-88a8-ad468165976f

Organizationの管理コンソールで 設定 -> エンタープライズ検索 を開きます。

2f9b005d-76a0-44fb-a452-5738d8b7af52

公式コネクタの下に追加したものがあります (TrialEnterpriseSearch)。

右の 設定する をクリックします。

2cf0f630-8f9c-4238-be78-0c9818046659

現在 該当するメンバーなし になっています。

右の 編集 (二つあるうち上の方)をクリックします。

6d22dc94-02c5-47bc-9c0e-5583636093f0

管理者はここで有効化するユーザーを選択できます。

今回は 全員 にします。

AI検索も有効にします (実はよくわかってない)。

保存する をクリックします。

715b289e-e1cf-46ac-8773-05729ebd482b

アクセスを許可する をクリックします。

de78336b-e62f-4617-93a1-f91111f00367

これで使用可能になりました。

使ってみる

6cef927b-6200-4506-b74c-a243c1f88127

Slackの画面の検索窓に TrialEnterpriseSearch があり、検索できていることがわかります。

まとめ

以上、インストールと有効化手順でした。

正直この結論に至るまでかなりの時間を使ってしまいました。

何かのお役に立てれば幸いです。

この記事をシェアする

関連記事