Slack をワークスペースにブリッジする
作るもの
「作るもの」というセクションこのチュートリアルを終えると、次のものが揃っています:
- 自分のワークスペース用に作成された Slack アプリ。適切な権限とイベントはすでに設定済みです
- Slack と Control Center の間の稼働中の接続
- 自分の Control Center ユーザーにリンクされた、自分の Slack アカウント
- Slack スレッドであなたに応答するエージェントと、スラッシュコマンドから起票されたチケット
前提条件:
- 初めてのワークスペースと初めてのエージェントをディスパッチを完了していること — エージェントのいないワークスペースは Slack メッセージを受信できても、応答する相手がいません
- ワークスペースの CEO エージェントに、設定 → ワークスペース → エージェントでアダプターとモデルが設定されていること。ブリッジが起こすのは CEO であり、前のチュートリアルで設定したエージェントではありません。また、アダプターのないエージェントは、Anthropic のデフォルトモデルを使う組み込みループで実行されます。
- Control Center ワークスペースでの
ownerまたはadminロール(チャットアプリの接続はワークスペース全体を代表する操作です) - Slack ワークスペースでアプリを作成およびインストールする権限
ここでは公開アドレスもトンネルもインバウンドポートも必要ありません。Control Center は Socket Mode で Slack へ外向きに接続するため、NAT の背後にあるノートパソコンからでも動作します。
ステップ 1: Slack アプリの設定トークンを取得する
「ステップ 1: Slack アプリの設定トークンを取得する」というセクションこれは手作業で取得しなければならない唯一のシークレットです。これがあると、Control Center がアプリを作成し、後から編集できるようになります。
- api.slack.com/apps を開きます
- ページ下部のアプリ設定トークンのセクションまでスクロールします
- Slack ワークスペース用のトークンペアを生成します
- リフレッシュトークンをコピーします —
xoxe-で始まります
ステップ 2: Control Center にアプリを作成させる
「ステップ 2: Control Center にアプリを作成させる」というセクション- Control Center で、設定 → ワークスペース → 全般に移動し、チャットブリッジカードを見つけます
- Slack ブロックで、アプリを作ってもらうをクリックします
- アプリ設定トークンを貼り付けます
- ボットがどのように見えるかを確認します:
- アプリ名: Slack がアプリを一覧表示するときの名前(例:
Control Center · Acme) - ボット名: メンバーが
@の後に入力するもの(例:control-center) - 簡単な説明とボットの自己紹介
- スラッシュコマンド: 既定では
ccなので、コマンドは/ccになります - ダイレクトメッセージ: メンバーがボットに DM できるよう、オンのままにします
- アプリ名: Slack がアプリを一覧表示するときの名前(例:
- アプリを作成をクリックします
Control Center はアプリ定義全体 — Socket Mode の有効化、ボットに必要なスコープとイベント購読、スラッシュコマンド、Messages タブ — を組み立て、Slack に作成します。
ステップ 3: Slack にしかできない 2 つの手順を完了する
「ステップ 3: Slack にしかできない 2 つの手順を完了する」というセクションSlack には、アプリレベルトークンの生成やアプリのインストールを行う API がありません。そのためダイアログは、その両方をリンクとして提示します:
- アプリレベルトークンを生成 — Basic Information → App-Level Tokens を開きます。
connections:writeスコープを付けたトークンを作成してコピーします。xapp-で始まります - アプリをインストール — Install App を開きます。ワークスペースにインストールし、次に Bot User OAuth Token をコピーします。
xoxb-で始まります
次の手順のために、両方の値を手元に控えておきます。
ステップ 4: 接続する
「ステップ 4: 接続する」というセクション- ダイアログに戻り、認証情報を貼り付けをクリックします
- ボットトークン(
xoxb-…)とアプリレベルトークン(xapp-…)を入力します - アプリ設定トークンは空のままにします — ステップ 1 のものはすでに保存されています(Slack がローテーションし、Control Center が新しいものを保存しました)
- 接続をクリックします
Control Center は、何かを保存する前に Slack でボットトークンを検証し、その後ソケットを開きます。行には、ボットの名前と Slack ワークスペースの名前が 稼働中 タグ付きで表示されます。
ステップ 5: 自分の Slack アカウントをリンクする
「ステップ 5: 自分の Slack アカウントをリンクする」というセクション接続はボットを到達可能にしますが、リンクはあなたを識別可能にします。Slack のアイデンティティがリンクされるまで、ボットはあなたのメッセージには動きません — アプリをインストールした人物にメッセージを帰属させることは決してありません。
リンクは個人の操作なので、ワークスペース全体の接続とは別のページにあります。
- 設定 → ワークスペース → プロフィールと識別情報に移動し、連携済みチャットアカウントカードを見つけます
- 自分のSlackアカウントを連携をクリックします
- 表示されるコマンドをコピーします。たとえば
/cc link K7M2QPです - Slack で、そのコマンドを DM でボットに送信します
- ボットが「連携しました — あなたは …」と答えます
コードは単回使用で、15 分で失効します。Slack のメールアドレスが、すでにこのワークスペースのメンバーである Control Center ユーザーと一致する場合、ブリッジは初めて話しかけた時点で自動的にリンクするため、この手順は省略できます。
これを済ませる前にボットにメンションすると、ボットは拒否し、その理由を伝えます。3 つの拒否はそれぞれ異なるので、どれが返ってきたかを読み取ってください:
- リンクされていない送信者: ボットがリンク方法を伝えます。この手順に戻ってください。
- リンク済みだが、このワークスペースのメンバーではない: 管理者に招待を依頼してください。
- 読み取り専用ロールのメンバー(
viewerまたはguest): ボットはあなたの代理で作業を開始しません。
ステップ 6: エージェントに作業を任せる
「ステップ 6: エージェントに作業を任せる」というセクション-
Slack でボットをチャンネルに招待します:
/invite @control-center -
実際のリクエストでメンションします:
@control-center api リポジトリのオープンな PR を要約してください
ブリッジは次のことを行います:
- その Slack スレッド用の Control Center スペースを、Slack チャンネルとあなたのリクエストにちなんだ名前で作成します
- ワークスペースの窓口となるエージェント(CEO エージェントがいればそれ、いなければ最初のエージェント)を起こします
- エージェントの回答を、書かれたそばから Slack スレッドへストリーミングします
続けるには、同じ Slack スレッドで返信します — メンションはもう必要ありません。その Slack スレッドはすでにブリッジされているからです。チャンネルを使う代わりにボットへ DM してもかまいません。DM の会話はそれぞれ独自の Control Center スペースを駆動し、エージェントが作業している間はタイトルと「考え中…」というステータス行が表示されます。
ストリーミングには Slack のストリーミング API が必要ですが、すべてのプランにあるわけではありません。アプリがこれを拒否された場合、ブリッジはその接続では以後試行をやめ、代わりに各返信を 1 つのメッセージとして投稿します。その場合、チャットブリッジカードには「このSlackアプリではライブストリーミングがオフです — 返信は1つのメッセージとして届きます。」と表示されます。それ以外はすべて同じように動作します。
ステップ 7: Slack を離れずにチケットを起票する
「ステップ 7: Slack を離れずにチケットを起票する」というセクション/cc ticket Fix the flaky login test | It fails on CI about once a day.ボットは、起票したチケットのキーを返答します。そのチケットはごく普通のローカルの Control Center チケットで、報告者はあなたであり、エージェントに割り当てる準備ができています。/cc help を使うと、このコマンドでできることの一覧が表示されます。
Control Center から Slack アプリを作成し、外向きのソケットで接続し、Slack のアイデンティティを自分の Control Center ユーザーにリンクし、Slack スレッドからエージェントを動かしました。Slack で起きたことはすべて Control Center にも存在します。Slack スレッドはスペースであり、返信はトランスクリプトであり、チケットはチケットです。
次: Slack インテグレーションを設定では、手作業の経路、トークンのローテーション、トラブルシューティングを扱います。その土台にあるモデルについては、チャットブリッジを読んでください。