メインコンテンツまでスキップ

Slack

AnyyはSocket ModeでSlackに接続します。動作するアカウントには、Web API/メッセージ操作用のボットトークンと、WebSocket接続用のアプリトークンの両方が必要です。

1. Slackアプリを準備する​

Slackのアプリ設定で次を行います。

  1. 対象ワークスペース用のアプリを作成します。
  2. Socket Modeを有効にします。
  3. Socket Modeスコープ付きのアプリレベルトークンを作成します。
  4. 選択した会話の読み取り、メッセージ送信、対応ファイルの取得に必要なボットスコープを追加します。
  5. ダイレクトメッセージとメンション付きグループ会話に必要なメッセージイベント購読を有効にします。
  6. スコープを変更したら、アプリをワークスペースにインストールまたは再インストールします。

DashboardにはSocket Mode、イベント購読、アプリトークンのスコープ、ボットトークンのスコープに関する外部側の前提条件が表示されます。アカウントを有効にする前に満たしてください。

2. Anyyに接続する​

Dashboard → Channel → Add → Slackを開き、既定のSocket Mode項目を使います。次を入力します。

  • ボットトークン(xoxb-…)。
  • アプリトークン(xapp-…)。
  • AnyyのアカウントID。

ダイレクトメッセージとグループのポリシーはCLIウィザードで設定します。Dashboardの認証情報フォームには表示されません。

CLIでの設定は次のとおりです。

anyy setup channel

アカウントを有効にするには両方のトークンが必要で、Profileのシークレット参照として保存されます。

3. ポリシーを選ぶ​

Slackの既定値はDMがpairing、グループがmentionです。DMポリシーはopen、allowlist、pairing、disabled、グループポリシーはmention、open、allowlist、disabledに対応します。

CLIウィザードでSlackを選んでポリシーを変更します。既存の許可リストはSlackのユーザー/チャンネルIDを使用しますが、現在の設定アクションではリスト項目を編集できません。新しいアカウントの設定ではペアリングを推奨します。共通のアクセス上の制限を参照してください。

4. 再読み込みしてテストする​

anyy channel reload
anyy channel doctor slack

アプリにDMを送るか、許可されたチャンネルでメンションします。DMのPairingを使う場合は、保留中の要求を承認します。

anyy channel pairing list --channel slack
anyy channel pairing approve --request REQUEST_ID

スレッドとファイル​

AnyyはSlackのスレッドタイムスタンプをチャンネルのルートに保持し、元のスレッド内に返信します。対応する受信ファイルはボット認証情報でダウンロードされ、サイズ確認後にスコープ付き添付ファイルとして配置されます。

Socket Modeには公開の受信Webhook URLは不要ですが、GatewayからSlackへの外向きネットワーク接続は必要です。

ボットスコープを変えたら再インストールする

Slackトークンのスコープは、インストールされたアプリへの許可で決まります。アプリ設定だけを変えても、再インストールするまでは現在のボットトークンが更新されない場合があります。

トラブルシューティング​

症状確認する項目
Socket接続ができないSocket Mode、xapp-トークン、そのスコープ、外部へのネットワーク接続
認証できるがメッセージが届かないイベント購読、ボットスコープ、アプリのインストール、チャンネルへの参加
投稿に失敗するxoxb-トークンと対象の会話への書き込みスコープ
DMが保留されるPairingを承認してから新しいメッセージを送信
ファイルを読めないファイルスコープ、非公開ダウンロードへのアクセス、アダプターのメディア制限

共通のアクセス許可管理については、メッセージングプラットフォームを参照してください。