機能連携

コンソールで Slack に接続する

エージェントの Slack タブでアプリをインストールし、チャンネルを接続する

エージェント詳細の Slack タブでアプリの状態を確認する。新規作成では名前・仕事内容・リリース・有効化の後に チャンネル接続 が表示され、同じ部品を使用する。接続は後からでもよい。

Slack タブは 設定 > ワークスペース > 連携 > Slack と同じセクション構成を使う。上部の Slack カードに接続状態・ボット ID・ホームチャンネル・DM を受け取るかどうかが並び、アプリをインストールするとその下に 接続済みチャンネル、基本 が続く。エージェント管理者には、その下に連携画面と同じ名前・順序の Slack アプリの作成(このエージェントのアプリを作るワークスペーストークンの状態)、Slack アプリに入れるアドレス(このエージェントのアプリのイベントのリクエスト URL)、自動で作った Slack アプリ(このエージェントのアプリ 1 行の表)と、最後に 危険な操作 が表示される。左のセクション一覧で選ぶとそのセクションへ移動する。狭い画面では一覧が本文の上のボタン 1 つに折りたたまれ、ボタンに現在のセクション名が表示される。開いてセクションを選ぶと一覧はまた折りたたまれる。

  1. エージェントを有効にし、Slack アプリを作成してインストールを選ぶ。ワークスペース管理者によるアプリ作成設定(App Configuration Token)が必要となる。設定がないか Slack が受け付けなくなった場合はボタンが無効になり、下に理由が表示される。オーナー・管理者にはワークスペースの Slack 設定へのリンクが、それ以外のエージェント管理者にはオーナーか管理者に依頼するよう案内が付く。
  2. Slack の同意画面でインストールする。コールバックが処理を終えると Slack タブに戻り、画面下部に結果の通知が出る。同意の拒否や期限切れの場合は失敗の通知が出るので、新しいインストールを開始する。使用済みリンクは自動再送しない。インストールリンクを作る前に、アプリを作成した Slack ユーザーのトークンで、Slack にアプリがまだあるかを確認する。Slack にアプリがない場合(Slack で削除されたなど)は、同意画面に進まずに理由を表示する。この場合は危険な操作でアプリを削除してからもう一度インストールすると、新しいアプリが作成される。現在の App Configuration Token が別の Slack ユーザーのものなら、確認せずにリンクを作り、Slack タブに前もって警告を出す。そのトークンではインストールに失敗することがあるので、元のユーザーのトークンを登録し直すか、新しいユーザーをアプリのコラボレーターに追加する。権限やイベント設定が変わったら、自動で作った Slack アプリ の表のアプリの行で再インストールを選ぶ。同じ行の ⋯ メニューには、Slack のアプリ設定ページを新しいタブで開く Slack で開く と 更新 がある。
  3. インストール後にホームチャンネルがなければ、Slack タブは ホームチャンネルの設定 の手順だけを表示する(管理者に見えるアプリのセクションと危険な操作はそのまま)。ホームチャンネルを選ぶでチャンネルを選ぶと、そのチャンネルが使用中かつホームとして保存され、ほかのセクションが表示される。非公開チャンネルには一覧に /invite の案内が付く。
  4. チャンネル セクションの チャンネルを追加で名前の先頭から検索し、接続を選ぶ。結果は画面下部の通知で出る。接続したチャンネルごとに このチャンネルで使用 と メンション時のみ応答 のスイッチがある。使用をオフにするとそのチャンネルでは応答せず、メンション時のみ応答をオフにするとメンションなしでチャンネルに書かれた投稿にも応答する。追加したチャンネルやエージェントを招待したチャンネルは使用オンで接続される。基本の 新しいチャンネルの既定の応答 スイッチは新しいチャンネルがメンション時のみ応答するかを決め、切り替えるとすぐサーバーに保存される。接続済みのチャンネルは変わらない。初期値はオン(メンション時のみ)である。DM を受け取るは DM の接続設定を別に保存する。
  5. オフにしたチャンネルを使用に戻すと、メンション時のみ応答する状態に戻る。保存に失敗するとエラーを表示し、保存済み設定を維持する。ホームに設定でホームチャンネルを変更する。

公開チャンネルは応答をオンにして接続するか、後で応答をオンにするとサーバーがボットを参加させる。応答がオフのチャンネルには参加しない。非公開チャンネルにはボットが自分で参加できないため、/invite で招待する。ボットがまだいない非公開チャンネルには /invite が必要 タグとコピーボタンが付き、押すと /invite @<エージェントの slug> をクリップボードにコピーする。ブラウザーがクリップボードを拒否した場合は、コマンドを選択した欄が出るので手動でコピーする。検索には公開チャンネルと参加済みの非公開チャンネルが含まれる。もっと見るで次のページを取得する。Slack の制限による古い結果や一覧の上限は画面で案内する。

危険な操作の Slack の接続を解除 の行で 接続解除 を選ぶと、エージェントの Slack ID とチャンネル接続を失効させる。Slack アプリは残り、再インストールできる。Slack アプリを削除 の行の アプリを削除 は Slack アプリと保存済み認証情報を削除する。元に戻せず、もう一度接続すると新しいアプリが作られる。どちらも影響を説明する確認画面を表示する。

セクション一覧のリンクで Enter を押すとそのセクションにフォーカスが移る。スイッチへの移動は Tab、切り替えは Space を使う。結果とエラーは支援技術にも通知する。

イベント登録が終わらない場合、コールバックに確認が必要な旨を表示する。Slack アプリに入れるアドレス の イベントのリクエスト URL の行は、Slack がアドレスを確認したか(確認済み・確認待ち・登録に失敗・まだ送っていない)を示し、再確認でアドレスを Slack にもう一度送る。アドレスを送ったのに Slack がまだ確認していない場合は、Slack カードの下に案内と Slack アプリ設定の Event Subscriptions 画面へのリンクが出る。アドレスを送る前はこの案内を出さない。実際の Slack メンションと接続解除後のイベント処理は別途人による確認が必要となる。

エージェント一覧のすべてタブでは、Slack タブが人に対応を求めているエージェントのカードと表の行にだけ Slack の対応が必要: <理由> のリンクが付く。リンクはそのエージェントの Slack タブを開く。理由は 1 つだけで、Slack タブが最初に示すものになる。インストール前はアプリのインストール待ち、ボットの接続解除やアプリの削除の後は再インストールが必要と表示する。インストール済みなら次の順で最初に当てはまるもの: イベント URL の確認待ち(送った後)、ホームチャンネルの設定が必要、イベント URL の登録に失敗。アプリがないか設定が済んだエージェントにはリンクが付かない。API では GET /v1/agents?include=summary の summary.slack_action である。管理しているエージェントタブの一覧には要約がないため、リンクも付かない。

オーナー・管理者のホームには、そうしたエージェントがあるときだけはじめにの上にいまやることが表示される。各行に Slack: <理由>、エージェント名、それによって起きていることが並び、右のボタンでそのエージェントの Slack タブを開く。ボタン名はそのタブでやること(アプリをインストール、アプリを再インストール、イベント URL を確認、イベント URL を再確認、ホームチャンネルを選ぶ)になる。表示は 3 件までで、それより多いと**すべて表示(N 件)**からエージェント一覧へ移動する。ホームは一覧の最初の 100 件だけを読むため、エージェントがそれより多いと件数に「以上」が付く。その 100 件より後のエージェントだけが対応を必要とする場合、いまやることは表示されない。

設定 > ワークスペース > 連携 > Slackの自動で作った Slack アプリの節には、このコンソールが作った Slack アプリが表で並ぶ。アカウント連携アプリが先、その後にエージェントのアプリがエージェント名の順に続く。各行にアプリ名と Slack アプリ ID、エージェント、状態、更新日時がある。状態は接続済み(アカウント連携アプリは client secret が保存され Sign in with Slack を使えるとき、エージェントのアプリはボット @slug がインストール済みのとき)、未インストール、シークレットなし(client secret がないアカウント連携アプリ)、作成中、削除中である。詳細はそのエージェントの Slack タブを開く。この節は表示だけで、エージェントのアプリのインストール・接続解除・削除はそのエージェントの Slack タブで行う。アカウント連携アプリを削除・再作成する画面はまだない。手動で作ったアプリと、作成に失敗したアプリや削除したアプリは表示しない。オーナー・管理者だけが閲覧でき、API は GET /v1/workspaces/{id}/slack/apps である。狭い画面ではエージェントと更新日時がアプリの欄の下の行に折りたたまれる。