コンテンツにスキップ

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 がアプリを作成し、後から編集できるようになります。

  1. api.slack.com/apps を開きます
  2. ページ下部のアプリ設定トークンのセクションまでスクロールします
  3. Slack ワークスペース用のトークンペアを生成します
  4. リフレッシュトークンをコピーします — xoxe- で始まります

ステップ 2: Control Center にアプリを作成させる

「ステップ 2: Control Center にアプリを作成させる」というセクション
  1. Control Center で、設定 → ワークスペース → 全般に移動し、チャットブリッジカードを見つけます
  2. Slack ブロックで、アプリを作ってもらうをクリックします
  3. アプリ設定トークンを貼り付けます
  4. ボットがどのように見えるかを確認します:
    • アプリ名: Slack がアプリを一覧表示するときの名前(例: Control Center · Acme)
    • ボット名: メンバーが @ の後に入力するもの(例: control-center)
    • 簡単な説明とボットの自己紹介
    • スラッシュコマンド: 既定では cc なので、コマンドは /cc になります
    • ダイレクトメッセージ: メンバーがボットに DM できるよう、オンのままにします
  5. アプリを作成をクリックします

Control Center はアプリ定義全体 — Socket Mode の有効化、ボットに必要なスコープとイベント購読、スラッシュコマンド、Messages タブ — を組み立て、Slack に作成します。

ステップ 3: Slack にしかできない 2 つの手順を完了する

「ステップ 3: Slack にしかできない 2 つの手順を完了する」というセクション

Slack には、アプリレベルトークンの生成やアプリのインストールを行う API がありません。そのためダイアログは、その両方をリンクとして提示します:

  1. アプリレベルトークンを生成 — Basic Information → App-Level Tokens を開きます。connections:write スコープを付けたトークンを作成してコピーします。xapp- で始まります
  2. アプリをインストール — Install App を開きます。ワークスペースにインストールし、次に Bot User OAuth Token をコピーします。xoxb- で始まります

次の手順のために、両方の値を手元に控えておきます。

  1. ダイアログに戻り、認証情報を貼り付けをクリックします
  2. ボットトークン(xoxb-…)とアプリレベルトークン(xapp-…)を入力します
  3. アプリ設定トークンは空のままにします — ステップ 1 のものはすでに保存されています(Slack がローテーションし、Control Center が新しいものを保存しました)
  4. 接続をクリックします

Control Center は、何かを保存する前に Slack でボットトークンを検証し、その後ソケットを開きます。行には、ボットの名前と Slack ワークスペースの名前が 稼働中 タグ付きで表示されます。

ステップ 5: 自分の Slack アカウントをリンクする

「ステップ 5: 自分の Slack アカウントをリンクする」というセクション

接続はボットを到達可能にしますが、リンクはあなたを識別可能にします。Slack のアイデンティティがリンクされるまで、ボットはあなたのメッセージには動きません — アプリをインストールした人物にメッセージを帰属させることは決してありません。

リンクは個人の操作なので、ワークスペース全体の接続とは別のページにあります。

  1. 設定 → ワークスペース → プロフィールと識別情報に移動し、連携済みチャットアカウントカードを見つけます
  2. 自分のSlackアカウントを連携をクリックします
  3. 表示されるコマンドをコピーします。たとえば /cc link K7M2QP です
  4. Slack で、そのコマンドを DM でボットに送信します
  5. ボットが「連携しました — あなたは …」と答えます

コードは単回使用で、15 分で失効します。Slack のメールアドレスが、すでにこのワークスペースのメンバーである Control Center ユーザーと一致する場合、ブリッジは初めて話しかけた時点で自動的にリンクするため、この手順は省略できます。

これを済ませる前にボットにメンションすると、ボットは拒否し、その理由を伝えます。3 つの拒否はそれぞれ異なるので、どれが返ってきたかを読み取ってください:

  • リンクされていない送信者: ボットがリンク方法を伝えます。この手順に戻ってください。
  • リンク済みだが、このワークスペースのメンバーではない: 管理者に招待を依頼してください。
  • 読み取り専用ロールのメンバー(viewer または guest): ボットはあなたの代理で作業を開始しません。
  1. Slack でボットをチャンネルに招待します: /invite @control-center

  2. 実際のリクエストでメンションします:

    @control-center api リポジトリのオープンな PR を要約してください

ブリッジは次のことを行います:

  1. その Slack スレッド用の Control Center スペースを、Slack チャンネルとあなたのリクエストにちなんだ名前で作成します
  2. ワークスペースの窓口となるエージェント(CEO エージェントがいればそれ、いなければ最初のエージェント)を起こします
  3. エージェントの回答を、書かれたそばから 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 インテグレーションを設定では、手作業の経路、トークンのローテーション、トラブルシューティングを扱います。その土台にあるモデルについては、チャットブリッジを読んでください。